1 #if !defined(__CINT__) || defined(__MAKECINT__)
8 #include <TGraphErrors.h>
10 #include <TFileMerger.h>
11 #include <TMultiGraph.h>
16 #include <TGridCollection.h>
18 #include <TGridResult.h>
19 #include <TClonesArray.h>
20 #include <TObjString.h>
24 #include "AliEMCALGeometry.h"
30 // Macro to do some EMCAL QA plots (from QA outputs (QAresults.root) of the QA train (AliAnaCalorimeterQA task) )
33 // 1. macro needs AliEMCALGeometry to compute maps
35 // 2. this macro makes the QA plots for
36 // - period or single runs
38 // 3. to use it you should have the
39 //- QAresults.root files in period/pass/runnumber.root
40 //- and if you are running in period mode a runlist.txt
41 // file in the same directory: period/pass/runlist.txt
42 // were runlist is the list of the runs you want to check
44 // 4. To save the plots you must create prior tu usig the macro in the
45 // period/pass/ directory as many subdirectories as number of runs
46 // with the name runnumber
47 // all gif files will be saved in those subdirectories
50 // 5. The trigger corresponds to the name of the output directory in the root
52 // "EMC7" for EMC triggers and "default" for AnyInt (Minbias)
54 // Authors: Alexis Mas, M. Germain SUBATECH,
57 void QAplots(TString fCalorimeter = "EMCAL", TString period = "LHC11h", TString pass = "pass1_HLT", TString trigger= "default"){
61 if (trigger=="default") file = "/scratch/alicehp2/germain/QA/"+period+"/"+ pass + "/runlistMB.txt" ;
62 else file = "/scratch/alicehp2/germain/QA/"+period+"/"+ pass + "/runlistEMC.txt" ;
64 pFile = fopen(file.Data(), "r"); //open the text file where include the run list and correct run index
66 cout << " fcalo: " << fCalorimeter << "; period: " << period << "; pass: " << pass << " trigger "<<trigger<< endl;
78 ncols = fscanf(pFile,"%d %d ",&p,&q);
87 const Int_t nRun = nlines ;
89 for(Int_t i = 0 ; i < nRun ; i++) {
90 base = "/scratch/alicehp2/germain/QA/";
97 infile = base + ".root" ;
98 TFile *f = TFile::Open(infile);
99 DrawOccupancy(RunId[i],period,pass,trigger,f);
100 DrawRun(RunId[i],period,pass,trigger,f);
105 void QAplots(Int_t run, TString period ="LHC11h", TString pass="pass1_HLT", TString trigger= "default"){
107 base = "/scratch/alicehp2/germain/QA/";
114 infile = base + ".root" ;
115 TFile *f = TFile::Open(infile);
116 DrawOccupancy(run,period,pass,trigger,f);
117 DrawRun(run,period,pass,trigger,f);
121 void DrawOccupancy(Int_t run , TString period ="LHC11h", TString pass="pass1_HLT", 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;
149 Double_t eta, phi, glob[3];
153 //Int_t mask[224] = {74, 147, 152, 189, 191, 198, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 324, 491, 759, 917, 949, 1376, 1386, 1429, 1487, 1490, 1519, 1967, 2014, 2015, 2112, 2114, 2115, 2116, 2118, 2119, 2120, 2123, 2124, 2125, 2158, 2159, 2326, 2332, 2333, 2350, 2351, 2436, 2448, 2506, 2518, 2534, 2540, 2590, 2640, 2793, 2805, 2815, 2828, 2830, 2869, 2878, 2880, 2881, 2891, 2926, 2985, 3022, 3024, 3070, 3135, 3169, 3263, 3503, 4366, 4560, 4623, 6093, 6331, 6481, 7089, 7113, 7190, 7246, 7425, 7495, 7874,8358, 8811, 9024, 9269, 9302, 9387, 9696, 9697, 9698, 9699, 9701, 9702, 9703, 9704, 9705, 9706, 9707, 9710, 9711, 9748, 9792, 9793, 9794, 9795, 9796, 9797, 9798, 9799, 9800, 9801, 9802, 9803, 9804, 9805, 9806, 9807, 9815, 9819, 9824, 9828, 9829, 9830, 9831, 9832, 9834, 9835, 9836, 9837, 9838, 9839, 9850, 9872, 9874, 9875, 9877, 9878, 9879, 9881, 9882, 9883, 9888, 9890, 9891, 9894, 9896, 9897, 9898, 9899, 9902, 9927, 9938, 9939, 9942, 9943, 9945, 9946, 9947, 9948, 9949, 9950, 9951, 10035, 10073, 10084, 10085, 10086, 10090, 10093, 10112, 10113, 10114, 10115, 10116, 10117, 10118, 10119, 10120, 10121, 10122, 10123, 10124, 10125, 10126, 10127, 10718, 10723, 10728, 10771, 10831, 11042, 11043, 11090, 11363, 22222222};
157 //Int_t mask[174] = {74, 152, 167, 191, 759, 1059, 1175, 1204, 1288, 1376, 1382, 1386, 1519, 1967, 1968, 2026, 2047, 2112, 2114, 2115, 2116, 2118, 2119, 2120, 2123, 2124, 2125, 2210, 2339, 2350, 2391, 2506, 2540, 2793, 2828, 2869, 2891, 2985, 3135, 3503, 4377, 4817, 5600, 5601, 5602, 5603, 5612, 5613, 5614, 5615, 5648, 5649, 5650, 5651, 5660, 5661, 5662, 5663, 5836, 6104, 6331, 6481, 7089, 7371, 7375, 7425, 7572, 7874, 8358, 9269, 9302, 9389, 9696, 9697, 9698, 9699, 9700, 9701, 9702, 9703, 9705, 9706, 9707, 9708, 9709, 9710, 9711, 9750, 9758, 9792, 9793, 9794, 9795, 9798, 9800, 9801, 9803, 9804, 9815, 9819, 9824, 9825, 9828, 9829, 9830, 9831, 9832, 9833, 9834, 9835, 9836, 9838, 9872, 9874, 9875, 9878, 9882, 9883, 9889, 9890, 9891, 9892, 9893, 9894, 9896, 9897, 9898, 9899, 9900, 9901, 9902, 9903, 9927, 9936, 9937, 9938, 9939, 9940, 9941, 9942, 9943, 9945, 9947, 9948, 9949, 9950, 9951, 10086, 10112, 10113, 10114, 10115, 10116, 10118, 10119, 10120, 10121, 10122, 10123, 10124, 10125, 10126, 10127, 10134, 10135, 10138, 10143, 10718, 10723, 10771, 11042, 11091, 11363, 2222222};
160 // Int_t mask[134] = {74, 152, 167, 759, 1204, 1267, 1288, 1376, 1382, 1386, 1424, 1519, 1967, 2026, 2047, 2112, 2114, 2115, 2116, 2118, 2119, 2120, 2123, 2124, 2125, 2506, 2540, 2793, 2828, 2869, 2891, 2985, 3135, 3503, 3785, 4817, 6104, 6331, 6481, 7371, 7375, 7425, 7572, 7874, 8218, 8220, 8222, 9269, 9282, 9302, 9455, 9698, 9699, 9700, 9701, 9702, 9703, 9705, 9706, 9707, 9708, 9709, 9710, 9711, 9748, 9758, 9792, 9793, 9794, 9795, 9796, 9797, 9798, 9799, 9800, 9801, 9803, 9804, 9805,9815, 9828, 9829, 9830, 9831, 9832, 9833, 9834, 9835, 9836, 9838, 9850, 9875, 9891, 9898, 9900, 9927, 9936, 9937, 9938, 9939, 9940, 9941, 9942, 9943, 9944, 9945, 9947, 9948, 9949, 9950, 9951, 10112, 10113, 10114, 10115, 10116, 10118, 10119, 10120, 10121, 10122, 10123, 10124, 10125, 10126, 10127, 10138, 10143, 10363, 10718, 10723, 11091, 11363, 2222222};
163 Int_t mask[1] = {2222222};
165 TH2F *hCellAmplitude;
169 TString base = "/scratch/alicehp2/germain/QA/";
178 //infile = base + ".root" ;
179 //*f = TFile::Open(infile);
180 TString direct = "CaloQA_";
182 TDirectoryFile *dir = (TDirectoryFile *)f->Get(direct);
183 TList *outputList = (TList*)dir->Get(direct);
185 hNEvents =(TH1F *)outputList->FindObject("hNEvents");
186 Events = hNEvents->GetEntries();
187 hCellAmplitude =(TH2F *)outputList->FindObject("EMCAL_hAmpId");
188 //hCellAmplitude->Draw();
189 //TH2 *hCellAmplitude = (TH2*) gFile->Get("hCellAmplitude");
193 if ( trigger=="EMC7") Eth=20.;
196 for(Int_t i = 0; i < 11520 ; i++){
203 for (Int_t j = 1; j <= hCellAmplitude->GetNbinsX(); j++) {
204 Double_t E = hCellAmplitude->GetXaxis()->GetBinCenter(j);
205 Double_t N = hCellAmplitude->GetBinContent(j, i+1);
207 if (E < 0.07) continue;
208 // if (E > 0.07) continue;
220 if(NsumH > 100) Ratio = Nsum/NsumH ;
221 // if(Nsum > 20000 && Nsum < 22000 ) cout<<" "<<i ;
224 if(n!=0) {if(mask[n]<=mask[n-1]) cout<<"not sorted list !!"<<endl;}
225 if(i==mask[n]){n++ ; continue; }
226 // if(Esum/(Double_t) Events > 0.5) cout<<"BAD : "<<i<<endl;
228 // hBadCellMap->Fill(1)
231 geom->GetCellIndex(absId, nSupMod, nModule, nIphi, nIeta);
232 geom->GetCellPhiEtaIndexInSModule(nSupMod,nModule,nIphi,nIeta, iphi,ieta);
234 realbinphi = 120-(nSupMod/2)*24 -iphi -1;
237 if (nSupMod%2==0) realbineta= 48-ieta -1;
238 if (nSupMod%2==1) realbineta= -ieta -1;
240 // to do as usual (Gustavo) SM0 high left SM9 low right
242 binphi = 96 - (nSupMod/2)*24 +iphi;
243 if (nSupMod%2==1) bineta=ieta;
245 Int_t compt; if(i==0) compt = 1;
246 if(ieta==0){ cout<<compt <<endl ; compt ++;}
248 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);
266 TString title = "run ";
268 title += " Summed energy map";
269 if(trigger=="EMC7") title += " EMC ";
270 hEnergyMapReal->SetTitle(title);
271 if(trigger== "EMC7"){
272 hEnergyMapReal->SetMinimum(0.001); //FOR Esum EMC triggers
273 hEnergyMapReal->SetMaximum(0.05); //FOR Esum
275 hEnergyMapReal->SetMinimum(0.005); //FOR Esum MB
276 hEnergyMapReal->SetMaximum(0.02); //FOR Esum
278 hEnergyMapReal->Draw("colz");
283 TCanvas *c2 = new TCanvas("c2","occupancy",800,800);
288 c2->SetRightMargin(0.14);
289 TString title2 = "run ";
291 title2 += " Occupancy map";
292 if(trigger=="EMC7") title2 += " EMC ";
294 hOccupancyMapReal->SetTitle(title2);
295 //SCALE USE FOR LHC11h modify fotr pp
296 if(trigger== "EMC7"){
297 hOccupancyMapReal->SetMinimum(0.01); //FOR Nsum
298 hOccupancyMapReal->SetMaximum(0.5);} //FOR Nsum}
300 hOccupancyMapReal->SetMinimum(0.01); //FOR Nsum
301 hOccupancyMapReal->SetMaximum(0.1); //FOR Nsum
303 hOccupancyMapReal->Draw("colz");
306 c2->SaveAs(Entries2);
309 void DrawRun(const Int_t run = 167713, TString period ="LHC11h", TString pass="pass1_HLT", TString trigger= "default", TFile *f =0x0){
311 gStyle->SetPalette(1);
312 TString base = "/scratch/alicehp2/germain/QA/";
317 TString outfilename ;
318 TString outfilename2 ;
324 TString direct = "CaloQA_";
328 TDirectoryFile *dir = (TDirectoryFile *)f->Get(direct);
329 TList *outputList = (TList*)dir->Get(direct);
332 if (trigger =="EMC7"){ sprintf(legend,"Run %i EMC ",run);}
333 else sprintf(legend,"Run %i ",run);
337 hClusterTimeEnergy =(TH2F *)outputList->FindObject("EMCAL_hClusterTimeEnergy");
339 TString title3 =" Time Vs Energy";
341 hClusterTimeEnergy->SetStats(kFALSE);
342 hClusterTimeEnergy->SetTitle(title3);
344 hClusterVsTrack =(TH2F *)outputList->FindObject("EMCAL_hCaloTrackMNClusters");
345 hClusterVsTrack->SetStats(kFALSE);
346 TString title3 =" N cluster Vs N track";
348 hClusterVsTrack->SetTitle(title3);
351 hClusterEVsTrack =(TH2F *)outputList->FindObject("EMCAL_hCaloTrackMEClusters");
352 hClusterEVsTrack->SetStats(kFALSE);
353 hClusterEVsTrack->SetTitle(legend);
354 TString title3 =" Sum E cluster Vs N track";
356 hClusterEVsTrack->SetTitle(title3);
359 hClusterEVsV0S =(TH2F *)outputList->FindObject("EMCAL_hCaloV0SEClusters");
360 hClusterEVsV0S->SetStats(kFALSE);
361 TString title3 =" Sum E cluster Vs V0 signal";
363 hClusterEVsV0S->SetTitle(title3);
366 hNCellsPerClusterMod0 =(TH2F *)outputList->FindObject("EMCAL_hNCellsPerCluster_Mod0");
367 hNCellsPerClusterMod0->SetStats(kFALSE);
369 if(trigger=="EMC7"){sprintf(legend2,"Run %i EMC Mod 0",run);}
370 else {sprintf(legend2,"Run %i Mod 0",run);}
373 hNCellsPerClusterMod0->SetTitle(legend2);
375 hNCellsPerClusterMod1 =(TH2F *)outputList->FindObject("EMCAL_hNCellsPerCluster_Mod1");
376 hNCellsPerClusterMod1->SetStats(kFALSE);
377 if(trigger=="EMC7"){sprintf(legend2,"Run %i EMC Mod 1",run);}
378 else {sprintf(legend2,"Run %i Mod 1",run);}
381 hNCellsPerClusterMod1->SetTitle(legend2);
383 hNCellsPerClusterMod2 =(TH2F *)outputList->FindObject("EMCAL_hNCellsPerCluster_Mod2");
384 hNCellsPerClusterMod2->SetStats(kFALSE);
385 if(trigger=="EMC7"){sprintf(legend2,"Run %i EMC Mod 2",run);}
386 else {sprintf(legend2,"Run %i Mod 2",run);}
388 hNCellsPerClusterMod2->SetTitle(legend2);
390 hNCellsPerClusterMod3 =(TH2F *)outputList->FindObject("EMCAL_hNCellsPerCluster_Mod3");
391 hNCellsPerClusterMod3->SetStats(kFALSE);
392 if(trigger=="EMC7"){sprintf(legend2,"Run %i EMC Mod 3",run);}
393 else {sprintf(legend2,"Run %i Mod 3",run);}
395 hNCellsPerClusterMod3->SetTitle(legend2);
398 hNCellsPerClusterMod4 =(TH2F *)outputList->FindObject("EMCAL_hNCellsPerCluster_Mod4");
399 hNCellsPerClusterMod4->SetStats(kFALSE);
400 if(trigger=="EMC7"){sprintf(legend2,"Run %i EMC Mod 4",run);}
401 else {sprintf(legend2,"Run %i Mod 4",run);}
403 hNCellsPerClusterMod4->SetTitle(legend2);
405 hNCellsPerClusterMod5 =(TH2F *)outputList->FindObject("EMCAL_hNCellsPerCluster_Mod5");
406 hNCellsPerClusterMod5->SetStats(kFALSE);
407 if(trigger=="EMC7"){sprintf(legend2,"Run %i EMC Mod 5",run);}
408 else {sprintf(legend2,"Run %i Mod 5",run);}
409 hNCellsPerClusterMod5->SetTitle(legend2);
411 hNCellsPerClusterMod6 =(TH2F *)outputList->FindObject("EMCAL_hNCellsPerCluster_Mod6");
412 hNCellsPerClusterMod6->SetStats(kFALSE);
413 if(trigger=="EMC7"){sprintf(legend2,"Run %i EMC Mod 6",run);}
414 else {sprintf(legend2,"Run %i Mod 6",run);}
415 hNCellsPerClusterMod6->SetTitle(legend2);
417 hNCellsPerClusterMod7 =(TH2F *)outputList->FindObject("EMCAL_hNCellsPerCluster_Mod7");
418 hNCellsPerClusterMod7->SetStats(kFALSE);
419 if(trigger=="EMC7"){sprintf(legend2,"Run %i EMC Mod 7",run);}
420 else {sprintf(legend2,"Run %i Mod 7",run);}
421 hNCellsPerClusterMod7->SetTitle(legend2);
423 hNCellsPerClusterMod8 =(TH2F *)outputList->FindObject("EMCAL_hNCellsPerCluster_Mod8");
424 hNCellsPerClusterMod8->SetStats(kFALSE);
425 if(trigger=="EMC7"){sprintf(legend2,"Run %i EMC Mod 8",run);}
426 else {sprintf(legend2,"Run %i Mod 8",run);}
427 hNCellsPerClusterMod8->SetTitle(legend2);
429 hNCellsPerClusterMod9 =(TH2F *)outputList->FindObject("EMCAL_hNCellsPerCluster_Mod9");
430 hNCellsPerClusterMod9->SetStats(kFALSE);
431 if(trigger=="EMC7"){sprintf(legend2,"Run %i EMC Mod 9",run);}
432 else {sprintf(legend2,"Run %i Mod 9",run);}
433 hNCellsPerClusterMod9->SetTitle(legend2);
435 TCanvas * c31 = new TCanvas("Time Vs E ", "Time Vs E", 600, 600);
437 c31->SetFillColor(0);
438 c31->SetBorderSize(0);
439 c31->SetFrameBorderMode(0);
440 // c31->SetOptStat(0);
441 hClusterTimeEnergy->SetYTitle("EMCAL ToF(ns)");
442 hClusterTimeEnergy->GetYaxis()->SetTitleOffset(1.2);
443 hClusterTimeEnergy->GetYaxis()->SetLabelSize(0.03);
445 hClusterTimeEnergy->GetZaxis()->SetLabelSize(0.02);
446 hClusterTimeEnergy->GetZaxis()->SetTitleSize(0.03);
447 hClusterTimeEnergy->GetZaxis()->SetTitleOffset(0.03);
448 hClusterTimeEnergy->SetAxisRange(0.,50.);
449 hClusterTimeEnergy->Draw("colz");
452 outfilename = base + "TimeRun.pdf" ;
453 outfilename2 = base + "TimeRun.gif" ;
455 c31->SaveAs(outfilename);
456 c31->SaveAs(outfilename2);
459 TCanvas * c32 = new TCanvas(" Cluster Vs Track ","Cluster vs Track", 600, 600);
461 c32->SetFillColor(0);
462 c32->SetBorderSize(0);
463 c32->SetFrameBorderMode(0);
464 // c31->SetOptStat(0);
467 hClusterVsTrack->GetYaxis()->SetTitleOffset(1.2);
468 hClusterVsTrack->GetYaxis()->SetLabelSize(0.03);
470 hClusterVsTrack->GetZaxis()->SetLabelSize(0.02);
471 hClusterVsTrack->GetZaxis()->SetTitleSize(0.03);
472 hClusterVsTrack->GetZaxis()->SetTitleOffset(0.03);
473 hClusterVsTrack->SetAxisRange(0.,1200.);
474 hClusterVsTrack->Draw("colz");
477 outfilename = base + "CaloTrackMult.pdf";
479 outfilename2 = base + "CaloTrackMult.gif";
481 c32->SaveAs(outfilename);
483 c32->SaveAs(outfilename2);
486 TCanvas * c33 = new TCanvas(" Cluster E Vs Track ","Cluster E vs Track", 600, 600);
488 c33->SetFillColor(0);
489 c33->SetBorderSize(0);
490 c33->SetFrameBorderMode(0);
491 // c31->SetOptStat(0);
493 hClusterEVsTrack->GetYaxis()->SetTitleOffset(1.2);
494 hClusterEVsTrack->GetYaxis()->SetLabelSize(0.03);
496 hClusterEVsTrack->GetZaxis()->SetLabelSize(0.02);
497 hClusterEVsTrack->GetZaxis()->SetTitleSize(0.03);
498 hClusterEVsTrack->GetZaxis()->SetTitleOffset(0.03);
499 hClusterEVsTrack->SetAxisRange(0.,1200.);
500 hClusterEVsTrack->Draw("colz");
503 outfilename = base + "CaloETrackMult.pdf";
504 outfilename2 = base + "CaloETrackMult.gif";
506 c33->SaveAs(outfilename);
508 c33->SaveAs(outfilename2);
510 TCanvas * c34 = new TCanvas(" Cluster E Vs V0 ","Cluster E vs V0", 600, 600);
512 c34->SetFillColor(0);
513 c34->SetBorderSize(0);
514 c34->SetFrameBorderMode(0);
515 // c31->SetOptStat(0);
518 hClusterEVsV0S->GetYaxis()->SetTitleOffset(1.2);
519 hClusterEVsV0S->GetYaxis()->SetLabelSize(0.03);
521 hClusterEVsV0S->GetZaxis()->SetLabelSize(0.02);
522 hClusterEVsV0S->GetZaxis()->SetTitleSize(0.03);
523 hClusterEVsV0S->GetZaxis()->SetTitleOffset(0.03);
524 hClusterEVsV0S->GetYaxis()->SetRangeUser(0.,50.);
525 hClusterEVsV0S->Draw("colz");
529 outfilename = base + "CaloEVsV0s.pdf";
530 outfilename2 = base + "CaloEVsV0s.gif";
532 c34->SaveAs(outfilename);
533 c34->SaveAs(outfilename2);
539 TCanvas * c35 = new TCanvas(" Cells per Cluster 0 ","Cells per Cluster 0", 1000, 1200);
541 c35->SetFillColor(0);
542 c35->SetBorderSize(0);
543 c35->SetFrameBorderMode(0);
544 // c31->SetOptStat(0);
549 hNCellsPerClusterMod0->GetYaxis()->SetTitleOffset(1.2);
550 hNCellsPerClusterMod0->GetYaxis()->SetLabelSize(0.03);
552 hNCellsPerClusterMod0->GetZaxis()->SetLabelSize(0.05);
553 hNCellsPerClusterMod0->GetZaxis()->SetTitleSize(0.4);
554 hNCellsPerClusterMod0->GetZaxis()->SetTitleOffset(0.03);
555 hNCellsPerClusterMod0->GetYaxis()->SetRangeUser(0.,30.);
556 hNCellsPerClusterMod0->GetXaxis()->SetRangeUser(0.,20.);
557 hNCellsPerClusterMod0->Draw("colz");
561 hNCellsPerClusterMod1->GetYaxis()->SetTitleOffset(1.2);
562 hNCellsPerClusterMod1->GetYaxis()->SetLabelSize(0.03);
564 hNCellsPerClusterMod1->GetZaxis()->SetLabelSize(0.05);
565 hNCellsPerClusterMod1->GetZaxis()->SetTitleSize(0.2);
566 hNCellsPerClusterMod1->GetZaxis()->SetTitleOffset(0.03);
567 hNCellsPerClusterMod1->GetYaxis()->SetRangeUser(0.,30.);
568 hNCellsPerClusterMod1->GetXaxis()->SetRangeUser(0.,20.);
569 hNCellsPerClusterMod1->Draw("colz");
574 hNCellsPerClusterMod2->GetYaxis()->SetTitleOffset(1.2);
575 hNCellsPerClusterMod2->GetYaxis()->SetLabelSize(0.03);
577 hNCellsPerClusterMod2->GetZaxis()->SetLabelSize(0.05);
578 hNCellsPerClusterMod2->GetZaxis()->SetTitleSize(0.04);
579 hNCellsPerClusterMod2->GetZaxis()->SetTitleOffset(0.03);
580 hNCellsPerClusterMod2->GetYaxis()->SetRangeUser(0.,30.);
581 hNCellsPerClusterMod2->GetXaxis()->SetRangeUser(0.,20.);
582 hNCellsPerClusterMod2->Draw("colz");
586 hNCellsPerClusterMod3->GetYaxis()->SetTitleOffset(1.2);
587 hNCellsPerClusterMod3->GetYaxis()->SetLabelSize(0.03);
588 hNCellsPerClusterMod3->GetZaxis()->SetLabelSize(0.05);
589 hNCellsPerClusterMod3->GetZaxis()->SetTitleSize(0.04);
590 hNCellsPerClusterMod3->GetZaxis()->SetTitleOffset(0.03);
591 hNCellsPerClusterMod3->GetYaxis()->SetRangeUser(0.,30.);
592 hNCellsPerClusterMod3->GetXaxis()->SetRangeUser(0.,20.);
593 hNCellsPerClusterMod3->Draw("colz");
598 hNCellsPerClusterMod4->GetYaxis()->SetTitleOffset(1.2);
599 hNCellsPerClusterMod4->GetYaxis()->SetLabelSize(0.03);
600 hNCellsPerClusterMod4->GetZaxis()->SetLabelSize(0.05);
601 hNCellsPerClusterMod4->GetZaxis()->SetTitleSize(0.04);
602 hNCellsPerClusterMod4->GetZaxis()->SetTitleOffset(0.03);
603 hNCellsPerClusterMod4->GetYaxis()->SetRangeUser(0.,30.);
604 hNCellsPerClusterMod4->GetXaxis()->SetRangeUser(0.,20.);
605 hNCellsPerClusterMod4->Draw("colz");
612 hNCellsPerClusterMod5->GetYaxis()->SetTitleOffset(1.2);
613 hNCellsPerClusterMod5->GetYaxis()->SetLabelSize(0.03);
614 hNCellsPerClusterMod5->GetZaxis()->SetLabelSize(0.05);
615 hNCellsPerClusterMod5->GetZaxis()->SetTitleSize(0.04);
616 hNCellsPerClusterMod5->GetZaxis()->SetTitleOffset(0.03);
617 hNCellsPerClusterMod5->GetYaxis()->SetRangeUser(0.,30.);
618 hNCellsPerClusterMod5->GetXaxis()->SetRangeUser(0.,20.);
619 hNCellsPerClusterMod5->Draw("colz");
625 hNCellsPerClusterMod6->GetYaxis()->SetTitleOffset(1.2);
626 hNCellsPerClusterMod6->GetYaxis()->SetLabelSize(0.03);
627 hNCellsPerClusterMod6->GetZaxis()->SetLabelSize(0.05);
628 hNCellsPerClusterMod6->GetZaxis()->SetTitleSize(0.04);
629 hNCellsPerClusterMod6->GetZaxis()->SetTitleOffset(0.03);
630 hNCellsPerClusterMod6->GetYaxis()->SetRangeUser(0.,30.);
631 hNCellsPerClusterMod6->GetXaxis()->SetRangeUser(0.,20.);
632 hNCellsPerClusterMod6->Draw("colz");
637 hNCellsPerClusterMod7->GetYaxis()->SetTitleOffset(1.2);
638 hNCellsPerClusterMod7->GetYaxis()->SetLabelSize(0.03);
639 hNCellsPerClusterMod7->GetZaxis()->SetLabelSize(0.05);
640 hNCellsPerClusterMod7->GetZaxis()->SetTitleSize(0.04);
641 hNCellsPerClusterMod7->GetZaxis()->SetTitleOffset(0.03);
642 hNCellsPerClusterMod7->GetYaxis()->SetRangeUser(0.,30.);
643 hNCellsPerClusterMod7->GetXaxis()->SetRangeUser(0.,20.);
644 hNCellsPerClusterMod7->Draw("colz");
650 hNCellsPerClusterMod8->GetYaxis()->SetTitleOffset(1.2);
651 hNCellsPerClusterMod8->GetYaxis()->SetLabelSize(0.03);
652 hNCellsPerClusterMod8->GetZaxis()->SetLabelSize(0.05);
653 hNCellsPerClusterMod8->GetZaxis()->SetTitleSize(0.04);
654 hNCellsPerClusterMod8->GetZaxis()->SetTitleOffset(0.03);
655 hNCellsPerClusterMod8->GetYaxis()->SetRangeUser(0.,30.);
656 hNCellsPerClusterMod8->GetXaxis()->SetRangeUser(0.,20.);
657 hNCellsPerClusterMod8->Draw("colz");
662 hNCellsPerClusterMod9->GetYaxis()->SetTitleOffset(1.2);
663 hNCellsPerClusterMod9->GetYaxis()->SetLabelSize(0.03);
664 hNCellsPerClusterMod9->GetZaxis()->SetLabelSize(0.05);
665 hNCellsPerClusterMod9->GetZaxis()->SetTitleSize(0.04);
666 hNCellsPerClusterMod9->GetZaxis()->SetTitleOffset(0.03);
667 hNCellsPerClusterMod9->GetYaxis()->SetRangeUser(0.,30.);
668 hNCellsPerClusterMod9->GetXaxis()->SetRangeUser(0.,20.);
669 hNCellsPerClusterMod9->Draw("colz");
671 outfilename = base + "CellsperCluster.pdf";
672 outfilename2 = base + "CellsperCluster.gif";
675 c35->SaveAs(outfilename);
676 c35->SaveAs(outfilename2);