27 #if !defined(__CINT__) || defined(__MAKECINT__)
32 #include <Riostream.h>
34 #include <TGraphErrors.h>
36 #include <TFileMerger.h>
37 #include <TMultiGraph.h>
42 #include <TGridCollection.h>
44 #include <TGridResult.h>
45 #include <TClonesArray.h>
46 #include <TObjString.h>
50 #include "AliEMCALGeometry.h"
58 if (trigger==
"default") file =
"/scratch/alicehp2/germain/QA/"+period+
"/"+ pass +
"/runlistMB.txt" ;
59 else file =
"/scratch/alicehp2/germain/QA/"+period+
"/"+ pass +
"/runlistEMC.txt" ;
61 pFile = fopen(file.Data(),
"r");
63 cout <<
" fcalo: " << fCalorimeter <<
"; period: " << period <<
"; pass: " << pass <<
" trigger "<<trigger<< endl;
75 ncols = fscanf(pFile,
"%d %d ",&p,&q);
84 const Int_t nRun = nlines ;
86 for(
Int_t i = 0 ; i < nRun ; i++) {
87 base =
"/scratch/alicehp2/germain/QA/";
94 infile = base +
".root" ;
95 TFile *f = TFile::Open(infile);
97 DrawRun(RunId[i],period,pass,trigger,f);
105 base =
"/scratch/alicehp2/germain/QA/";
112 infile = base +
".root" ;
113 TFile *f = TFile::Open(infile);
115 DrawRun(run,period,pass,trigger,f);
120 TString trigger=
"default", TFile *f =0x0)
122 TH2D *hEnergyMap =
new TH2D(
"hEnergyMap",
"",96,-48,48,120,-0,120);
123 TH2D *hOccupancyMap =
new TH2D(
"hOccupancyMap",
"",96,-48,48,120,-0,120);
124 TH2D *hEnergyMapReal =
new TH2D(
"hEnergyMapReal",
"",96,-48,48,120,-0,120);
125 TH2D *hOccupancyMapReal =
new TH2D(
"hOccupancyMapReal",
"",96,-48,48,120,-0,120);
126 hEnergyMapReal->SetXTitle(
"eta (bin)");
127 hEnergyMapReal->SetYTitle(
"phi (bin)");
128 hEnergyMapReal->SetZTitle(
"E(GeV)/event");
129 hEnergyMapReal->GetZaxis()->SetLabelSize(0.02);
130 hOccupancyMapReal->SetXTitle(
"eta (bin)");
131 hOccupancyMapReal->SetZTitle(
"entries/evt");
132 hOccupancyMapReal->GetZaxis()->SetLabelSize(0.02);
133 hOccupancyMapReal->SetXTitle(
"eta (bin)");
134 hEnergyMap->SetXTitle(
"eta (bin)");
135 hEnergyMap->SetYTitle(
"phi (bin)");
136 hOccupancyMap->SetXTitle(
"eta (bin)");
137 hOccupancyMap->SetYTitle(
"phi (bin)");
139 gStyle->SetPalette(1);
140 gStyle->SetOptStat(0);
142 AliEMCALGeometry *geom =
new AliEMCALGeometry(
"EMCAL_COMPLETEv1",
"EMCAL");
143 Int_t nSupMod, nModule, nIphi, nIeta, nModulo, iRCU;
144 Int_t iphi, ieta,jj,kk;
146 Int_t bineta, binphi;
147 Int_t realbineta, realbinphi;
163 Int_t mask[1] = {2222222};
165 TH2F *hCellAmplitude;
169 TString base =
"/scratch/alicehp2/germain/QA/";
182 TDirectoryFile *
dir = (TDirectoryFile *)f->Get(direct);
185 hNEvents =(TH1F *)outputList->FindObject(
"hNEvents");
186 Events = hNEvents->GetEntries();
187 hCellAmplitude =(
TH2F *)outputList->FindObject(
"EMCAL_hAmpId");
193 if ( trigger==
"EMC7") Eth=20.;
196 for(
Int_t i = 0; i < 11520 ; i++)
204 for (
Int_t j = 1; j <= hCellAmplitude->GetNbinsX(); j++)
206 Double_t E = hCellAmplitude->GetXaxis()->GetBinCenter(j);
207 Double_t N = hCellAmplitude->GetBinContent(j, i+1);
209 if (E < 0.07)
continue;
222 if(NsumH > 100) Ratio = Nsum/NsumH ;
226 if(n!=0) {
if(mask[n]<=mask[n-1]) cout<<
"not sorted list !!"<<endl;}
227 if(i==mask[n]){n++ ;
continue; }
233 geom->GetCellIndex(absId, nSupMod, nModule, nIphi, nIeta);
234 geom->GetCellPhiEtaIndexInSModule(nSupMod,nModule,nIphi,nIeta, iphi,ieta);
236 realbinphi = 120-(nSupMod/2)*24 -iphi -1;
239 if (nSupMod%2==0) realbineta= 48-ieta -1;
240 if (nSupMod%2==1) realbineta= -ieta -1;
244 binphi = 96 - (nSupMod/2)*24 +iphi;
245 if (nSupMod%2==1) bineta=ieta;
250 if (nSupMod%2==0) bineta=ieta-48;
252 hEnergyMapReal->Fill(realbineta,realbinphi,Esum/(
Double_t)Events);
253 hOccupancyMapReal->Fill(realbineta,realbinphi,Nsum/(
Double_t)Events);
257 cout<<
"N events : "<<Events<<endl;
259 TString Energy ; Energy = base +
"MapEnergy.pdf";
260 TString Entries ; Entries = base +
"MapEntries.pdf";
261 TCanvas *c1 =
new TCanvas(
"c1",
"energymap",800,800);
265 c1->SetRightMargin(0.14);
268 title +=
" Summed energy map";
269 if(trigger==
"EMC7") title +=
" EMC ";
270 hEnergyMapReal->SetTitle(title);
271 if(trigger==
"EMC7"){
272 hEnergyMapReal->SetMinimum(0.001);
273 hEnergyMapReal->SetMaximum(0.05);
275 hEnergyMapReal->SetMinimum(0.005);
276 hEnergyMapReal->SetMaximum(0.02);
278 hEnergyMapReal->Draw(
"colz");
283 TCanvas *c2 =
new TCanvas(
"c2",
"occupancy",800,800);
288 c2->SetRightMargin(0.14);
291 title2 +=
" Occupancy map";
292 if(trigger==
"EMC7") title2 +=
" EMC ";
294 hOccupancyMapReal->SetTitle(title2);
296 if(trigger==
"EMC7"){
297 hOccupancyMapReal->SetMinimum(0.01);
298 hOccupancyMapReal->SetMaximum(0.5);}
300 hOccupancyMapReal->SetMinimum(0.01);
301 hOccupancyMapReal->SetMaximum(0.1);
303 hOccupancyMapReal->Draw(
"colz");
306 c2->SaveAs(Entries2);
310 TString pass=
"pass1_HLT",
TString trigger=
"default", TFile *f =0x0)
312 gStyle->SetPalette(1);
313 TString base =
"/scratch/alicehp2/germain/QA/";
329 TDirectoryFile *
dir = (TDirectoryFile *)f->Get(direct);
333 if (trigger ==
"EMC7"){ sprintf(legend,
"Run %i EMC ",run);}
334 else sprintf(legend,
"Run %i ",run);
338 hClusterTimeEnergy =(
TH2F *)outputList->FindObject(
"EMCAL_hClusterTimeEnergy");
340 TString title3 =
" Time Vs Energy";
342 hClusterTimeEnergy->SetStats(kFALSE);
343 hClusterTimeEnergy->SetTitle(title3);
345 hClusterVsTrack =(
TH2F *)outputList->FindObject(
"EMCAL_hCaloTrackMNClusters");
346 hClusterVsTrack->SetStats(kFALSE);
347 TString title3 =
" N cluster Vs N track";
349 hClusterVsTrack->SetTitle(title3);
352 hClusterEVsTrack =(
TH2F *)outputList->FindObject(
"EMCAL_hCaloTrackMEClusters");
353 hClusterEVsTrack->SetStats(kFALSE);
354 hClusterEVsTrack->SetTitle(legend);
355 TString title3 =
" Sum E cluster Vs N track";
357 hClusterEVsTrack->SetTitle(title3);
360 hClusterEVsV0S =(
TH2F *)outputList->FindObject(
"EMCAL_hCaloV0SEClusters");
361 hClusterEVsV0S->SetStats(kFALSE);
362 TString title3 =
" Sum E cluster Vs V0 signal";
364 hClusterEVsV0S->SetTitle(title3);
367 hNCellsPerClusterMod0 =(
TH2F *)outputList->FindObject(
"EMCAL_hNCellsPerCluster_Mod0");
368 hNCellsPerClusterMod0->SetStats(kFALSE);
370 if(trigger==
"EMC7"){sprintf(legend2,
"Run %i EMC Mod 0",run);}
371 else {sprintf(legend2,
"Run %i Mod 0",run);}
374 hNCellsPerClusterMod0->SetTitle(legend2);
376 hNCellsPerClusterMod1 =(
TH2F *)outputList->FindObject(
"EMCAL_hNCellsPerCluster_Mod1");
377 hNCellsPerClusterMod1->SetStats(kFALSE);
378 if(trigger==
"EMC7"){sprintf(legend2,
"Run %i EMC Mod 1",run);}
379 else {sprintf(legend2,
"Run %i Mod 1",run);}
382 hNCellsPerClusterMod1->SetTitle(legend2);
384 hNCellsPerClusterMod2 =(
TH2F *)outputList->FindObject(
"EMCAL_hNCellsPerCluster_Mod2");
385 hNCellsPerClusterMod2->SetStats(kFALSE);
386 if(trigger==
"EMC7"){sprintf(legend2,
"Run %i EMC Mod 2",run);}
387 else {sprintf(legend2,
"Run %i Mod 2",run);}
389 hNCellsPerClusterMod2->SetTitle(legend2);
391 hNCellsPerClusterMod3 =(
TH2F *)outputList->FindObject(
"EMCAL_hNCellsPerCluster_Mod3");
392 hNCellsPerClusterMod3->SetStats(kFALSE);
393 if(trigger==
"EMC7"){sprintf(legend2,
"Run %i EMC Mod 3",run);}
394 else {sprintf(legend2,
"Run %i Mod 3",run);}
396 hNCellsPerClusterMod3->SetTitle(legend2);
399 hNCellsPerClusterMod4 =(
TH2F *)outputList->FindObject(
"EMCAL_hNCellsPerCluster_Mod4");
400 hNCellsPerClusterMod4->SetStats(kFALSE);
401 if(trigger==
"EMC7"){sprintf(legend2,
"Run %i EMC Mod 4",run);}
402 else {sprintf(legend2,
"Run %i Mod 4",run);}
404 hNCellsPerClusterMod4->SetTitle(legend2);
406 hNCellsPerClusterMod5 =(
TH2F *)outputList->FindObject(
"EMCAL_hNCellsPerCluster_Mod5");
407 hNCellsPerClusterMod5->SetStats(kFALSE);
408 if(trigger==
"EMC7"){sprintf(legend2,
"Run %i EMC Mod 5",run);}
409 else {sprintf(legend2,
"Run %i Mod 5",run);}
410 hNCellsPerClusterMod5->SetTitle(legend2);
412 hNCellsPerClusterMod6 =(
TH2F *)outputList->FindObject(
"EMCAL_hNCellsPerCluster_Mod6");
413 hNCellsPerClusterMod6->SetStats(kFALSE);
414 if(trigger==
"EMC7"){sprintf(legend2,
"Run %i EMC Mod 6",run);}
415 else {sprintf(legend2,
"Run %i Mod 6",run);}
416 hNCellsPerClusterMod6->SetTitle(legend2);
418 hNCellsPerClusterMod7 =(
TH2F *)outputList->FindObject(
"EMCAL_hNCellsPerCluster_Mod7");
419 hNCellsPerClusterMod7->SetStats(kFALSE);
420 if(trigger==
"EMC7"){sprintf(legend2,
"Run %i EMC Mod 7",run);}
421 else {sprintf(legend2,
"Run %i Mod 7",run);}
422 hNCellsPerClusterMod7->SetTitle(legend2);
424 hNCellsPerClusterMod8 =(
TH2F *)outputList->FindObject(
"EMCAL_hNCellsPerCluster_Mod8");
425 hNCellsPerClusterMod8->SetStats(kFALSE);
426 if(trigger==
"EMC7"){sprintf(legend2,
"Run %i EMC Mod 8",run);}
427 else {sprintf(legend2,
"Run %i Mod 8",run);}
428 hNCellsPerClusterMod8->SetTitle(legend2);
430 hNCellsPerClusterMod9 =(
TH2F *)outputList->FindObject(
"EMCAL_hNCellsPerCluster_Mod9");
431 hNCellsPerClusterMod9->SetStats(kFALSE);
432 if(trigger==
"EMC7"){sprintf(legend2,
"Run %i EMC Mod 9",run);}
433 else {sprintf(legend2,
"Run %i Mod 9",run);}
434 hNCellsPerClusterMod9->SetTitle(legend2);
436 TCanvas * c31 =
new TCanvas(
"Time Vs E ",
"Time Vs E", 600, 600);
438 c31->SetFillColor(0);
439 c31->SetBorderSize(0);
440 c31->SetFrameBorderMode(0);
442 hClusterTimeEnergy->SetYTitle(
"EMCAL ToF(ns)");
443 hClusterTimeEnergy->GetYaxis()->SetTitleOffset(1.2);
444 hClusterTimeEnergy->GetYaxis()->SetLabelSize(0.03);
446 hClusterTimeEnergy->GetZaxis()->SetLabelSize(0.02);
447 hClusterTimeEnergy->GetZaxis()->SetTitleSize(0.03);
448 hClusterTimeEnergy->GetZaxis()->SetTitleOffset(0.03);
449 hClusterTimeEnergy->SetAxisRange(0.,50.);
450 hClusterTimeEnergy->Draw(
"colz");
453 outfilename = base +
"TimeRun.pdf" ;
454 outfilename2 = base +
"TimeRun.gif" ;
456 c31->SaveAs(outfilename);
457 c31->SaveAs(outfilename2);
460 TCanvas * c32 =
new TCanvas(
" Cluster Vs Track ",
"Cluster vs Track", 600, 600);
462 c32->SetFillColor(0);
463 c32->SetBorderSize(0);
464 c32->SetFrameBorderMode(0);
468 hClusterVsTrack->GetYaxis()->SetTitleOffset(1.2);
469 hClusterVsTrack->GetYaxis()->SetLabelSize(0.03);
471 hClusterVsTrack->GetZaxis()->SetLabelSize(0.02);
472 hClusterVsTrack->GetZaxis()->SetTitleSize(0.03);
473 hClusterVsTrack->GetZaxis()->SetTitleOffset(0.03);
474 hClusterVsTrack->SetAxisRange(0.,1200.);
475 hClusterVsTrack->Draw(
"colz");
478 outfilename = base +
"CaloTrackMult.pdf";
480 outfilename2 = base +
"CaloTrackMult.gif";
482 c32->SaveAs(outfilename);
484 c32->SaveAs(outfilename2);
487 TCanvas * c33 =
new TCanvas(
" Cluster E Vs Track ",
"Cluster E vs Track", 600, 600);
489 c33->SetFillColor(0);
490 c33->SetBorderSize(0);
491 c33->SetFrameBorderMode(0);
494 hClusterEVsTrack->GetYaxis()->SetTitleOffset(1.2);
495 hClusterEVsTrack->GetYaxis()->SetLabelSize(0.03);
497 hClusterEVsTrack->GetZaxis()->SetLabelSize(0.02);
498 hClusterEVsTrack->GetZaxis()->SetTitleSize(0.03);
499 hClusterEVsTrack->GetZaxis()->SetTitleOffset(0.03);
500 hClusterEVsTrack->SetAxisRange(0.,1200.);
501 hClusterEVsTrack->Draw(
"colz");
504 outfilename = base +
"CaloETrackMult.pdf";
505 outfilename2 = base +
"CaloETrackMult.gif";
507 c33->SaveAs(outfilename);
509 c33->SaveAs(outfilename2);
511 TCanvas * c34 =
new TCanvas(
" Cluster E Vs V0 ",
"Cluster E vs V0", 600, 600);
513 c34->SetFillColor(0);
514 c34->SetBorderSize(0);
515 c34->SetFrameBorderMode(0);
519 hClusterEVsV0S->GetYaxis()->SetTitleOffset(1.2);
520 hClusterEVsV0S->GetYaxis()->SetLabelSize(0.03);
522 hClusterEVsV0S->GetZaxis()->SetLabelSize(0.02);
523 hClusterEVsV0S->GetZaxis()->SetTitleSize(0.03);
524 hClusterEVsV0S->GetZaxis()->SetTitleOffset(0.03);
525 hClusterEVsV0S->GetYaxis()->SetRangeUser(0.,50.);
526 hClusterEVsV0S->Draw(
"colz");
530 outfilename = base +
"CaloEVsV0s.pdf";
531 outfilename2 = base +
"CaloEVsV0s.gif";
533 c34->SaveAs(outfilename);
534 c34->SaveAs(outfilename2);
540 TCanvas * c35 =
new TCanvas(
" Cells per Cluster 0 ",
"Cells per Cluster 0", 1000, 1200);
542 c35->SetFillColor(0);
543 c35->SetBorderSize(0);
544 c35->SetFrameBorderMode(0);
550 hNCellsPerClusterMod0->GetYaxis()->SetTitleOffset(1.2);
551 hNCellsPerClusterMod0->GetYaxis()->SetLabelSize(0.03);
553 hNCellsPerClusterMod0->GetZaxis()->SetLabelSize(0.05);
554 hNCellsPerClusterMod0->GetZaxis()->SetTitleSize(0.4);
555 hNCellsPerClusterMod0->GetZaxis()->SetTitleOffset(0.03);
556 hNCellsPerClusterMod0->GetYaxis()->SetRangeUser(0.,30.);
557 hNCellsPerClusterMod0->GetXaxis()->SetRangeUser(0.,20.);
558 hNCellsPerClusterMod0->Draw(
"colz");
562 hNCellsPerClusterMod1->GetYaxis()->SetTitleOffset(1.2);
563 hNCellsPerClusterMod1->GetYaxis()->SetLabelSize(0.03);
565 hNCellsPerClusterMod1->GetZaxis()->SetLabelSize(0.05);
566 hNCellsPerClusterMod1->GetZaxis()->SetTitleSize(0.2);
567 hNCellsPerClusterMod1->GetZaxis()->SetTitleOffset(0.03);
568 hNCellsPerClusterMod1->GetYaxis()->SetRangeUser(0.,30.);
569 hNCellsPerClusterMod1->GetXaxis()->SetRangeUser(0.,20.);
570 hNCellsPerClusterMod1->Draw(
"colz");
575 hNCellsPerClusterMod2->GetYaxis()->SetTitleOffset(1.2);
576 hNCellsPerClusterMod2->GetYaxis()->SetLabelSize(0.03);
578 hNCellsPerClusterMod2->GetZaxis()->SetLabelSize(0.05);
579 hNCellsPerClusterMod2->GetZaxis()->SetTitleSize(0.04);
580 hNCellsPerClusterMod2->GetZaxis()->SetTitleOffset(0.03);
581 hNCellsPerClusterMod2->GetYaxis()->SetRangeUser(0.,30.);
582 hNCellsPerClusterMod2->GetXaxis()->SetRangeUser(0.,20.);
583 hNCellsPerClusterMod2->Draw(
"colz");
587 hNCellsPerClusterMod3->GetYaxis()->SetTitleOffset(1.2);
588 hNCellsPerClusterMod3->GetYaxis()->SetLabelSize(0.03);
589 hNCellsPerClusterMod3->GetZaxis()->SetLabelSize(0.05);
590 hNCellsPerClusterMod3->GetZaxis()->SetTitleSize(0.04);
591 hNCellsPerClusterMod3->GetZaxis()->SetTitleOffset(0.03);
592 hNCellsPerClusterMod3->GetYaxis()->SetRangeUser(0.,30.);
593 hNCellsPerClusterMod3->GetXaxis()->SetRangeUser(0.,20.);
594 hNCellsPerClusterMod3->Draw(
"colz");
599 hNCellsPerClusterMod4->GetYaxis()->SetTitleOffset(1.2);
600 hNCellsPerClusterMod4->GetYaxis()->SetLabelSize(0.03);
601 hNCellsPerClusterMod4->GetZaxis()->SetLabelSize(0.05);
602 hNCellsPerClusterMod4->GetZaxis()->SetTitleSize(0.04);
603 hNCellsPerClusterMod4->GetZaxis()->SetTitleOffset(0.03);
604 hNCellsPerClusterMod4->GetYaxis()->SetRangeUser(0.,30.);
605 hNCellsPerClusterMod4->GetXaxis()->SetRangeUser(0.,20.);
606 hNCellsPerClusterMod4->Draw(
"colz");
613 hNCellsPerClusterMod5->GetYaxis()->SetTitleOffset(1.2);
614 hNCellsPerClusterMod5->GetYaxis()->SetLabelSize(0.03);
615 hNCellsPerClusterMod5->GetZaxis()->SetLabelSize(0.05);
616 hNCellsPerClusterMod5->GetZaxis()->SetTitleSize(0.04);
617 hNCellsPerClusterMod5->GetZaxis()->SetTitleOffset(0.03);
618 hNCellsPerClusterMod5->GetYaxis()->SetRangeUser(0.,30.);
619 hNCellsPerClusterMod5->GetXaxis()->SetRangeUser(0.,20.);
620 hNCellsPerClusterMod5->Draw(
"colz");
626 hNCellsPerClusterMod6->GetYaxis()->SetTitleOffset(1.2);
627 hNCellsPerClusterMod6->GetYaxis()->SetLabelSize(0.03);
628 hNCellsPerClusterMod6->GetZaxis()->SetLabelSize(0.05);
629 hNCellsPerClusterMod6->GetZaxis()->SetTitleSize(0.04);
630 hNCellsPerClusterMod6->GetZaxis()->SetTitleOffset(0.03);
631 hNCellsPerClusterMod6->GetYaxis()->SetRangeUser(0.,30.);
632 hNCellsPerClusterMod6->GetXaxis()->SetRangeUser(0.,20.);
633 hNCellsPerClusterMod6->Draw(
"colz");
638 hNCellsPerClusterMod7->GetYaxis()->SetTitleOffset(1.2);
639 hNCellsPerClusterMod7->GetYaxis()->SetLabelSize(0.03);
640 hNCellsPerClusterMod7->GetZaxis()->SetLabelSize(0.05);
641 hNCellsPerClusterMod7->GetZaxis()->SetTitleSize(0.04);
642 hNCellsPerClusterMod7->GetZaxis()->SetTitleOffset(0.03);
643 hNCellsPerClusterMod7->GetYaxis()->SetRangeUser(0.,30.);
644 hNCellsPerClusterMod7->GetXaxis()->SetRangeUser(0.,20.);
645 hNCellsPerClusterMod7->Draw(
"colz");
651 hNCellsPerClusterMod8->GetYaxis()->SetTitleOffset(1.2);
652 hNCellsPerClusterMod8->GetYaxis()->SetLabelSize(0.03);
653 hNCellsPerClusterMod8->GetZaxis()->SetLabelSize(0.05);
654 hNCellsPerClusterMod8->GetZaxis()->SetTitleSize(0.04);
655 hNCellsPerClusterMod8->GetZaxis()->SetTitleOffset(0.03);
656 hNCellsPerClusterMod8->GetYaxis()->SetRangeUser(0.,30.);
657 hNCellsPerClusterMod8->GetXaxis()->SetRangeUser(0.,20.);
658 hNCellsPerClusterMod8->Draw(
"colz");
663 hNCellsPerClusterMod9->GetYaxis()->SetTitleOffset(1.2);
664 hNCellsPerClusterMod9->GetYaxis()->SetLabelSize(0.03);
665 hNCellsPerClusterMod9->GetZaxis()->SetLabelSize(0.05);
666 hNCellsPerClusterMod9->GetZaxis()->SetTitleSize(0.04);
667 hNCellsPerClusterMod9->GetZaxis()->SetTitleOffset(0.03);
668 hNCellsPerClusterMod9->GetYaxis()->SetRangeUser(0.,30.);
669 hNCellsPerClusterMod9->GetXaxis()->SetRangeUser(0.,20.);
670 hNCellsPerClusterMod9->Draw(
"colz");
672 outfilename = base +
"CellsperCluster.pdf";
673 outfilename2 = base +
"CellsperCluster.gif";
676 c35->SaveAs(outfilename);
677 c35->SaveAs(outfilename2);
void QAplots(TString fCalorimeter="EMCAL", TString period="LHC11h", TString pass="pass1_HLT", TString trigger="default")
void DrawOccupancy(Int_t run, TString period="LHC11h", TString pass="pass1_HLT", TString trigger="default", TFile *f=0x0)
void DrawRun(const Int_t run=167713, TString period="LHC11h", TString pass="pass1_HLT", TString trigger="default", TFile *f=0x0)
TH1 * Ratio(const TH1 *h1, const TH1 *h2)
TFile * file
TList with histograms for a given trigger.