Main Page | Namespace List | Class Hierarchy | Class List | File List | Class Members | File Members

singlee_nicePlots.cpp File Reference

#include <vector.h>
#include <map>

Include dependency graph for singlee_nicePlots.cpp:

Go to the source code of this file.

Functions

void loadPresentationStyle ()
std::vector< Float_t > rgaufit (TH1F *h, int iter)
void singlee_nicePlots ()
float effRMS (TH1F *h)


Function Documentation

float effRMS TH1F *  h  ) 
 

Definition at line 474 of file singlee_nicePlots.cpp.

References effRMS().

Referenced by effRMS(), and singlee_nicePlots().

00474                      {
00475 
00476         int nbin = h->GetNbinsX();
00477 
00478         int nevent = h->GetEntries();
00479 
00480         int integral = h->Integral();
00481 
00482         int maxBin = h->GetMaximumBin();
00483         int leftBin = maxBin, rightBin = maxBin;
00484         --leftBin;
00485         ++rightBin;
00486 
00487         float sum = h->GetBinContent(maxBin);
00488 
00489         float add = 0;
00490         int last = 0;
00491 
00492         //  cout << nbin << " | " << maxBin << " | " << sum << " | " << integral << " | " << h->GetBinContent(leftBin) << " | " <<
00493         //  h->GetBinContent(rightBin) << endl;
00494 
00495         while (sum < 0.6827*integral) {
00496                 if (h->GetBinContent(leftBin) > h->GetBinContent(rightBin)) 
00497                 {
00498                         add = h->GetBinContent(leftBin);
00499                         --leftBin; 
00500                         last = 1;
00501                 } else {
00502                         add = h->GetBinContent(rightBin);
00503                         ++rightBin;
00504                         last = 2;
00505                 }
00506                 sum = sum + add;
00507         }
00508 
00509         // if (integral != 0) cout << (float) sum/integral*100. << " | ";
00510 
00511         if (last = 0) return -999.;
00512         if (last == 1) ++leftBin;
00513         if (last == 2) --rightBin;
00514 
00515         float effRMS = (h->GetBinCenter(rightBin) - h->GetBinCenter(leftBin))/2.;
00516         return effRMS;
00517 
00518 }

void loadPresentationStyle  ) 
 

Definition at line 8 of file singlee_nicePlots.cpp.

Referenced by singlee_nicePlots().

00009 {
00010         gROOT->SetStyle("Plain");
00011         gStyle->SetOptTitle(0);
00012         gStyle->SetPadTickX(1);
00013         gStyle->SetPadTickY(1);
00014 }

std::vector<Float_t> rgaufit TH1F *  h,
int  iter
 

Definition at line 16 of file singlee_nicePlots.cpp.

00017 {
00018         h->Fit("gaus","q");
00019         float m;
00020         float s;
00021         TF1 *f;
00022         for (int i=0; i<iter; i++) {
00023                 f = (TF1*)h->GetFunction("gaus");
00024                 m = f->GetParameter(1);
00025                 s = f->GetParameter(2);
00026                 h->Fit("gaus","qr","",m-1.15*s,m+3.*s);
00027                 //printf("%d %f\n",i,h->GetFunction("gaus")->GetParameter(2));
00028         }
00029         //printf("%f\n",h->GetFunction("gaus")->GetParameter(2));
00030         f = (TF1*)h->GetFunction("gaus");
00031         std::vector<Float_t> par;
00032         for (int i=0; i<f->GetNumberFreeParameters(); i++) par.push_back(f->GetParameter(i));
00033         for (int i=0; i<f->GetNumberFreeParameters(); i++) par.push_back(f->GetParError(i));
00034         return par;
00035 }

void singlee_nicePlots  ) 
 

Definition at line 37 of file singlee_nicePlots.cpp.

References effRMS(), and loadPresentationStyle().

00038 {
00039         loadPresentationStyle();
00040 
00041         // output figures: file type suffix
00042         char suffix[] = "eps";
00043         // output figures: directory
00044         char outDir[] = "Figs";
00045 
00046         // temp variables
00047         char str[128];
00048 
00049         TFile *finResolutions = new TFile("histosFrame.root");
00050         TNtuple *ntuple = (TNtuple *) finResolutions->Get("ntu");
00051 
00052         vector<TH1F *> histosE, histosP, histosComb;
00053         //float start = 5., stop = 50., step = 3;
00054         float start = 5., stop = 100., step = 5;
00055         float upper = (int)(stop-start)/step;
00056         char stmp[10];
00057         for (int ih = 0; ih < upper; ih++){
00058                 sprintf(stmp,"hE%d",ih);
00059                 histosE.push_back(new TH1F(stmp, stmp, 2000, -2., 2.));
00060                 sprintf(stmp,"hP%d",ih);
00061                 histosP.push_back(new TH1F(stmp, stmp, 2000, -2., 2.));
00062                 sprintf(stmp,"hComb%d",ih);
00063                 histosComb.push_back(new TH1F(stmp, stmp, 2000, -2., 2.));        
00064         }
00065 
00066 
00067         float iev ,ie, ne, ETrue, Euncorr, E, p, comb, etaTrue;
00068 
00069         ntuple->SetBranchAddress("iev",&iev);
00070         ntuple->SetBranchAddress("ne",&ne);
00071         ntuple->SetBranchAddress("ie",&ie);
00072         ntuple->SetBranchAddress("ETrue",&ETrue);
00073         ntuple->SetBranchAddress("Euncorr",&Euncorr);
00074         ntuple->SetBranchAddress("E",&E);
00075         ntuple->SetBranchAddress("p",&p);
00076         ntuple->SetBranchAddress("comb",&comb);
00077         ntuple->SetBranchAddress("etaTrue",&etaTrue);
00078 
00079         for (int i = 0; i < ntuple->GetEntries(); i++) {
00080                 ntuple->GetEntry(i);
00081 
00082                 if (fabs(etaTrue) > 1.460 || ETrue > stop) continue;
00083 
00084                 int idh = (int)(ETrue-start)/step;
00085                 Axis_t eRat = (E - ETrue)/ETrue;
00086                 Axis_t pRat = (p - ETrue)/ETrue;
00087                 Axis_t combRat = (comb-ETrue)/ETrue;
00088                 histosE[idh]->Fill(eRat);
00089                 histosP[idh]->Fill(pRat); 
00090                 histosComb[idh]->Fill(combRat);
00091         }
00092 
00093         // TCanvas *proba = new TCanvas("proba","proba");
00094         // proba->Divide(5,5);
00095 
00096         TGraph *gEffRMSE = new TGraph();
00097         TGraph *gEffRMSP = new TGraph();
00098         TGraph *gEffRMSComb = new TGraph();              
00099 
00100         for (int ih = 0; ih < upper; ih++){
00101                 // proba->cd(ih);
00102                 // histosComb[0]->Draw();
00103                 float effRMSE = effRMS(histosE[ih]);
00104                 float effRMSP = effRMS(histosP[ih]);
00105                 float effRMSComb = effRMS(histosComb[ih]);
00106                 cout << ih <<  " | " << effRMSE << " | " << effRMSP << " | " << effRMSComb << endl;
00107                 gEffRMSE->SetPoint(ih,start+ih*step+step/2.,effRMSE);
00108                 gEffRMSP->SetPoint(ih,start+ih*step+step/2.,effRMSP);
00109                 gEffRMSComb->SetPoint(ih,start+ih*step+step/2.,effRMSComb);
00110 
00111         } 
00112 
00113         TMultiGraph *mg = new TMultiGraph();
00114         TCanvas *cRes = new TCanvas("cEffRMS","cEffRMS");
00115         cRes->cd();
00116         //gEffRMSE->Draw("AP");
00117         mg->Add(gEffRMSE);
00118         gEffRMSE->SetMarkerStyle(20);
00119         gEffRMSE->SetMarkerColor(2);
00120         gEffRMSE->SetMarkerSize(.75);
00121 
00122         //gEffRMSP->Draw("P");
00123         mg->Add(gEffRMSP);
00124         gEffRMSP->SetMarkerStyle(20);
00125         gEffRMSP->SetMarkerColor(3);
00126         gEffRMSP->SetMarkerSize(.75);    
00127 
00128         //gEffRMSComb->Draw("P");
00129         mg->Add(gEffRMSComb);
00130         gEffRMSComb->SetMarkerStyle(20);
00131         gEffRMSComb->SetMarkerColor(4);
00132         gEffRMSComb->SetMarkerSize(.75);
00133 
00134         mg->Draw("AP");
00135         mg->GetXaxis()->SetTitle("E [GeV]");
00136         mg->GetYaxis()->SetTitle("eff RMS");
00137         gPad->Modified();
00138         gPad->Update();
00139         sprintf(str,"%s/effRMS.%s",outDir,suffix);
00140         gPad->Print(str);
00141 
00142         // HLT electrons and classes
00143         TFile *finElectronHLTClass = new TFile("histosFrame.root");
00144 
00145         // eta distribution for electron classes - all electrons
00146         TH1F *hElectronHLTEta = (TH1F*)finElectronHLTClass->Get("hElectronHLTEta");
00147         TH1F *hElectronEta = (TH1F*)finElectronHLTClass->Get("hElectronEta");
00148         TH1F *hElectronHLTEtaClass[9];
00149         hElectronHLTEtaClass[0] = (TH1F*)finElectronHLTClass->Get("hElectronHLTEtaClass0");
00150         hElectronHLTEtaClass[1] = (TH1F*)finElectronHLTClass->Get("hElectronHLTEtaClass1");
00151         hElectronHLTEtaClass[2] = (TH1F*)finElectronHLTClass->Get("hElectronHLTEtaClass2");
00152         hElectronHLTEtaClass[3] = (TH1F*)finElectronHLTClass->Get("hElectronHLTEtaClass3");
00153         hElectronHLTEtaClass[4] = (TH1F*)finElectronHLTClass->Get("hElectronHLTEtaClass4");
00154         hElectronHLTEtaClass[5] = (TH1F*)finElectronHLTClass->Get("hElectronHLTEtaClass10");
00155         hElectronHLTEtaClass[6] = (TH1F*)finElectronHLTClass->Get("hElectronHLTEtaClass11");
00156         hElectronHLTEtaClass[7] = (TH1F*)finElectronHLTClass->Get("hElectronHLTEtaClass12");
00157         hElectronHLTEtaClass[8] = (TH1F*)finElectronHLTClass->Get("hElectronHLTEtaClass13");
00158         TH1F *hElectronEtaClass[9];
00159         hElectronEtaClass[0] = (TH1F*)finElectronHLTClass->Get("hElectronEtaClass0");
00160         hElectronEtaClass[1] = (TH1F*)finElectronHLTClass->Get("hElectronEtaClass1");
00161         hElectronEtaClass[2] = (TH1F*)finElectronHLTClass->Get("hElectronEtaClass2");
00162         hElectronEtaClass[3] = (TH1F*)finElectronHLTClass->Get("hElectronEtaClass3");
00163         hElectronEtaClass[4] = (TH1F*)finElectronHLTClass->Get("hElectronEtaClass4");
00164         hElectronEtaClass[5] = (TH1F*)finElectronHLTClass->Get("hElectronEtaClass10");
00165         hElectronEtaClass[6] = (TH1F*)finElectronHLTClass->Get("hElectronEtaClass11");
00166         hElectronEtaClass[7] = (TH1F*)finElectronHLTClass->Get("hElectronEtaClass12");
00167         hElectronEtaClass[8] = (TH1F*)finElectronHLTClass->Get("hElectronEtaClass13");
00168         cout << hElectronEtaClass[0]->GetEntries() << endl;
00169 
00170         char className[5][64];
00171         sprintf(className[0],"golden");
00172         sprintf(className[1],"big brem");
00173         sprintf(className[2],"narrow");
00174         sprintf(className[3],"showering");
00175         sprintf(className[4],"cracks");
00176 
00177         int hColors[5] = { 3, 4, 6, 7, 2 };
00178 
00179         TLegend *legClass = new TLegend(.125,.62,.35,.885,"","NDC");
00180         legClass->SetFillColor(0);
00181         legClass->SetBorderSize(1);
00182         TLegend *legHLTClass = new TLegend(.625,.625,.85,.89,"","NDC");
00183         legHLTClass->SetFillColor(0);
00184         legHLTClass->SetBorderSize(1);
00185 
00186         THStack *hsElectronHLTEtaClass = new THStack("hsElectronHLTEtaClass","hsElectronHLTEtaClass");
00187         THStack *hsElectronEtaClass = new THStack("hsElectronEtaClass","hsElectronEtaClass");
00188         for (int ih=0; ih<9; ih++) {
00189                 if (ih==4) continue;
00190                 for (int ibin=0; ibin<hElectronHLTEta->GetNbinsX(); ibin++) {
00191                         if (hElectronHLTEta->GetBinContent(ibin+1)==0) continue;
00192                         if (hElectronEtaClass[ih]->GetBinContent(ibin+1)!=0) 
00193                                 hElectronHLTEtaClass[ih]->SetBinContent( ibin+1, 
00194                                                 //hElectronHLTEtaClass[ih]->GetBinContent(ibin+1)/hElectronHLTEta->GetBinContent(ibin+1);
00195                                                 hElectronHLTEtaClass[ih]->GetBinContent(ibin+1)/hElectronEtaClass[ih]->GetBinContent(ibin+1));
00196                         hsElectronHLTEtaClass->Add(hElectronHLTEtaClass[ih]);
00197                         hElectronHLTEtaClass[ih]->SetLineColor( hColors[ih%5] );
00198                                 hElectronEtaClass[ih]->SetBinContent( ibin+1, 
00199                                                 //hElectronHLTEtaClass[ih]->GetBinContent(ibin+1)/hElectronHLTEta->GetBinContent(ibin+1);
00200                                                 hElectronEtaClass[ih]->GetBinContent(ibin+1)/hElectronEta->GetBinContent(ibin+1));
00201                         hsElectronEtaClass->Add(hElectronEtaClass[ih]);
00202                         hElectronEtaClass[ih]->SetLineColor( hColors[ih%5] );
00203                 }
00204                 if (ih<5) {
00205                         sprintf(str,"%s",className[ih]);
00206                         legClass->AddEntry(hElectronHLTEtaClass[ih],str,"l");
00207                         legHLTClass->AddEntry(hElectronHLTEtaClass[ih],str,"l");
00208                 }
00209         }
00210         hsElectronHLTEtaClass->Draw("nostack");
00211         hsElectronHLTEtaClass->SetMaximum(1.2);
00212         hsElectronHLTEtaClass->GetXaxis()->SetTitle("#eta");
00213         hsElectronHLTEtaClass->GetYaxis()->SetTitle("fraction of HLT electrons");
00214         hsElectronHLTEtaClass->Draw("nostack");
00215         legHLTClass->Draw();
00216         sprintf(str,"%s/electronHLTEtaClass.%s",outDir,suffix);
00217         gPad->Print(str);
00218         hsElectronEtaClass->Draw("nostack");
00219         hsElectronEtaClass->SetMaximum(1.2);
00220         hsElectronEtaClass->GetXaxis()->SetRangeUser(0,2.5);
00221         hsElectronEtaClass->GetXaxis()->SetTitle("#eta");
00222         hsElectronEtaClass->GetYaxis()->SetTitle("fraction of electrons");
00223         hsElectronEtaClass->Draw("nostack");
00224         legClass->Draw();
00225         sprintf(str,"%s/electronEtaClass.%s",outDir,suffix);
00226         gPad->Print(str);
00227 
00228 
00229         // HLT electrons and classes -- Pt function
00230         TFile *finElectronHLTPtClass = new TFile("histosFrame.root");
00231 
00232         // eta distribution for electron classes - all electrons
00233         TH1F *hElectronHLTPt = (TH1F*)finElectronHLTPtClass->Get("hElectronHLTPt");
00234         TH1F *hElectronHLTPtClass[9];
00235         hElectronHLTPtClass[0] = (TH1F*)finElectronHLTPtClass->Get("hElectronHLTPtClass0");
00236         hElectronHLTPtClass[1] = (TH1F*)finElectronHLTPtClass->Get("hElectronHLTPtClass1");
00237         hElectronHLTPtClass[2] = (TH1F*)finElectronHLTPtClass->Get("hElectronHLTPtClass2");
00238         hElectronHLTPtClass[3] = (TH1F*)finElectronHLTPtClass->Get("hElectronHLTPtClass3");
00239         hElectronHLTPtClass[4] = (TH1F*)finElectronHLTPtClass->Get("hElectronHLTPtClass4");
00240         hElectronHLTPtClass[5] = (TH1F*)finElectronHLTPtClass->Get("hElectronHLTPtClass10");
00241         hElectronHLTPtClass[6] = (TH1F*)finElectronHLTPtClass->Get("hElectronHLTPtClass11");
00242         hElectronHLTPtClass[7] = (TH1F*)finElectronHLTPtClass->Get("hElectronHLTPtClass12");
00243         hElectronHLTPtClass[8] = (TH1F*)finElectronHLTPtClass->Get("hElectronHLTPtClass13");
00244         TH1F *hElectronPtClass[9];
00245         hElectronPtClass[0] = (TH1F*)finElectronHLTPtClass->Get("hElectronPtClass0");
00246         hElectronPtClass[1] = (TH1F*)finElectronHLTPtClass->Get("hElectronPtClass1");
00247         hElectronPtClass[2] = (TH1F*)finElectronHLTPtClass->Get("hElectronPtClass2");
00248         hElectronPtClass[3] = (TH1F*)finElectronHLTPtClass->Get("hElectronPtClass3");
00249         hElectronPtClass[4] = (TH1F*)finElectronHLTPtClass->Get("hElectronPtClass4");
00250         hElectronPtClass[5] = (TH1F*)finElectronHLTPtClass->Get("hElectronPtClass10");
00251         hElectronPtClass[6] = (TH1F*)finElectronHLTPtClass->Get("hElectronPtClass11");
00252         hElectronPtClass[7] = (TH1F*)finElectronHLTPtClass->Get("hElectronPtClass12");
00253         hElectronPtClass[8] = (TH1F*)finElectronHLTPtClass->Get("hElectronPtClass13");
00254         cout << hElectronPtClass[0]->GetEntries() << endl;
00255 
00256         char className[5][64];
00257         sprintf(className[0],"golden");
00258         sprintf(className[1],"big brem");
00259         sprintf(className[2],"narrow");
00260         sprintf(className[3],"showering");
00261         sprintf(className[4],"cracks");
00262 
00263         int hColors[5] = { 3, 4, 6, 7, 2 };
00264 
00265         TLegend *legClass = new TLegend(.625,.225,.85,.49,"","NDC");
00266         legClass->SetFillColor(0);
00267         legClass->SetBorderSize(1);
00268 
00269         THStack *hsElectronHLTPtClass = new THStack("hsElectronHLTPtClass","hsElectronHLTPtClass");
00270         for (int ih=0; ih<4; ih++) {
00271                 for (int ibin=0; ibin<hElectronHLTPt->GetNbinsX(); ibin++) {
00272                         if (hElectronHLTPt->GetBinContent(ibin+1)==0) continue;
00273                         if (hElectronPtClass[ih]->GetBinContent(ibin+1)!=0 || hElectronPtClass[5+ih]->GetBinContent(ibin+1)!=0) 
00274                                 hElectronHLTPtClass[ih]->SetBinContent( ibin+1, 
00275                                                 //hElectronHLTEtaClass[ih]->GetBinContent(ibin+1)/hElectronHLTEta->GetBinContent(ibin+1);
00276                                                 (hElectronHLTPtClass[ih]->GetBinContent(ibin+1) + hElectronHLTPtClass[5+ih]->GetBinContent(ibin+1))
00277                                                 / ( hElectronPtClass[ih]->GetBinContent(ibin+1) + hElectronPtClass[5+ih]->GetBinContent(ibin+1)));
00278                         hsElectronHLTPtClass->Add(hElectronHLTPtClass[ih]);
00279                         hElectronHLTPtClass[ih]->SetLineColor( hColors[ih%5] );
00280                         hElectronHLTPtClass[ih]->SetMarkerColor( hColors[ih%5] );
00281                         hElectronHLTPtClass[ih]->SetMarkerStyle( 20 );
00282                         hElectronHLTPtClass[ih]->SetMarkerSize( .75 );
00283                 }
00284                 if (ih<5) {
00285                         sprintf(str,"%s",className[ih]);
00286                         legClass->AddEntry(hElectronHLTPtClass[ih],str,"l");
00287                 }
00288         }
00289         hsElectronHLTPtClass->Draw("nostack");
00290         hsElectronHLTPtClass->SetMaximum(1.2);
00291         hsElectronHLTPtClass->GetXaxis()->SetTitle("p_{T}");
00292         hsElectronHLTPtClass->GetYaxis()->SetTitle("fraction of HLT electrons");
00293         hsElectronHLTPtClass->Draw("nostack");
00294         legClass->Draw();
00295         sprintf(str,"%s/electronHLTPtClass.%s",outDir,suffix);
00296         gPad->Print(str);
00297 
00298         // E,p,comb/Etrue vs E/p
00299         gStyle->SetPalette(1);
00300         gStyle->SetOptStat(0);
00301         TFile *finElectronEP = new TFile("histosFrame.root");
00302         TH1F *h2ElectronEOverEtrueEPClass[9];
00303         h2ElectronEOverEtrueEPClass[0] = (TH1F*)finElectronEP->Get("h2ElectronEOverEtrueEPClass0");
00304         h2ElectronEOverEtrueEPClass[1] = (TH1F*)finElectronEP->Get("h2ElectronEOverEtrueEPClass1");
00305         h2ElectronEOverEtrueEPClass[2] = (TH1F*)finElectronEP->Get("h2ElectronEOverEtrueEPClass2");
00306         h2ElectronEOverEtrueEPClass[3] = (TH1F*)finElectronEP->Get("h2ElectronEOverEtrueEPClass3");
00307         h2ElectronEOverEtrueEPClass[4] = (TH1F*)finElectronEP->Get("h2ElectronEOverEtrueEPClass4");
00308         h2ElectronEOverEtrueEPClass[5] = (TH1F*)finElectronEP->Get("h2ElectronEOverEtrueEPClass10");
00309         h2ElectronEOverEtrueEPClass[6] = (TH1F*)finElectronEP->Get("h2ElectronEOverEtrueEPClass11");
00310         h2ElectronEOverEtrueEPClass[7] = (TH1F*)finElectronEP->Get("h2ElectronEOverEtrueEPClass12");
00311         h2ElectronEOverEtrueEPClass[8] = (TH1F*)finElectronEP->Get("h2ElectronEOverEtrueEPClass13");
00312         TH1F *h2ElectronPOverEtrueEPClass[9];
00313         h2ElectronPOverEtrueEPClass[0] = (TH1F*)finElectronEP->Get("h2ElectronPOverEtrueEPClass0");
00314         h2ElectronPOverEtrueEPClass[1] = (TH1F*)finElectronEP->Get("h2ElectronPOverEtrueEPClass1");
00315         h2ElectronPOverEtrueEPClass[2] = (TH1F*)finElectronEP->Get("h2ElectronPOverEtrueEPClass2");
00316         h2ElectronPOverEtrueEPClass[3] = (TH1F*)finElectronEP->Get("h2ElectronPOverEtrueEPClass3");
00317         h2ElectronPOverEtrueEPClass[4] = (TH1F*)finElectronEP->Get("h2ElectronPOverEtrueEPClass4");
00318         h2ElectronPOverEtrueEPClass[5] = (TH1F*)finElectronEP->Get("h2ElectronPOverEtrueEPClass10");
00319         h2ElectronPOverEtrueEPClass[6] = (TH1F*)finElectronEP->Get("h2ElectronPOverEtrueEPClass11");
00320         h2ElectronPOverEtrueEPClass[7] = (TH1F*)finElectronEP->Get("h2ElectronPOverEtrueEPClass12");
00321         h2ElectronPOverEtrueEPClass[8] = (TH1F*)finElectronEP->Get("h2ElectronPOverEtrueEPClass13");
00322         TH1F *h2ElectronCombOverEtrueEPClass[9];
00323         h2ElectronCombOverEtrueEPClass[0] = (TH1F*)finElectronEP->Get("h2ElectronCombOverEtrueEPClass0");
00324         h2ElectronCombOverEtrueEPClass[1] = (TH1F*)finElectronEP->Get("h2ElectronCombOverEtrueEPClass1");
00325         h2ElectronCombOverEtrueEPClass[2] = (TH1F*)finElectronEP->Get("h2ElectronCombOverEtrueEPClass2");
00326         h2ElectronCombOverEtrueEPClass[3] = (TH1F*)finElectronEP->Get("h2ElectronCombOverEtrueEPClass3");
00327         h2ElectronCombOverEtrueEPClass[4] = (TH1F*)finElectronEP->Get("h2ElectronCombOverEtrueEPClass4");
00328         h2ElectronCombOverEtrueEPClass[5] = (TH1F*)finElectronEP->Get("h2ElectronCombOverEtrueEPClass10");
00329         h2ElectronCombOverEtrueEPClass[6] = (TH1F*)finElectronEP->Get("h2ElectronCombOverEtrueEPClass11");
00330         h2ElectronCombOverEtrueEPClass[7] = (TH1F*)finElectronEP->Get("h2ElectronCombOverEtrueEPClass12");
00331         h2ElectronCombOverEtrueEPClass[8] = (TH1F*)finElectronEP->Get("h2ElectronCombOverEtrueEPClass13");
00332         
00333         // barrel
00334         h2ElectronEOverEtrueEPClass[0]->Add(h2ElectronEOverEtrueEPClass[1]);
00335         h2ElectronEOverEtrueEPClass[0]->Draw("colz");
00336         gPad->SetRightMargin(0.15);
00337         h2ElectronEOverEtrueEPClass[0]->GetXaxis()->SetTitle("E_{calo}/p_{tk}");
00338         h2ElectronEOverEtrueEPClass[0]->GetYaxis()->SetTitle("E_{calo}/E_{kine}");
00339         sprintf(str,"%s/EOverEtrue_vs_EOverP_EB_golden.%s",outDir,suffix);
00340         gPad->Print(str);
00341         h2ElectronEOverEtrueEPClass[1]->Add(h2ElectronEOverEtrueEPClass[1]);
00342         h2ElectronEOverEtrueEPClass[1]->Draw("colz");
00343         gPad->SetRightMargin(0.15);
00344         h2ElectronEOverEtrueEPClass[1]->GetXaxis()->SetTitle("E_{calo}/p_{tk}");
00345         h2ElectronEOverEtrueEPClass[1]->GetYaxis()->SetTitle("E_{calo}/E_{kine}");
00346         sprintf(str,"%s/EOverEtrue_vs_EOverP_EB_bigBrem.%s",outDir,suffix);
00347         gPad->Print(str);
00348         h2ElectronEOverEtrueEPClass[2]->Add(h2ElectronEOverEtrueEPClass[1]);
00349         h2ElectronEOverEtrueEPClass[2]->Draw("colz");
00350         gPad->SetRightMargin(0.15);
00351         h2ElectronEOverEtrueEPClass[2]->GetXaxis()->SetTitle("E_{calo}/p_{tk}");
00352         h2ElectronEOverEtrueEPClass[2]->GetYaxis()->SetTitle("E_{calo}/E_{kine}");
00353         sprintf(str,"%s/EOverEtrue_vs_EOverP_EB_narrow.%s",outDir,suffix);
00354         gPad->Print(str);
00355         h2ElectronEOverEtrueEPClass[3]->Add(h2ElectronEOverEtrueEPClass[1]);
00356         h2ElectronEOverEtrueEPClass[3]->Draw("colz");
00357         gPad->SetRightMargin(0.15);
00358         h2ElectronEOverEtrueEPClass[3]->GetXaxis()->SetTitle("E_{calo}/p_{tk}");
00359         h2ElectronEOverEtrueEPClass[3]->GetYaxis()->SetTitle("E_{calo}/E_{kine}");
00360         sprintf(str,"%s/EOverEtrue_vs_EOverP_EB_showering.%s",outDir,suffix);
00361         gPad->Print(str);
00362         //
00363         h2ElectronEOverEtrueEPClass[0]->Add(h2ElectronEOverEtrueEPClass[1]);
00364         h2ElectronEOverEtrueEPClass[0]->Add(h2ElectronEOverEtrueEPClass[2]);
00365         h2ElectronEOverEtrueEPClass[0]->Add(h2ElectronEOverEtrueEPClass[3]);
00366         h2ElectronEOverEtrueEPClass[0]->Draw("colz");
00367         gPad->SetRightMargin(0.15);
00368         h2ElectronEOverEtrueEPClass[0]->GetXaxis()->SetTitle("E_{calo}/p_{tk}");
00369         h2ElectronEOverEtrueEPClass[0]->GetYaxis()->SetTitle("E_{calo}/E_{kine}");
00370         sprintf(str,"%s/EOverEtrue_vs_EOverP_EB.%s",outDir,suffix);
00371         gPad->Print(str);
00372         h2ElectronPOverEtrueEPClass[0]->Add(h2ElectronPOverEtrueEPClass[1]);
00373         h2ElectronPOverEtrueEPClass[0]->Add(h2ElectronPOverEtrueEPClass[2]);
00374         h2ElectronPOverEtrueEPClass[0]->Add(h2ElectronPOverEtrueEPClass[3]);
00375         h2ElectronPOverEtrueEPClass[0]->Draw("colz");
00376         gPad->SetRightMargin(0.15);
00377         h2ElectronPOverEtrueEPClass[0]->GetXaxis()->SetTitle("E_{calo}/p_{tk}");
00378         h2ElectronPOverEtrueEPClass[0]->GetYaxis()->SetTitle("E_{calo}/E_{kine}");
00379         sprintf(str,"%s/POverEtrue_vs_EOverP_EB.%s",outDir,suffix);
00380         gPad->Print(str);
00381         h2ElectronCombOverEtrueEPClass[0]->Add(h2ElectronCombOverEtrueEPClass[1]);
00382         h2ElectronCombOverEtrueEPClass[0]->Add(h2ElectronCombOverEtrueEPClass[2]);
00383         h2ElectronCombOverEtrueEPClass[0]->Add(h2ElectronCombOverEtrueEPClass[3]);
00384         h2ElectronCombOverEtrueEPClass[0]->Draw("colz");
00385         gPad->SetRightMargin(0.15);
00386         h2ElectronCombOverEtrueEPClass[0]->GetXaxis()->SetTitle("E_{calo}/p_{tk}");
00387         h2ElectronCombOverEtrueEPClass[0]->GetYaxis()->SetTitle("#tilde{E}_{calo}/E_{kine}");
00388         sprintf(str,"%s/combOverEtrue_vs_EOverP_EB.%s",outDir,suffix);
00389         gPad->Print(str);
00390         // endcap
00391         h2ElectronEOverEtrueEPClass[5]->Add(h2ElectronEOverEtrueEPClass[1]);
00392         h2ElectronEOverEtrueEPClass[5]->Draw("colz");
00393         gPad->SetRightMargin(0.15);
00394         h2ElectronEOverEtrueEPClass[5]->GetXaxis()->SetTitle("E_{calo}/p_{tk}");
00395         h2ElectronEOverEtrueEPClass[5]->GetYaxis()->SetTitle("E_{calo}/E_{kine}");
00396         sprintf(str,"%s/EOverEtrue_vs_EOverP_EE_golden.%s",outDir,suffix);
00397         gPad->Print(str);
00398         h2ElectronEOverEtrueEPClass[6]->Add(h2ElectronEOverEtrueEPClass[1]);
00399         h2ElectronEOverEtrueEPClass[6]->Draw("colz");
00400         gPad->SetRightMargin(0.15);
00401         h2ElectronEOverEtrueEPClass[6]->GetXaxis()->SetTitle("E_{calo}/p_{tk}");
00402         h2ElectronEOverEtrueEPClass[6]->GetYaxis()->SetTitle("E_{calo}/E_{kine}");
00403         sprintf(str,"%s/EOverEtrue_vs_EOverP_EE_bigBrem.%s",outDir,suffix);
00404         gPad->Print(str);
00405         h2ElectronEOverEtrueEPClass[7]->Add(h2ElectronEOverEtrueEPClass[1]);
00406         h2ElectronEOverEtrueEPClass[7]->Draw("colz");
00407         gPad->SetRightMargin(0.15);
00408         h2ElectronEOverEtrueEPClass[7]->GetXaxis()->SetTitle("E_{calo}/p_{tk}");
00409         h2ElectronEOverEtrueEPClass[7]->GetYaxis()->SetTitle("E_{calo}/E_{kine}");
00410         sprintf(str,"%s/EOverEtrue_vs_EOverP_EE_narrow.%s",outDir,suffix);
00411         gPad->Print(str);
00412         h2ElectronEOverEtrueEPClass[8]->Add(h2ElectronEOverEtrueEPClass[1]);
00413         h2ElectronEOverEtrueEPClass[8]->Draw("colz");
00414         gPad->SetRightMargin(0.15);
00415         h2ElectronEOverEtrueEPClass[8]->GetXaxis()->SetTitle("E_{calo}/p_{tk}");
00416         h2ElectronEOverEtrueEPClass[8]->GetYaxis()->SetTitle("E_{calo}/E_{kine}");
00417         sprintf(str,"%s/EOverEtrue_vs_EOverP_EE_showering.%s",outDir,suffix);
00418         gPad->Print(str);
00419         //
00420         h2ElectronEOverEtrueEPClass[5]->Add(h2ElectronEOverEtrueEPClass[6]);
00421         h2ElectronEOverEtrueEPClass[5]->Add(h2ElectronEOverEtrueEPClass[6]);
00422         h2ElectronEOverEtrueEPClass[5]->Add(h2ElectronEOverEtrueEPClass[8]);
00423         h2ElectronEOverEtrueEPClass[5]->Draw("colz");
00424         gPad->SetRightMargin(0.15);
00425         h2ElectronEOverEtrueEPClass[5]->GetXaxis()->SetTitle("E_{calo}/p_{tk}");
00426         h2ElectronEOverEtrueEPClass[5]->GetYaxis()->SetTitle("E_{calo}/E_{kine}");
00427         sprintf(str,"%s/EOverEtrue_vs_EOverP_EE.%s",outDir,suffix);
00428         gPad->Print(str);
00429         h2ElectronPOverEtrueEPClass[5]->Add(h2ElectronPOverEtrueEPClass[6]);
00430         h2ElectronPOverEtrueEPClass[5]->Add(h2ElectronPOverEtrueEPClass[6]);
00431         h2ElectronPOverEtrueEPClass[5]->Add(h2ElectronPOverEtrueEPClass[8]);
00432         h2ElectronPOverEtrueEPClass[5]->Draw("colz");
00433         gPad->SetRightMargin(0.15);
00434         h2ElectronPOverEtrueEPClass[5]->GetXaxis()->SetTitle("E_{calo}/p_{tk}");
00435         h2ElectronPOverEtrueEPClass[5]->GetYaxis()->SetTitle("E_{calo}/E_{kine}");
00436         sprintf(str,"%s/POverEtrue_vs_EOverP_EE.%s",outDir,suffix);
00437         gPad->Print(str);
00438         h2ElectronCombOverEtrueEPClass[5]->Add(h2ElectronCombOverEtrueEPClass[6]);
00439         h2ElectronCombOverEtrueEPClass[5]->Add(h2ElectronCombOverEtrueEPClass[6]);
00440         h2ElectronCombOverEtrueEPClass[5]->Add(h2ElectronCombOverEtrueEPClass[8]);
00441         h2ElectronCombOverEtrueEPClass[5]->Draw("colz");
00442         gPad->SetRightMargin(0.15);
00443         h2ElectronCombOverEtrueEPClass[5]->GetXaxis()->SetTitle("E_{calo}/p_{tk}");
00444         h2ElectronCombOverEtrueEPClass[5]->GetYaxis()->SetTitle("E_{calo}/E_{kine}");
00445         sprintf(str,"%s/combOverEtrue_vs_EOverP_EE.%s",outDir,suffix);
00446         gPad->Print(str);
00447 
00448         /*
00449         for (int ih=0; ih<4; ih++) {
00450                 for (int ibin=0; ibin<hElectronHLTPt->GetNbinsX(); ibin++) {
00451                         if (hElectronHLTPt->GetBinContent(ibin+1)==0) continue;
00452                         if (hElectronPtClass[ih]->GetBinContent(ibin+1)!=0 || hElectronPtClass[5+ih]->GetBinContent(ibin+1)!=0) 
00453                                 hElectronHLTPtClass[ih]->SetBinContent( ibin+1, 
00454                                                 //hElectronHLTEtaClass[ih]->GetBinContent(ibin+1)/hElectronHLTEta->GetBinContent(ibin+1);
00455                                                 (hElectronHLTPtClass[ih]->GetBinContent(ibin+1) + hElectronHLTPtClass[5+ih]->GetBinContent(ibin+1))
00456                                                 / ( hElectronPtClass[ih]->GetBinContent(ibin+1) + hElectronPtClass[5+ih]->GetBinContent(ibin+1)));
00457                         hsElectronHLTPtClass->Add(hElectronHLTPtClass[ih]);
00458                         hElectronHLTPtClass[ih]->SetLineColor( hColors[ih%5] );
00459                         hElectronHLTPtClass[ih]->SetMarkerColor( hColors[ih%5] );
00460                         hElectronHLTPtClass[ih]->SetMarkerStyle( 20 );
00461                         hElectronHLTPtClass[ih]->SetMarkerSize( .75 );
00462                 }
00463                 if (ih<5) {
00464                         sprintf(str,"%s",className[ih]);
00465                         legClass->AddEntry(hElectronHLTPtClass[ih],str,"l");
00466                 }
00467         }
00468         */
00469 
00470 
00471 }


Generated on Thu Oct 27 21:59:48 2005 for XANADOO by doxygen 1.3.5