#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) |
|
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 } |
|
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 }
|
|
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 } |
|
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 } |