]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/CaloTrackCorrelations/macros/QA/QAplots.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGGA / CaloTrackCorrelations / macros / QA / QAplots.C
CommitLineData
02475213 1#if !defined(__CINT__) || defined(__MAKECINT__)
2#include <TFile.h>
3#include <TH1F.h>
4#include <TH2F.h>
5#include <TH3D.h>
6#include <Riostream.h>
7#include <TCanvas.h>
8#include <TGraphErrors.h>
9#include <TGrid.h>
10#include <TFileMerger.h>
11#include <TMultiGraph.h>
12#include <TROOT.h>
13#include <TString.h>
14#include <TStyle.h>
15#include <TLegend.h>
16#include <TGridCollection.h>
17#include <TROOT.h>
18#include <TGridResult.h>
19#include <TClonesArray.h>
20#include <TObjString.h>
21#include <stdio.h>
22#include <fstream>
23#include <iostream>
24#include "AliEMCALGeometry.h"
25#endif
26using namespace std;
27
28
29
30// Macro to do some EMCAL QA plots (from QA outputs (QAresults.root) of the QA train (AliAnaCalorimeterQA task) )
31//
32//
33// 1. macro needs AliEMCALGeometry to compute maps
34
35// 2. this macro makes the QA plots for
36// - period or single runs
37//
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
43//
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
48//
49//
50// 5. The trigger corresponds to the name of the output directory in the root
51// file so
52// "EMC7" for EMC triggers and "default" for AnyInt (Minbias)
53//
54// Authors: Alexis Mas, M. Germain SUBATECH,
55
56
57void QAplots(TString fCalorimeter = "EMCAL", TString period = "LHC11h", TString pass = "pass1_HLT", TString trigger= "default"){
58
59 FILE * pFile;
60 TString file = "";
61 if (trigger=="default") file = "/scratch/alicehp2/germain/QA/"+period+"/"+ pass + "/runlistMB.txt" ;
62 else file = "/scratch/alicehp2/germain/QA/"+period+"/"+ pass + "/runlistEMC.txt" ;
63
64 pFile = fopen(file.Data(), "r"); //open the text file where include the run list and correct run index
65
66 cout << " fcalo: " << fCalorimeter << "; period: " << period << "; pass: " << pass << " trigger "<<trigger<< endl;
67
68 Int_t p;
69 Int_t q;
70 Int_t ncols;
71 Int_t nlines = 0 ;
72 Int_t RunId[500] ;
73
74 Double_t x[500] ;
75 Double_t xrun[500] ;
76
77 while (1){
78 ncols = fscanf(pFile,"%d %d ",&p,&q);
79 if (ncols< 0) break;
80 x[nlines]=p;
81 RunId[nlines]=q;
82 xrun[nlines]=1.*q;
83 nlines++;
84 }
85 fclose(pFile);
86
87 const Int_t nRun = nlines ;
88 TString base ;
89 for(Int_t i = 0 ; i < nRun ; i++) {
90 base = "/scratch/alicehp2/germain/QA/";
91 base += period ;
92 base += "/";
93 base += pass ;
94 base += "/";
95 base += RunId[i] ;
96 TString infile ;
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);
101 f->Close();
102 }
103}
104
105void QAplots(Int_t run, TString period ="LHC11h", TString pass="pass1_HLT", TString trigger= "default"){
106 TString base ;
107 base = "/scratch/alicehp2/germain/QA/";
108 base += period ;
109 base += "/";
110 base += pass ;
111 base += "/";
112 base += run ;
113 TString infile ;
114 infile = base + ".root" ;
115 TFile *f = TFile::Open(infile);
116 DrawOccupancy(run,period,pass,trigger,f);
117 DrawRun(run,period,pass,trigger,f);
118 f->Close();
119}
120
121void 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)");
138
139 gStyle->SetPalette(1);
140 gStyle->SetOptStat(0);
141
142 AliEMCALGeometry *geom = new AliEMCALGeometry("EMCAL_COMPLETEv1","EMCAL");
143 Int_t nSupMod, nModule, nIphi, nIeta, nModulo, iRCU;
144 Int_t iphi, ieta,jj,kk;
145 Int_t icol, irow;
146 Int_t bineta, binphi;
147 Int_t realbineta, realbinphi;
148 TVector3 vg, gg;
149 Double_t eta, phi, glob[3];
150
151
152 //LHC11d
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};
154
155
156 //LHC11e
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};
158
159 //LHC11f
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};
161
162 //NO MASK
163 Int_t mask[1] = {2222222};
164
165 TH2F *hCellAmplitude;
166 TH1F *hNEvents;
167 Int_t Events;
168 Int_t n=0;
169 TString base = "/scratch/alicehp2/germain/QA/";
170 base += period ;
171 base += "/";
172 base += pass ;
173 base += "/";
174 base += run ;
175 base += "/";
176 base += trigger;
177 // TString infile ;
178 //infile = base + ".root" ;
179 //*f = TFile::Open(infile);
180 TString direct = "CaloQA_";
181 direct += trigger;
182 TDirectoryFile *dir = (TDirectoryFile *)f->Get(direct);
183 TList *outputList = (TList*)dir->Get(direct);
184
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");
190 Double_t numb =0 ;
191 Double_t Eth=0;
192 Eth = 5.;
193 if ( trigger=="EMC7") Eth=20.;
194
195
196 for(Int_t i = 0; i < 11520 ; i++){
197 Double_t Esum = 0;
198 Double_t Nsum = 0;
199 Double_t EsumH = 0;
200 Double_t NsumH = 0;
201 Double_t Ratio = 0;
202
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);
206
207 if (E < 0.07) continue;
208 // if (E > 0.07) continue;
209
210 if (E <= Eth) {
211 Esum += E*N;
212 Nsum += N;
213 }
214 else {
215 EsumH += E*N;
216 NsumH += N;
217 }
218 }
219
220 if(NsumH > 100) Ratio = Nsum/NsumH ;
221 // if(Nsum > 20000 && Nsum < 22000 ) cout<<" "<<i ;
222
223 Int_t absId = 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;
227
228 // hBadCellMap->Fill(1)
229
230
231 geom->GetCellIndex(absId, nSupMod, nModule, nIphi, nIeta);
232 geom->GetCellPhiEtaIndexInSModule(nSupMod,nModule,nIphi,nIeta, iphi,ieta);
233
234 realbinphi = 120-(nSupMod/2)*24 -iphi -1;
235
236
237 if (nSupMod%2==0) realbineta= 48-ieta -1;
238 if (nSupMod%2==1) realbineta= -ieta -1;
239
240 // to do as usual (Gustavo) SM0 high left SM9 low right
241
242 binphi = 96 - (nSupMod/2)*24 +iphi;
243 if (nSupMod%2==1) bineta=ieta;
244 /*
245 Int_t compt; if(i==0) compt = 1;
246 if(ieta==0){ cout<<compt <<endl ; compt ++;}
247 */
248 if (nSupMod%2==0) bineta=ieta-48;
249
250
251
252 hEnergyMapReal->Fill(realbineta,realbinphi,Esum/(Double_t)Events);
253 hOccupancyMapReal->Fill(realbineta,realbinphi,Nsum/(Double_t)Events);
254 // }
255
256 }
257 cout<<"N events : "<<Events<<endl;
258
259 TString Energy ; Energy = base + "MapEnergy.pdf";
260 TString Entries ; Entries = base + "MapEntries.pdf";
261 TCanvas *c1 = new TCanvas("c1","energymap",800,800);
262 c1->SetFillColor(0);
263 c1->SetGrid();
264 c1->cd();
265 c1->SetRightMargin(0.14);
266 TString title = "run ";
267 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
274 }else{
275 hEnergyMapReal->SetMinimum(0.005); //FOR Esum MB
276 hEnergyMapReal->SetMaximum(0.02); //FOR Esum
277 }
278 hEnergyMapReal->Draw("colz");
279
280 c1->cd();
281 c1->SaveAs(Energy);
282
283 TCanvas *c2 = new TCanvas("c2","occupancy",800,800);
284 //c2->SetLogz();
285 c2->SetFillColor(0);
286 c2->SetGrid();
287 c2->cd();
288 c2->SetRightMargin(0.14);
289 TString title2 = "run ";
290 title2 += run ;
291 title2 += " Occupancy map";
292 if(trigger=="EMC7") title2 += " EMC ";
293
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}
299 else{
300 hOccupancyMapReal->SetMinimum(0.01); //FOR Nsum
301 hOccupancyMapReal->SetMaximum(0.1); //FOR Nsum
302 }
303 hOccupancyMapReal->Draw("colz");
304 c2->cd();
305 c2->SaveAs(Entries);
306 c2->SaveAs(Entries2);
307
308}
309void DrawRun(const Int_t run = 167713, TString period ="LHC11h", TString pass="pass1_HLT", TString trigger= "default", TFile *f =0x0){
310
311 gStyle->SetPalette(1);
312 TString base = "/scratch/alicehp2/germain/QA/";
313 base += period ;
314 base += "/";
315 base += pass ;
316 base += "/";
317 TString outfilename ;
318 TString outfilename2 ;
319 base += run ;
320 base += "/" ;
321 base += trigger ;
322 char legend [100] ;
323 char legend2 [100] ;
324 TString direct = "CaloQA_";
325 direct += trigger;
326
327
328 TDirectoryFile *dir = (TDirectoryFile *)f->Get(direct);
329 TList *outputList = (TList*)dir->Get(direct);
330
331
332 if (trigger =="EMC7"){ sprintf(legend,"Run %i EMC ",run);}
333 else sprintf(legend,"Run %i ",run);
334
335
336
337 hClusterTimeEnergy =(TH2F *)outputList->FindObject("EMCAL_hClusterTimeEnergy");
338
339 TString title3 =" Time Vs Energy";
340 title3 += legend ;
341 hClusterTimeEnergy->SetStats(kFALSE);
342 hClusterTimeEnergy->SetTitle(title3);
343
344 hClusterVsTrack =(TH2F *)outputList->FindObject("EMCAL_hCaloTrackMNClusters");
345 hClusterVsTrack->SetStats(kFALSE);
346 TString title3 =" N cluster Vs N track";
347 title3 += legend ;
348 hClusterVsTrack->SetTitle(title3);
349
350
351 hClusterEVsTrack =(TH2F *)outputList->FindObject("EMCAL_hCaloTrackMEClusters");
352 hClusterEVsTrack->SetStats(kFALSE);
353 hClusterEVsTrack->SetTitle(legend);
354 TString title3 =" Sum E cluster Vs N track";
355 title3 += legend ;
356 hClusterEVsTrack->SetTitle(title3);
357
358
359 hClusterEVsV0S =(TH2F *)outputList->FindObject("EMCAL_hCaloV0SEClusters");
360 hClusterEVsV0S->SetStats(kFALSE);
361 TString title3 =" Sum E cluster Vs V0 signal";
362 title3 += legend ;
363 hClusterEVsV0S->SetTitle(title3);
364
365
366 hNCellsPerClusterMod0 =(TH2F *)outputList->FindObject("EMCAL_hNCellsPerCluster_Mod0");
367 hNCellsPerClusterMod0->SetStats(kFALSE);
368
369 if(trigger=="EMC7"){sprintf(legend2,"Run %i EMC Mod 0",run);}
370 else {sprintf(legend2,"Run %i Mod 0",run);}
371
372
373 hNCellsPerClusterMod0->SetTitle(legend2);
374
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);}
379
380
381 hNCellsPerClusterMod1->SetTitle(legend2);
382
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);}
387
388 hNCellsPerClusterMod2->SetTitle(legend2);
389
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);}
394
395 hNCellsPerClusterMod3->SetTitle(legend2);
396
397
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);}
402
403 hNCellsPerClusterMod4->SetTitle(legend2);
404
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);
410
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);
416
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);
422
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);
428
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);
434
435 TCanvas * c31 = new TCanvas("Time Vs E ", "Time Vs E", 600, 600);
436 c31->SetLogz();
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);
444
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");
450 c31->cd();
451
452 outfilename = base + "TimeRun.pdf" ;
453 outfilename2 = base + "TimeRun.gif" ;
454
455 c31->SaveAs(outfilename);
456 c31->SaveAs(outfilename2);
457
458
459 TCanvas * c32 = new TCanvas(" Cluster Vs Track ","Cluster vs Track", 600, 600);
460 c32->SetLogz();
461 c32->SetFillColor(0);
462 c32->SetBorderSize(0);
463 c32->SetFrameBorderMode(0);
464 // c31->SetOptStat(0);
465
466
467 hClusterVsTrack->GetYaxis()->SetTitleOffset(1.2);
468 hClusterVsTrack->GetYaxis()->SetLabelSize(0.03);
469
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");
475 c32->cd();
476
477 outfilename = base + "CaloTrackMult.pdf";
478
479 outfilename2 = base + "CaloTrackMult.gif";
480
481 c32->SaveAs(outfilename);
482
483 c32->SaveAs(outfilename2);
484
485
486 TCanvas * c33 = new TCanvas(" Cluster E Vs Track ","Cluster E vs Track", 600, 600);
487 c33->SetLogz();
488 c33->SetFillColor(0);
489 c33->SetBorderSize(0);
490 c33->SetFrameBorderMode(0);
491 // c31->SetOptStat(0);
492
493 hClusterEVsTrack->GetYaxis()->SetTitleOffset(1.2);
494 hClusterEVsTrack->GetYaxis()->SetLabelSize(0.03);
495
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");
501 c33->cd();
502
503 outfilename = base + "CaloETrackMult.pdf";
504 outfilename2 = base + "CaloETrackMult.gif";
505
506 c33->SaveAs(outfilename);
507
508 c33->SaveAs(outfilename2);
509
510 TCanvas * c34 = new TCanvas(" Cluster E Vs V0 ","Cluster E vs V0", 600, 600);
511 c34->SetLogz();
512 c34->SetFillColor(0);
513 c34->SetBorderSize(0);
514 c34->SetFrameBorderMode(0);
515 // c31->SetOptStat(0);
516
517
518 hClusterEVsV0S->GetYaxis()->SetTitleOffset(1.2);
519 hClusterEVsV0S->GetYaxis()->SetLabelSize(0.03);
520
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");
526 c34->cd();
527
528
529 outfilename = base + "CaloEVsV0s.pdf";
530 outfilename2 = base + "CaloEVsV0s.gif";
531
532 c34->SaveAs(outfilename);
533 c34->SaveAs(outfilename2);
534
535
536
537
538
539 TCanvas * c35 = new TCanvas(" Cells per Cluster 0 ","Cells per Cluster 0", 1000, 1200);
540 c35->SetLogz();
541 c35->SetFillColor(0);
542 c35->SetBorderSize(0);
543 c35->SetFrameBorderMode(0);
544 // c31->SetOptStat(0);
545 c35->Divide(3,4);
546
547 c35->cd(1);
548 gPad->SetLogz();
549 hNCellsPerClusterMod0->GetYaxis()->SetTitleOffset(1.2);
550 hNCellsPerClusterMod0->GetYaxis()->SetLabelSize(0.03);
551
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");
558 c35->cd(2);
559
560 gPad->SetLogz();
561 hNCellsPerClusterMod1->GetYaxis()->SetTitleOffset(1.2);
562 hNCellsPerClusterMod1->GetYaxis()->SetLabelSize(0.03);
563
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");
570 c35->cd(3);
571 gPad->SetLogz();
572
573
574 hNCellsPerClusterMod2->GetYaxis()->SetTitleOffset(1.2);
575 hNCellsPerClusterMod2->GetYaxis()->SetLabelSize(0.03);
576
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");
583 c35->cd(4);
584
585 gPad->SetLogz();
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");
594
595 c35->cd(5);
596 gPad->SetLogz();
597
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");
606
607
608
609 c35->cd(6);
610 gPad->SetLogz();
611
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");
620
621
622 c35->cd(7);
623 gPad->SetLogz();
624
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");
633
634 c35->cd(8);
635 gPad->SetLogz();
636
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");
645
646
647 c35->cd(9);
648
649 gPad->SetLogz();
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");
658
659 c35->cd(10);
660 gPad->SetLogz();
661
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");
670
671 outfilename = base + "CellsperCluster.pdf";
672 outfilename2 = base + "CellsperCluster.gif";
673
674
675 c35->SaveAs(outfilename);
676 c35->SaveAs(outfilename2);
677
678}