]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/CaloTrackCorrelations/AliAnaEMCALTriggerClusters.cxx
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGGA / CaloTrackCorrelations / AliAnaEMCALTriggerClusters.cxx
CommitLineData
bc41680b 1/**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15
16//_________________________________________________________________________
17//
2db10729 18// Class for study of EMCAL trigger behavior
bc41680b 19//
20// -- Author: Gustavo Conesa (CNRS-LPSC-Grenoble)
21//////////////////////////////////////////////////////////////////////////////
22
23
24// --- ROOT system ---
25#include <TH2F.h>
26#include <TClonesArray.h>
27#include <TObjString.h>
28
29// --- Analysis system ---
30#include "AliAnaEMCALTriggerClusters.h"
31#include "AliCaloTrackReader.h"
32#include "AliCaloPID.h"
33#include "AliFiducialCut.h"
34#include "AliVCluster.h"
35#include "AliAODEvent.h"
36#include "AliESDEvent.h"
37
38// --- Detectors ---
39#include "AliEMCALGeometry.h"
40
41ClassImp(AliAnaEMCALTriggerClusters)
42
f59c9dd3 43//______________________________________________________
bc41680b 44AliAnaEMCALTriggerClusters::AliAnaEMCALTriggerClusters() :
45AliAnaCaloTrackCorrBaseClass(),
46fRejectTrackMatch(0), fNCellsCut(0),
47fMinM02(0), fMaxM02(0),
f59c9dd3 48fMomentum(),
bc41680b 49// Histograms
50fhE(0), fhESelected(0),
51fhEtaPhi(0), fhEtaPhiSelected(0),
52fhEtaPhiEMCALBC0(0), fhEtaPhiEMCALBC1(0), fhEtaPhiEMCALBCN(0),
53fhTimeTriggerEMCALBCCluster(0),
54fhTimeTriggerEMCALBCUMCluster(0),
55fhEtaPhiTriggerEMCALBCClusterOverTh(0),
56fhEtaPhiTriggerEMCALBCUMClusterOverTh(0),
57fhEtaPhiTriggerEMCALBCClusterBelowTh1(0),
58fhEtaPhiTriggerEMCALBCUMClusterBelowTh1(0),
59fhEtaPhiTriggerEMCALBCClusterBelowTh2(0),
60fhEtaPhiTriggerEMCALBCUMClusterBelowTh2(0),
61fhEtaPhiTriggerEMCALBCExotic(0), fhTimeTriggerEMCALBCExotic(0),
62fhEtaPhiTriggerEMCALBCUMExotic(0), fhTimeTriggerEMCALBCUMExotic(0),
63fhEtaPhiTriggerEMCALBCBad(0), fhTimeTriggerEMCALBCBad(0),
64fhEtaPhiTriggerEMCALBCUMBad(0), fhTimeTriggerEMCALBCUMBad(0),
65fhEtaPhiTriggerEMCALBCBadExotic(0), fhTimeTriggerEMCALBCBadExotic(0),
66fhEtaPhiTriggerEMCALBCUMBadExotic(0), fhTimeTriggerEMCALBCUMBadExotic(0),
67fhEtaPhiTriggerEMCALBCExoticCluster(0), fhTimeTriggerEMCALBCExoticCluster(0),
68fhEtaPhiTriggerEMCALBCUMExoticCluster(0), fhTimeTriggerEMCALBCUMExoticCluster(0),
69fhEtaPhiTriggerEMCALBCBadCluster(0), fhTimeTriggerEMCALBCBadCluster(0),
70fhEtaPhiTriggerEMCALBCUMBadCluster(0), fhTimeTriggerEMCALBCUMBadCluster(0),
71fhEtaPhiTriggerEMCALBCBadExoticCluster(0), fhTimeTriggerEMCALBCBadExoticCluster(0),
72fhEtaPhiTriggerEMCALBCUMBadExoticCluster(0), fhTimeTriggerEMCALBCUMBadExoticCluster(0),
73fhTimeTriggerEMCALBCBadMaxCell(0), fhTimeTriggerEMCALBCUMBadMaxCell(0),
74fhTimeTriggerEMCALBCBadMaxCellExotic(0), fhTimeTriggerEMCALBCUMBadMaxCellExotic(0),
75fhEtaPhiTriggerEMCALBCUMReMatchOpenTimeCluster (0), fhTimeTriggerEMCALBCUMReMatchOpenTimeCluster(0),
76fhEtaPhiTriggerEMCALBCUMReMatchCheckNeighCluster(0),fhTimeTriggerEMCALBCUMReMatchCheckNeighCluster(0),
77fhEtaPhiTriggerEMCALBCUMReMatchBothCluster(0), fhTimeTriggerEMCALBCUMReMatchBothCluster(0),
78fhTimeTriggerEMCALBC0UMReMatchOpenTime(0),
79fhTimeTriggerEMCALBC0UMReMatchCheckNeigh(0),
80fhTimeTriggerEMCALBC0UMReMatchBoth(0),
81fhEtaPhiNoTrigger(0), fhTimeNoTrigger(0),
82fhEtaPhiSelectedEMCALBC0(0), fhEtaPhiSelectedEMCALBC1(0), fhEtaPhiSelectedEMCALBCN(0),
83fhTimeSelectedTriggerEMCALBC0UMReMatchOpenTime(0),
84fhTimeSelectedTriggerEMCALBC0UMReMatchCheckNeigh(0),
85fhTimeSelectedTriggerEMCALBC0UMReMatchBoth(0)
86{
87 //default ctor
88
89 for(Int_t i = 0; i < 11; i++)
90 {
91 fhEtaPhiTriggerEMCALBC [i] = 0 ;
92 fhTimeTriggerEMCALBC [i] = 0 ;
93 fhEtaPhiTriggerEMCALBCUM [i] = 0 ;
94 fhTimeTriggerEMCALBCUM [i] = 0 ;
95
96 fhEtaPhiSelectedTriggerEMCALBC [i] = 0 ;
97 fhTimeSelectedTriggerEMCALBC [i] = 0 ;
98 fhEtaPhiSelectedTriggerEMCALBCUM [i] = 0 ;
99 fhTimeSelectedTriggerEMCALBCUM [i] = 0 ;
100
101 fhTimeSelectedTriggerEMCALBCPileUpSPD[i] = 0 ;
102 fhTimeTriggerEMCALBCPileUpSPD [i] = 0 ;
103
104 fhEtaPhiTriggerEMCALBCCluster [i] = 0 ;
105 fhEtaPhiTriggerEMCALBCUMCluster [i] = 0 ;
106 }
107
108 //Initialize parameters
109 InitParameters();
110
111}
112
113//_____________________________________________________________
114void AliAnaEMCALTriggerClusters::FillBadTriggerEventHistogram()
115{
116 // Fill Bad events histo, study bad/exotic trigger BC
117
118 Int_t idTrig = GetReader()->GetTriggerClusterIndex();
119 Bool_t exotic = GetReader()->IsExoticEvent();
120 Bool_t bad = GetReader()->IsBadCellTriggerEvent();
121
122 Bool_t ok = kFALSE;
123 if(( bad || exotic ) && idTrig >= 0 && !GetReader()->AreBadTriggerEventsRemoved()) ok = kTRUE;
124
125 if(!ok) return;
126
127 // printf("Index %d, Id %d, bad %d, exo %d\n",
128 // GetReader()->GetTriggerClusterIndex(),
129 // GetReader()->GetTriggerClusterId(),
130 // GetReader()->IsBadCellTriggerEvent(),
131 // GetReader()->IsExoticEvent() );
132
133 TClonesArray * clusterList = 0;
134 TString clusterListName = GetReader()->GetEMCALClusterListName();
135 if (GetReader()->GetInputEvent()->FindListObject(clusterListName))
136 clusterList = dynamic_cast<TClonesArray*> (GetReader()->GetInputEvent() ->FindListObject(clusterListName));
137 else if(GetReader()->GetOutputEvent())
138 clusterList = dynamic_cast<TClonesArray*> (GetReader()->GetOutputEvent()->FindListObject(clusterListName));
139
140 AliVCluster * badClusTrig = 0;
141 if(clusterList) badClusTrig = (AliVCluster*) clusterList->At(idTrig);
142 else badClusTrig = GetReader()->GetInputEvent()->GetCaloCluster(idTrig);
143
144 if(!badClusTrig)
145 {
2db10729 146 AliWarning(Form("No cluster (bad-exotic trigger) found with requested index %d \n",idTrig));
bc41680b 147 return;
148 }
149
f59c9dd3 150 badClusTrig->GetMomentum(fMomentum,GetVertex(0));
bc41680b 151
f59c9dd3 152 Float_t etaclusterBad = fMomentum.Eta();
153 Float_t phiclusterBad = fMomentum.Phi();
bc41680b 154 if( phiclusterBad < 0 ) phiclusterBad+=TMath::TwoPi();
155 Float_t tofclusterBad = badClusTrig->GetTOF()*1.e9;
156 Float_t eclusterBad = badClusTrig->E();
157
158 if( bad && exotic )
159 {
160 if(GetReader()->IsTriggerMatched())
161 {
162 fhEtaPhiTriggerEMCALBCBadExoticCluster->Fill(etaclusterBad, phiclusterBad);
163 fhTimeTriggerEMCALBCBadExoticCluster ->Fill(eclusterBad, tofclusterBad);
164 }
165 else
166 {
167 fhEtaPhiTriggerEMCALBCUMBadExoticCluster->Fill(etaclusterBad, phiclusterBad);
168 fhTimeTriggerEMCALBCUMBadExoticCluster ->Fill(eclusterBad, tofclusterBad);
169 }
170 }
171 else if( bad && !exotic )
172 {
173 if(GetReader()->IsTriggerMatched())
174 {
175 fhEtaPhiTriggerEMCALBCBadCluster->Fill(etaclusterBad, phiclusterBad);
176 fhTimeTriggerEMCALBCBadCluster ->Fill(eclusterBad, tofclusterBad);
177 }
178 else
179 {
180 fhEtaPhiTriggerEMCALBCUMBadCluster->Fill(etaclusterBad, phiclusterBad);
181 fhTimeTriggerEMCALBCUMBadCluster ->Fill(eclusterBad, tofclusterBad);
182 }
183 }// Bad cluster trigger
184 else if( !bad && exotic )
185 {
186 if(GetReader()->IsTriggerMatched())
187 {
188 fhEtaPhiTriggerEMCALBCExoticCluster->Fill(etaclusterBad, phiclusterBad);
189 fhTimeTriggerEMCALBCExoticCluster ->Fill(eclusterBad, tofclusterBad);
190 }
191 else
192 {
193 fhEtaPhiTriggerEMCALBCUMExoticCluster->Fill(etaclusterBad, phiclusterBad);
194 fhTimeTriggerEMCALBCUMExoticCluster ->Fill(eclusterBad, tofclusterBad);
195 }
196 }
197
198}
199
200//____________________________________________________________________________________________________________________________
201void AliAnaEMCALTriggerClusters::FillRawClusterTriggerBCHistograms(Int_t idcalo, Float_t ecluster, Float_t tofcluster,
202 Float_t etacluster, Float_t phicluster)
203
204{
205 // Fill trigger related histograms
206
207 Float_t tofclusterUS = TMath::Abs(tofcluster);
208
209 if(ecluster > 2)
210 {
211 if (tofclusterUS < 25) fhEtaPhiEMCALBC0->Fill(etacluster, phicluster);
212 else if (tofclusterUS < 75) fhEtaPhiEMCALBC1->Fill(etacluster, phicluster);
213 else fhEtaPhiEMCALBCN->Fill(etacluster, phicluster);
214 }
215
216 Int_t bc = GetReader()->GetTriggerClusterBC();
217 Int_t id = GetReader()->GetTriggerClusterId();
218 Bool_t badMax = GetReader()->IsBadMaxCellTriggerEvent();
219
220 Int_t histoBC = bc+5;
221 if(GetReader()->AreBadTriggerEventsRemoved()) histoBC=0; // histograms created only for one BC since the others where rejected
222
223 if(id==-2)
224 {
225 //printf("AliAnaEMCALTriggerClusters::ClusterSelected() - No trigger found bc=%d\n",bc);
226 fhEtaPhiNoTrigger->Fill(etacluster, phicluster);
227 fhTimeNoTrigger ->Fill(ecluster, tofcluster);
228 }
229 else if(TMath::Abs(bc) < 6)
230 {
231 if(!GetReader()->IsBadCellTriggerEvent() && !GetReader()->IsExoticEvent() )
232 {
233 if(GetReader()->IsTriggerMatched())
234 {
235 if(ecluster > 2) fhEtaPhiTriggerEMCALBC[histoBC]->Fill(etacluster, phicluster);
236 fhTimeTriggerEMCALBC[histoBC]->Fill(ecluster, tofcluster);
237 if(GetReader()->IsPileUpFromSPD()) fhTimeTriggerEMCALBCPileUpSPD[histoBC]->Fill(ecluster, tofcluster);
238
239 if(idcalo == GetReader()->GetTriggerClusterId())
240 {
241 fhEtaPhiTriggerEMCALBCCluster[histoBC]->Fill(etacluster, phicluster);
242 fhTimeTriggerEMCALBCCluster ->Fill(ecluster, tofcluster);
243
244 if(bc==0)
245 {
246 Float_t threshold = GetReader()->GetEventTriggerL1Threshold() ;
247 if(GetReader()->IsEventEMCALL0()) threshold = GetReader()->GetEventTriggerL0Threshold() ;
248
249 if(ecluster > threshold)
250 fhEtaPhiTriggerEMCALBCClusterOverTh->Fill(etacluster, phicluster);
251 else if(ecluster > threshold-1)
252 fhEtaPhiTriggerEMCALBCClusterBelowTh1->Fill(etacluster, phicluster);
253 else
254 fhEtaPhiTriggerEMCALBCClusterBelowTh2->Fill(etacluster, phicluster);
255 }
256 }
257 }
258 else
259 {
260 if(ecluster > 2) fhEtaPhiTriggerEMCALBCUM[histoBC]->Fill(etacluster, phicluster);
261 fhTimeTriggerEMCALBCUM[histoBC]->Fill(ecluster, tofcluster);
262
263 if(bc==0)
264 {
265 if(GetReader()->IsTriggerMatchedOpenCuts(0)) fhTimeTriggerEMCALBC0UMReMatchOpenTime ->Fill(ecluster, tofcluster);
266 if(GetReader()->IsTriggerMatchedOpenCuts(1)) fhTimeTriggerEMCALBC0UMReMatchCheckNeigh ->Fill(ecluster, tofcluster);
267 if(GetReader()->IsTriggerMatchedOpenCuts(2)) fhTimeTriggerEMCALBC0UMReMatchBoth ->Fill(ecluster, tofcluster);
268 }
269
270 if(idcalo == GetReader()->GetTriggerClusterId())
271 {
272 fhEtaPhiTriggerEMCALBCUMCluster[histoBC]->Fill(etacluster, phicluster);
273 fhTimeTriggerEMCALBCUMCluster->Fill(ecluster, tofcluster);
274 if(bc==0)
275 {
276 Float_t threshold = GetReader()->GetEventTriggerL1Threshold() ;
277 if(GetReader()->IsEventEMCALL0()) threshold = GetReader()->GetEventTriggerL0Threshold() ;
278
279 if(ecluster > threshold)
280 fhEtaPhiTriggerEMCALBCUMClusterOverTh->Fill(etacluster, phicluster);
281 else if(ecluster > threshold-1)
282 fhEtaPhiTriggerEMCALBCUMClusterBelowTh1->Fill(etacluster, phicluster);
283 else
284 fhEtaPhiTriggerEMCALBCUMClusterBelowTh2->Fill(etacluster, phicluster);
285
286 if(GetReader()->IsTriggerMatchedOpenCuts(0))
287 {
288 fhEtaPhiTriggerEMCALBCUMReMatchOpenTimeCluster->Fill(etacluster, phicluster);
289 fhTimeTriggerEMCALBCUMReMatchOpenTimeCluster ->Fill(ecluster, tofcluster);
290 }
291 if(GetReader()->IsTriggerMatchedOpenCuts(1))
292 {
293 fhEtaPhiTriggerEMCALBCUMReMatchCheckNeighCluster->Fill(etacluster, phicluster);
294 fhTimeTriggerEMCALBCUMReMatchCheckNeighCluster ->Fill(ecluster, tofcluster);
295 }
296 if(GetReader()->IsTriggerMatchedOpenCuts(2))
297 {
298 fhEtaPhiTriggerEMCALBCUMReMatchBothCluster->Fill(etacluster, phicluster);
299 fhTimeTriggerEMCALBCUMReMatchBothCluster ->Fill(ecluster, tofcluster);
300 }
301
302 }
303 }
304 }
305 }// neither bad nor exotic
306 else if(GetReader()->IsBadCellTriggerEvent() && GetReader()->IsExoticEvent())
307 {
308 if(GetReader()->IsTriggerMatched())
309 {
310 if(ecluster > 2) fhEtaPhiTriggerEMCALBCBadExotic->Fill(etacluster, phicluster);
311 fhTimeTriggerEMCALBCBadExotic->Fill(ecluster, tofcluster);
312 if(badMax) fhTimeTriggerEMCALBCBadMaxCellExotic->Fill(ecluster, tofcluster);
313 }
314 else
315 {
316 if(ecluster > 2) fhEtaPhiTriggerEMCALBCUMBadExotic->Fill(etacluster, phicluster);
317 fhTimeTriggerEMCALBCUMBadExotic->Fill(ecluster, tofcluster);
318 if(badMax) fhTimeTriggerEMCALBCUMBadMaxCellExotic->Fill(ecluster, tofcluster);
319
320 }
321 }// Bad and exotic cluster trigger
322 else if(GetReader()->IsBadCellTriggerEvent() )
323 {
324 if(GetReader()->IsTriggerMatched())
325 {
326 if(ecluster > 2) fhEtaPhiTriggerEMCALBCBad->Fill(etacluster, phicluster);
327 fhTimeTriggerEMCALBCBad->Fill(ecluster, tofcluster);
328 if(badMax) fhTimeTriggerEMCALBCBadMaxCell->Fill(ecluster, tofcluster);
329 }
330 else
331 {
332 if(ecluster > 2) fhEtaPhiTriggerEMCALBCUMBad->Fill(etacluster, phicluster);
333 fhTimeTriggerEMCALBCUMBad->Fill(ecluster, tofcluster);
334 if(badMax) fhTimeTriggerEMCALBCUMBadMaxCell->Fill(ecluster, tofcluster);
335 }
336 }// Bad cluster trigger
337 else if(GetReader()->IsExoticEvent() )
338 {
339 if(GetReader()->IsTriggerMatched())
340 {
341 if(ecluster > 2) fhEtaPhiTriggerEMCALBCExotic->Fill(etacluster, phicluster);
342 fhTimeTriggerEMCALBCExotic->Fill(ecluster, tofcluster);
343 }
344 else
345 {
346 if(ecluster > 2) fhEtaPhiTriggerEMCALBCUMExotic->Fill(etacluster, phicluster);
347 fhTimeTriggerEMCALBCUMExotic->Fill(ecluster, tofcluster);
348 }
349 }
350 }
2db10729 351 else if(TMath::Abs(bc) >= 6) AliWarning(Form("Trigger BC not expected = %d\n",bc));
bc41680b 352
353}
354
355
356//_________________________________________________________
357TObjString * AliAnaEMCALTriggerClusters::GetAnalysisCuts()
358{
359 //Save parameters used for analysis
360 TString parList ; //this will be list of parameters used for this analysis.
361 const Int_t buffersize = 255;
362 char onePar[buffersize] ;
363
2db10729 364 snprintf(onePar,buffersize,"--- AliAnaEMCALTriggerClusters ---:") ;
bc41680b 365 parList+=onePar ;
2db10729 366 snprintf(onePar,buffersize,"fRejectTrackMatch: %d;",fRejectTrackMatch) ;
bc41680b 367 parList+=onePar ;
2db10729 368 snprintf(onePar,buffersize,"fMinM02: %2.2f, fMaxM02: %2.2f;",fMinM02,fMaxM02) ;
bc41680b 369 parList+=onePar ;
2db10729 370 snprintf(onePar,buffersize,"fNCellsCut: %d;",fNCellsCut) ;
bc41680b 371 parList+=onePar ;
372
373 //Get parameters set in base class.
374 //parList += GetBaseParametersList() ;
375
376 return new TObjString(parList) ;
377}
378
f59c9dd3 379//___________________________________________________________
bc41680b 380TList * AliAnaEMCALTriggerClusters::GetCreateOutputObjects()
381{
382 // Create histograms to be saved in output file and
383 // store them in outputContainer
384 TList * outputContainer = new TList() ;
385 outputContainer->SetName("EMCALTriggerClusters") ;
386
387 Int_t nptbins = GetHistogramRanges()->GetHistoPtBins(); Float_t ptmax = GetHistogramRanges()->GetHistoPtMax(); Float_t ptmin = GetHistogramRanges()->GetHistoPtMin();
388 Int_t nphibins = GetHistogramRanges()->GetHistoPhiBins(); Float_t phimax = GetHistogramRanges()->GetHistoPhiMax(); Float_t phimin = GetHistogramRanges()->GetHistoPhiMin();
389 Int_t netabins = GetHistogramRanges()->GetHistoEtaBins(); Float_t etamax = GetHistogramRanges()->GetHistoEtaMax(); Float_t etamin = GetHistogramRanges()->GetHistoEtaMin();
390 Int_t ntimebins= GetHistogramRanges()->GetHistoTimeBins(); Float_t timemax = GetHistogramRanges()->GetHistoTimeMax(); Float_t timemin = GetHistogramRanges()->GetHistoTimeMin();
391
392 Int_t nTrigBC = 1;
393 Int_t iBCShift = 0;
394 if(!GetReader()->AreBadTriggerEventsRemoved())
395 {
396 nTrigBC = 11;
397 iBCShift = 5;
398 }
399
400 fhE = new TH1F("hE","raw cluster #it{E}",nptbins,ptmin,ptmax);
401 fhE->SetYTitle("d#it{N}/d#it{E} ");
402 fhE->SetXTitle("#it{E} (GeV)");
403 outputContainer->Add(fhE) ;
404
405 fhESelected = new TH1F("hESelected","selected cluster #it{E}",nptbins,ptmin,ptmax);
406 fhESelected->SetYTitle("d#it{N}/d#it{E} ");
407 fhESelected->SetXTitle("#it{E} (GeV)");
408 outputContainer->Add(fhESelected) ;
409
410 fhEtaPhi = new TH2F
411 ("hEtaPhi","cluster,#it{E} > 0.5 GeV, #eta vs #phi",netabins,etamin,etamax,nphibins,phimin,phimax);
412 fhEtaPhi->SetYTitle("#phi (rad)");
413 fhEtaPhi->SetXTitle("#eta");
414 outputContainer->Add(fhEtaPhi) ;
415
416 fhEtaPhiSelected = new TH2F
417 ("hEtaPhiSelected","selected cluster,#it{E} > 0.5 GeV, #eta vs #phi",netabins,etamin,etamax,nphibins,phimin,phimax);
418 fhEtaPhiSelected->SetYTitle("#phi (rad)");
419 fhEtaPhiSelected->SetXTitle("#eta");
420 outputContainer->Add(fhEtaPhiSelected) ;
421
422 fhEtaPhiEMCALBC0 = new TH2F
423 ("hEtaPhiEMCALBC0","cluster,#it{E} > 2 GeV, #eta vs #phi, for clusters with |time| < 25 ns, EMCAL-BC=0",netabins,etamin,etamax,nphibins,phimin,phimax);
424 fhEtaPhiEMCALBC0->SetYTitle("#phi (rad)");
425 fhEtaPhiEMCALBC0->SetXTitle("#eta");
426 outputContainer->Add(fhEtaPhiEMCALBC0) ;
427
428 fhEtaPhiEMCALBC1 = new TH2F
429 ("hEtaPhiEMCALBC1","cluster,#it{E} > 2 GeV, #eta vs #phi, for clusters with 25 < |time| < 75 ns, EMCAL-BC=1",netabins,etamin,etamax,nphibins,phimin,phimax);
430 fhEtaPhiEMCALBC1->SetYTitle("#phi (rad)");
431 fhEtaPhiEMCALBC1->SetXTitle("#eta");
432 outputContainer->Add(fhEtaPhiEMCALBC1) ;
433
434 fhEtaPhiEMCALBCN = new TH2F
435 ("hEtaPhiEMCALBCN","cluster,#it{E} > 2 GeV, #eta vs #phi, for clusters with |time| > 75 ns, EMCAL-BC>1",netabins,etamin,etamax,nphibins,phimin,phimax);
436 fhEtaPhiEMCALBCN->SetYTitle("#phi (rad)");
437 fhEtaPhiEMCALBCN->SetXTitle("#eta");
438 outputContainer->Add(fhEtaPhiEMCALBCN) ;
439
440 for(Int_t i = 0; i < nTrigBC; i++)
441 {
442 fhEtaPhiTriggerEMCALBC[i] = new TH2F
443 (Form("hEtaPhiTriggerEMCALBC%d",i-iBCShift),
444 Form("cluster #it{E} > 2 GeV, #eta vs #phi, Trigger EMCAL-BC=%d",i-iBCShift),
445 netabins,etamin,etamax,nphibins,phimin,phimax);
446 fhEtaPhiTriggerEMCALBC[i]->SetYTitle("#phi (rad)");
447 fhEtaPhiTriggerEMCALBC[i]->SetXTitle("#eta");
448 outputContainer->Add(fhEtaPhiTriggerEMCALBC[i]) ;
449
450 fhTimeTriggerEMCALBC[i] = new TH2F
451 (Form("hTimeTriggerEMCALBC%d",i-iBCShift),
452 Form("cluster #it{time} vs #it{E} of clusters, Trigger EMCAL-BC=%d",i-iBCShift),
453 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
454 fhTimeTriggerEMCALBC[i]->SetXTitle("#it{E} (GeV)");
455 fhTimeTriggerEMCALBC[i]->SetYTitle("#it{time} (ns)");
456 outputContainer->Add(fhTimeTriggerEMCALBC[i]);
457
458 fhTimeTriggerEMCALBCPileUpSPD[i] = new TH2F
459 (Form("hTimeTriggerEMCALBC%dPileUpSPD",i-iBCShift),
460 Form("cluster #it{time} vs #it{E} of clusters, Trigger EMCAL-BC=%d",i-iBCShift),
461 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
462 fhTimeTriggerEMCALBCPileUpSPD[i]->SetXTitle("#it{E} (GeV)");
463 fhTimeTriggerEMCALBCPileUpSPD[i]->SetYTitle("#it{time} (ns)");
464 outputContainer->Add(fhTimeTriggerEMCALBCPileUpSPD[i]);
465
466 fhEtaPhiTriggerEMCALBCUM[i] = new TH2F
467 (Form("hEtaPhiTriggerEMCALBC%d_UnMatch",i-iBCShift),
468 Form("cluster #it{E} > 2 GeV, #eta vs #phi, unmatched trigger EMCAL-BC=%d",i-iBCShift),
469 netabins,etamin,etamax,nphibins,phimin,phimax);
470 fhEtaPhiTriggerEMCALBCUM[i]->SetYTitle("#phi (rad)");
471 fhEtaPhiTriggerEMCALBCUM[i]->SetXTitle("#eta");
472 outputContainer->Add(fhEtaPhiTriggerEMCALBCUM[i]) ;
473
474 fhTimeTriggerEMCALBCUM[i] = new TH2F
475 (Form("hTimeTriggerEMCALBC%d_UnMatch",i-iBCShift),
476 Form("cluster #it{time} vs #it{E} of clusters, unmatched trigger EMCAL-BC=%d",i-iBCShift),
477 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
478 fhTimeTriggerEMCALBCUM[i]->SetXTitle("#it{E} (GeV)");
479 fhTimeTriggerEMCALBCUM[i]->SetYTitle("#it{time} (ns)");
480 outputContainer->Add(fhTimeTriggerEMCALBCUM[i]);
481
482 fhEtaPhiTriggerEMCALBCCluster[i] = new TH2F
483 (Form("hEtaPhiTriggerEMCALBC%d_OnlyTrigger",i-iBCShift),
484 Form("trigger cluster, #eta vs #phi, Trigger EMCAL-BC=%d",i-iBCShift),
485 netabins,etamin,etamax,nphibins,phimin,phimax);
486 fhEtaPhiTriggerEMCALBCCluster[i]->SetYTitle("#phi (rad)");
487 fhEtaPhiTriggerEMCALBCCluster[i]->SetXTitle("#eta");
488 outputContainer->Add(fhEtaPhiTriggerEMCALBCCluster[i]) ;
489
490 fhEtaPhiTriggerEMCALBCUMCluster[i] = new TH2F
491 (Form("hEtaPhiTriggerEMCALBC%d_OnlyTrigger_UnMatch",i-iBCShift),
492 Form("trigger cluster, #eta vs #phi, unmatched trigger EMCAL-BC=%d",i-iBCShift),
493 netabins,etamin,etamax,nphibins,phimin,phimax);
494 fhEtaPhiTriggerEMCALBCUMCluster[i]->SetYTitle("#phi (rad)");
495 fhEtaPhiTriggerEMCALBCUMCluster[i]->SetXTitle("#eta");
496 outputContainer->Add(fhEtaPhiTriggerEMCALBCUMCluster[i]) ;
497 }
498
499 fhTimeTriggerEMCALBCCluster = new TH2F("hTimeTriggerEMCALBC_OnlyTrigger",
500 "trigger cluster #it{time} vs #it{E} of clusters",
501 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
502 fhTimeTriggerEMCALBCCluster->SetXTitle("#it{E} (GeV)");
503 fhTimeTriggerEMCALBCCluster->SetYTitle("#it{time} (ns)");
504 outputContainer->Add(fhTimeTriggerEMCALBCCluster);
505
506 fhTimeTriggerEMCALBCUMCluster = new TH2F("hTimeTriggerEMCALBC_OnlyTrigger_UnMatch",
507 "trigger cluster #it{time} vs #it{E} of clusters, unmatched trigger",
508 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
509 fhTimeTriggerEMCALBCUMCluster->SetXTitle("#it{E} (GeV)");
510 fhTimeTriggerEMCALBCUMCluster->SetYTitle("#it{time} (ns)");
511 outputContainer->Add(fhTimeTriggerEMCALBCUMCluster);
512
513 fhEtaPhiTriggerEMCALBCClusterOverTh = new TH2F
514 ("hEtaPhiTriggerEMCALBC0_OnlyTrigger_OverThreshold",
515 "trigger cluster #it{E} > trigger threshold, #eta vs #phi, Trigger EMCAL-BC=0",
516 netabins,etamin,etamax,nphibins,phimin,phimax);
517 fhEtaPhiTriggerEMCALBCClusterOverTh->SetYTitle("#phi (rad)");
518 fhEtaPhiTriggerEMCALBCClusterOverTh->SetXTitle("#eta");
519 outputContainer->Add(fhEtaPhiTriggerEMCALBCClusterOverTh) ;
520
521 fhEtaPhiTriggerEMCALBCUMClusterOverTh = new TH2F
522 ("hEtaPhiTriggerEMCALBC0_OnlyTrigger_OverThreshold_UnMatch",
523 "trigger cluster #it{E} > trigger threshold, #eta vs #phi, unmatched trigger EMCAL-BC=0",
524 netabins,etamin,etamax,nphibins,phimin,phimax);
525 fhEtaPhiTriggerEMCALBCUMClusterOverTh->SetYTitle("#phi (rad)");
526 fhEtaPhiTriggerEMCALBCUMClusterOverTh->SetXTitle("#eta");
527 outputContainer->Add(fhEtaPhiTriggerEMCALBCUMClusterOverTh) ;
528
529 fhEtaPhiTriggerEMCALBCClusterBelowTh1 = new TH2F
530 ("hEtaPhiTriggerEMCALBC0_OnlyTrigger_BelowThreshold1",
531 "trigger cluster thresh-1 < #it{E} < thres, #eta vs #phi, Trigger EMCAL-BC=0",
532 netabins,etamin,etamax,nphibins,phimin,phimax);
533 fhEtaPhiTriggerEMCALBCClusterBelowTh1->SetYTitle("#phi (rad)");
534 fhEtaPhiTriggerEMCALBCClusterBelowTh1->SetXTitle("#eta");
535 outputContainer->Add(fhEtaPhiTriggerEMCALBCClusterBelowTh1) ;
536
537 fhEtaPhiTriggerEMCALBCUMClusterBelowTh1 = new TH2F
538 ("hEtaPhiTriggerEMCALBC0_OnlyTrigger_BelowThreshold1_UnMatch",
539 "trigger cluster thresh-1 < #it{E} < thres, #eta vs #phi, unmatched trigger EMCAL-BC=0",
540 netabins,etamin,etamax,nphibins,phimin,phimax);
541 fhEtaPhiTriggerEMCALBCUMClusterBelowTh1->SetYTitle("#phi (rad)");
542 fhEtaPhiTriggerEMCALBCUMClusterBelowTh1->SetXTitle("#eta");
543 outputContainer->Add(fhEtaPhiTriggerEMCALBCUMClusterBelowTh1) ;
544
545 fhEtaPhiTriggerEMCALBCClusterBelowTh2 = new TH2F
546 ("hEtaPhiTriggerEMCALBC0_OnlyTrigger_BelowThreshold2",
547 "trigger cluster thresh-2 < #it{E} < thres, #eta vs #phi, Trigger EMCAL-BC=0",
548 netabins,etamin,etamax,nphibins,phimin,phimax);
549 fhEtaPhiTriggerEMCALBCClusterBelowTh2->SetYTitle("#phi (rad)");
550 fhEtaPhiTriggerEMCALBCClusterBelowTh2->SetXTitle("#eta");
551 outputContainer->Add(fhEtaPhiTriggerEMCALBCClusterBelowTh2) ;
552
553 fhEtaPhiTriggerEMCALBCUMClusterBelowTh2 = new TH2F
554 ("hEtaPhiTriggerEMCALBC0_OnlyTrigger_BelowThreshold2_UnMatch",
555 "trigger cluster thresh-2 < #it{E} < thres, #eta vs #phi, unmatched trigger EMCAL-BC=0",
556 netabins,etamin,etamax,nphibins,phimin,phimax);
557 fhEtaPhiTriggerEMCALBCUMClusterBelowTh2->SetYTitle("#phi (rad)");
558 fhEtaPhiTriggerEMCALBCUMClusterBelowTh2->SetXTitle("#eta");
559 outputContainer->Add(fhEtaPhiTriggerEMCALBCUMClusterBelowTh2) ;
560
561 if(!GetReader()->AreBadTriggerEventsRemoved())
562 {
563 fhEtaPhiTriggerEMCALBCExotic = new TH2F
564 ("hEtaPhiTriggerExotic",
565 "cluster #it{E} > 2 GeV, #eta vs #phi, Trigger Exotic",
566 netabins,etamin,etamax,nphibins,phimin,phimax);
567 fhEtaPhiTriggerEMCALBCExotic->SetYTitle("#phi (rad)");
568 fhEtaPhiTriggerEMCALBCExotic->SetXTitle("#eta");
569 outputContainer->Add(fhEtaPhiTriggerEMCALBCExotic) ;
570
571 fhTimeTriggerEMCALBCExotic = new TH2F
572 ("hTimeTriggerExotic",
573 "cluster #it{time} vs #it{E} of clusters, Trigger Exotic ",
574 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
575 fhTimeTriggerEMCALBCExotic->SetXTitle("#it{E} (GeV)");
576 fhTimeTriggerEMCALBCExotic->SetYTitle("#it{time} (ns)");
577 outputContainer->Add(fhTimeTriggerEMCALBCExotic);
578
579 fhEtaPhiTriggerEMCALBCUMExotic = new TH2F
580 ("hEtaPhiTriggerExotic_UnMatch",
581 "cluster #it{E} > 2 GeV, #eta vs #phi, unmatched trigger Exotic",
582 netabins,etamin,etamax,nphibins,phimin,phimax);
583 fhEtaPhiTriggerEMCALBCUMExotic->SetYTitle("#phi (rad)");
584 fhEtaPhiTriggerEMCALBCUMExotic->SetXTitle("#eta");
585 outputContainer->Add(fhEtaPhiTriggerEMCALBCUMExotic) ;
586
587 fhTimeTriggerEMCALBCUMExotic = new TH2F
588 ("hTimeTriggerExotic_UnMatch",
589 "cluster #it{time} vs #it{E} of clusters, unmatched trigger Exotic",
590 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
591 fhTimeTriggerEMCALBCUMExotic->SetXTitle("#it{E} (GeV)");
592 fhTimeTriggerEMCALBCUMExotic->SetYTitle("#it{time} (ns)");
593 outputContainer->Add(fhTimeTriggerEMCALBCUMExotic);
594
595 fhEtaPhiTriggerEMCALBCExoticCluster = new TH2F
596 ("hEtaPhiTriggerExotic_OnlyTrigger",
597 "trigger cluster #it{E} > 2 GeV, #eta vs #phi, Trigger Exotic",
598 netabins,etamin,etamax,nphibins,phimin,phimax);
599 fhEtaPhiTriggerEMCALBCExoticCluster->SetYTitle("#phi (rad)");
600 fhEtaPhiTriggerEMCALBCExoticCluster->SetXTitle("#eta");
601 outputContainer->Add(fhEtaPhiTriggerEMCALBCExoticCluster) ;
602
603 fhTimeTriggerEMCALBCExoticCluster = new TH2F
604 ("hTimeTriggerExotic_OnlyTrigger",
605 "trigger cluster #it{time} vs #it{E} of clusters, Trigger Exotic",
606 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
607 fhTimeTriggerEMCALBCExoticCluster->SetXTitle("#it{E} (GeV)");
608 fhTimeTriggerEMCALBCExoticCluster->SetYTitle("#it{time} (ns)");
609 outputContainer->Add(fhTimeTriggerEMCALBCExoticCluster);
610
611 fhEtaPhiTriggerEMCALBCUMExoticCluster = new TH2F
612 ("hEtaPhiTriggerExotic_OnlyTrigger_UnMatch",
613 "trigger cluster #it{E} > 2 GeV, #eta vs #phi, unmatched trigger Exotic",
614 netabins,etamin,etamax,nphibins,phimin,phimax);
615 fhEtaPhiTriggerEMCALBCUMExoticCluster->SetYTitle("#phi (rad)");
616 fhEtaPhiTriggerEMCALBCUMExoticCluster->SetXTitle("#eta");
617 outputContainer->Add(fhEtaPhiTriggerEMCALBCUMExoticCluster) ;
618
619 fhTimeTriggerEMCALBCUMExoticCluster = new TH2F
620 ("hTimeTriggerExotic_OnlyTrigger_UnMatch",
621 "trigger cluster #it{time} vs #it{E} of clusters, unmatched trigger Exotic",
622 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
623 fhTimeTriggerEMCALBCUMExoticCluster->SetXTitle("#it{E} (GeV)");
624 fhTimeTriggerEMCALBCUMExoticCluster->SetYTitle("#it{time} (ns)");
625 outputContainer->Add(fhTimeTriggerEMCALBCUMExoticCluster);
626
627 fhEtaPhiTriggerEMCALBCBad = new TH2F
628 ("hEtaPhiTriggerBad",
629 "cluster #it{E} > 2 GeV, #eta vs #phi, Trigger Bad",
630 netabins,etamin,etamax,nphibins,phimin,phimax);
631 fhEtaPhiTriggerEMCALBCBad->SetYTitle("#phi (rad)");
632 fhEtaPhiTriggerEMCALBCBad->SetXTitle("#eta");
633 outputContainer->Add(fhEtaPhiTriggerEMCALBCBad) ;
634
635 fhTimeTriggerEMCALBCBad = new TH2F
636 ("hTimeTriggerBad",
637 "cluster #it{time} vs #it{E} of clusters, Trigger Bad ",
638 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
639 fhTimeTriggerEMCALBCBad->SetXTitle("#it{E} (GeV)");
640 fhTimeTriggerEMCALBCBad->SetYTitle("#it{time} (ns)");
641 outputContainer->Add(fhTimeTriggerEMCALBCBad);
642
643 fhEtaPhiTriggerEMCALBCUMBad = new TH2F
644 ("hEtaPhiTriggerBad_UnMatch",
645 "cluster #it{E} > 2 GeV, #eta vs #phi, unmatched trigger Bad",
646 netabins,etamin,etamax,nphibins,phimin,phimax);
647 fhEtaPhiTriggerEMCALBCUMBad->SetYTitle("#phi (rad)");
648 fhEtaPhiTriggerEMCALBCUMBad->SetXTitle("#eta");
649 outputContainer->Add(fhEtaPhiTriggerEMCALBCUMBad) ;
650
651 fhTimeTriggerEMCALBCUMBad = new TH2F
652 ("hTimeTriggerBad_UnMatch",
653 "cluster #it{time} vs #it{E} of clusters, unmatched trigger Bad",
654 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
655 fhTimeTriggerEMCALBCUMBad->SetXTitle("#it{E} (GeV)");
656 fhTimeTriggerEMCALBCUMBad->SetYTitle("#it{time} (ns)");
657 outputContainer->Add(fhTimeTriggerEMCALBCUMBad);
658
659 fhEtaPhiTriggerEMCALBCBadCluster = new TH2F
660 ("hEtaPhiTriggerBad_OnlyTrigger",
661 "trigger cluster #it{E} > 2 GeV, #eta vs #phi, Trigger Bad",
662 netabins,etamin,etamax,nphibins,phimin,phimax);
663 fhEtaPhiTriggerEMCALBCBadCluster->SetYTitle("#phi (rad)");
664 fhEtaPhiTriggerEMCALBCBadCluster->SetXTitle("#eta");
665 outputContainer->Add(fhEtaPhiTriggerEMCALBCBadCluster) ;
666
667 fhTimeTriggerEMCALBCBadCluster = new TH2F
668 ("hTimeTriggerBad_OnlyTrigger",
669 "trigger cluster #it{time} vs #it{E} of clusters, Trigger Bad",
670 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
671 fhTimeTriggerEMCALBCBadCluster->SetXTitle("#it{E} (GeV)");
672 fhTimeTriggerEMCALBCBadCluster->SetYTitle("#it{time} (ns)");
673 outputContainer->Add(fhTimeTriggerEMCALBCBadCluster);
674
675 fhEtaPhiTriggerEMCALBCUMBadCluster = new TH2F
676 ("hEtaPhiTriggerBad_OnlyTrigger_UnMatch",
677 "trigger cluster #it{E} > 2 GeV, #eta vs #phi, unmatched trigger Bad",
678 netabins,etamin,etamax,nphibins,phimin,phimax);
679 fhEtaPhiTriggerEMCALBCUMBadCluster->SetYTitle("#phi (rad)");
680 fhEtaPhiTriggerEMCALBCUMBadCluster->SetXTitle("#eta");
681 outputContainer->Add(fhEtaPhiTriggerEMCALBCUMBadCluster) ;
682
683 fhTimeTriggerEMCALBCUMBadCluster = new TH2F
684 ("hTimeTriggerBad_OnlyTrigger_UnMatch",
685 "trigger cluster time vs #it{E} of clusters, unmatched trigger Bad",
686 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
687 fhTimeTriggerEMCALBCUMBadCluster->SetXTitle("#it{E} (GeV)");
688 fhTimeTriggerEMCALBCUMBadCluster->SetYTitle("#it{time} (ns)");
689 outputContainer->Add(fhTimeTriggerEMCALBCUMBadCluster);
690
691 fhEtaPhiTriggerEMCALBCBadExotic = new TH2F
692 ("hEtaPhiTriggerBadExotic",
693 "cluster #it{E} > 2 GeV, #eta vs #phi, Trigger Bad&Exotic",
694 netabins,etamin,etamax,nphibins,phimin,phimax);
695 fhEtaPhiTriggerEMCALBCBadExotic->SetYTitle("#phi (rad)");
696 fhEtaPhiTriggerEMCALBCBadExotic->SetXTitle("#eta");
697 outputContainer->Add(fhEtaPhiTriggerEMCALBCBadExotic) ;
698
699 fhTimeTriggerEMCALBCBadExotic = new TH2F
700 ("hTimeTriggerBadExotic",
701 "cluster #it{time} vs #it{E} of clusters, Trigger Bad&Exotic ",
702 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
703 fhTimeTriggerEMCALBCBadExotic->SetXTitle("#it{E} (GeV)");
704 fhTimeTriggerEMCALBCBadExotic->SetYTitle("#it{time} (ns)");
705 outputContainer->Add(fhTimeTriggerEMCALBCBadExotic);
706
707 fhEtaPhiTriggerEMCALBCUMBadExotic = new TH2F
708 ("hEtaPhiTriggerBadExotic_UnMatch",
709 "cluster #it{E} > 2 GeV, #eta vs #phi, unmatched trigger Bad&Exotic",
710 netabins,etamin,etamax,nphibins,phimin,phimax);
711 fhEtaPhiTriggerEMCALBCUMBadExotic->SetYTitle("#phi (rad)");
712 fhEtaPhiTriggerEMCALBCUMBadExotic->SetXTitle("#eta");
713 outputContainer->Add(fhEtaPhiTriggerEMCALBCUMBadExotic) ;
714
715 fhTimeTriggerEMCALBCUMBadExotic = new TH2F
716 ("hTimeTriggerBadExotic_UnMatch",
717 "cluster #it{time} vs #it{E} of clusters, unmatched trigger Bad&Exotic",
718 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
719 fhTimeTriggerEMCALBCUMBadExotic->SetXTitle("#it{E} (GeV)");
720 fhTimeTriggerEMCALBCUMBadExotic->SetYTitle("#it{time} (ns)");
721 outputContainer->Add(fhTimeTriggerEMCALBCUMBadExotic);
722
723 fhEtaPhiTriggerEMCALBCBadExoticCluster = new TH2F
724 ("hEtaPhiTriggerBadExotic_OnlyTrigger",
725 "trigger cluster #it{E} > 2 GeV, #eta vs #phi, Trigger Bad&Exotic",
726 netabins,etamin,etamax,nphibins,phimin,phimax);
727 fhEtaPhiTriggerEMCALBCBadExoticCluster->SetYTitle("#phi (rad)");
728 fhEtaPhiTriggerEMCALBCBadExoticCluster->SetXTitle("#eta");
729 outputContainer->Add(fhEtaPhiTriggerEMCALBCBadExoticCluster) ;
730
731 fhTimeTriggerEMCALBCBadExoticCluster = new TH2F
732 ("hTimeTriggerBadExotic_OnlyTrigger",
733 "trigger cluster #it{time} vs #it{E} of clusters, Trigger Bad&Exotic",
734 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
735 fhTimeTriggerEMCALBCBadExoticCluster->SetXTitle("#it{E} (GeV)");
736 fhTimeTriggerEMCALBCBadExoticCluster->SetYTitle("#it{time} (ns)");
737 outputContainer->Add(fhTimeTriggerEMCALBCBadExoticCluster);
738
739 fhEtaPhiTriggerEMCALBCUMBadExoticCluster = new TH2F
740 ("hEtaPhiTriggerBadExotic_OnlyTrigger_UnMatch",
741 "trigger cluster #it{E} > 2 GeV, #eta vs #phi, unmatched trigger Bad&Exotic",
742 netabins,etamin,etamax,nphibins,phimin,phimax);
743 fhEtaPhiTriggerEMCALBCUMBadExoticCluster->SetYTitle("#phi (rad)");
744 fhEtaPhiTriggerEMCALBCUMBadExoticCluster->SetXTitle("#eta");
745 outputContainer->Add(fhEtaPhiTriggerEMCALBCUMBadExoticCluster) ;
746
747 fhTimeTriggerEMCALBCUMBadExoticCluster = new TH2F
748 ("hTimeTriggerBadExotic_OnlyTrigger_UnMatch",
749 "trigger cluster #it{time} vs #it{E} of clusters, unmatched trigger Bad&Exotic",
750 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
751 fhTimeTriggerEMCALBCUMBadExoticCluster->SetXTitle("#it{E} (GeV)");
752 fhTimeTriggerEMCALBCUMBadExoticCluster->SetYTitle("#it{time} (ns)");
753 outputContainer->Add(fhTimeTriggerEMCALBCUMBadExoticCluster);
754
755 fhTimeTriggerEMCALBCBadMaxCell = new TH2F
756 ("hTimeTriggerBadMaxCell",
757 "cluster #it{time} vs #it{E} of clusters, Trigger BadMaxCell",
758 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
759 fhTimeTriggerEMCALBCBadMaxCell->SetXTitle("#it{E} (GeV)");
760 fhTimeTriggerEMCALBCBadMaxCell->SetYTitle("#it{time} (ns)");
761 outputContainer->Add(fhTimeTriggerEMCALBCBadMaxCell);
762
763 fhTimeTriggerEMCALBCUMBadMaxCell = new TH2F
764 ("hTimeTriggerBadMaxCell_UnMatch",
765 "cluster #it{time} vs #it{E} of clusters, unmatched trigger BadMaxCell",
766 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
767 fhTimeTriggerEMCALBCUMBadMaxCell->SetXTitle("#it{E} (GeV)");
768 fhTimeTriggerEMCALBCUMBadMaxCell->SetYTitle("#it{time} (ns)");
769 outputContainer->Add(fhTimeTriggerEMCALBCUMBadMaxCell);
770
771
772 fhTimeTriggerEMCALBCBadMaxCellExotic = new TH2F
773 ("hTimeTriggerBadMaxCellExotic",
774 "cluster #it{time} vs #it{E} of clusters, Trigger BadMaxCell&Exotic",
775 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
776 fhTimeTriggerEMCALBCBadMaxCellExotic->SetXTitle("#it{E} (GeV)");
777 fhTimeTriggerEMCALBCBadMaxCellExotic->SetYTitle("#it{time} (ns)");
778 outputContainer->Add(fhTimeTriggerEMCALBCBadMaxCellExotic);
779
780 fhTimeTriggerEMCALBCUMBadMaxCellExotic = new TH2F
781 ("hTimeTriggerBadMaxCellExotic_UnMatch",
782 "cluster #it{time} vs #it{E} of clusters, unmatched trigger BadMaxCell&Exotic",
783 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
784 fhTimeTriggerEMCALBCUMBadMaxCellExotic->SetXTitle("#it{E} (GeV)");
785 fhTimeTriggerEMCALBCUMBadMaxCellExotic->SetYTitle("#it{time} (ns)");
786 outputContainer->Add(fhTimeTriggerEMCALBCUMBadMaxCellExotic);
787
788 fhTimeNoTrigger = new TH2F
789 ("hTimeNoTrigger",
790 "events with no foundable trigger, time vs e of clusters",
791 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
792 fhTimeNoTrigger->SetXTitle("#it{E} (GeV)");
793 fhTimeNoTrigger->SetYTitle("#it{time} (ns)");
794 outputContainer->Add(fhTimeNoTrigger);
795
796 fhEtaPhiNoTrigger = new TH2F
797 ("hEtaPhiNoTrigger",
798 "events with no foundable trigger, eta vs phi of clusters",
799 netabins,etamin,etamax,nphibins,phimin,phimax);
800 fhEtaPhiNoTrigger->SetYTitle("#phi (rad)");
801 fhEtaPhiNoTrigger->SetXTitle("#eta");
802 outputContainer->Add(fhEtaPhiNoTrigger) ;
803 }
804
805 fhEtaPhiTriggerEMCALBCUMReMatchOpenTimeCluster = new TH2F("hEtaPhiTriggerEMCALBC0_OnlyTrigger_UnMatch_ReMatch_OpenTime",
806 "cluster #it{E} > 2 GeV, #eta vs #phi, Trigger EMCAL-BC=0, un match, rematch open time",
807 netabins,etamin,etamax,nphibins,phimin,phimax);
808 fhEtaPhiTriggerEMCALBCUMReMatchOpenTimeCluster->SetYTitle("#phi (rad)");
809 fhEtaPhiTriggerEMCALBCUMReMatchOpenTimeCluster->SetXTitle("#eta");
810 outputContainer->Add(fhEtaPhiTriggerEMCALBCUMReMatchOpenTimeCluster) ;
811
812 fhTimeTriggerEMCALBCUMReMatchOpenTimeCluster = new TH2F("hTimeTrigger_OnlyTrigger_UnMatch_ReMatch_OpenTime",
813 "cluster #it{time} vs #it{E} of clusters, no match, rematch open time",
814 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
815 fhTimeTriggerEMCALBCUMReMatchOpenTimeCluster->SetXTitle("#it{E} (GeV)");
816 fhTimeTriggerEMCALBCUMReMatchOpenTimeCluster->SetYTitle("#it{time} (ns)");
817 outputContainer->Add(fhTimeTriggerEMCALBCUMReMatchOpenTimeCluster);
818
819
820 fhEtaPhiTriggerEMCALBCUMReMatchCheckNeighCluster = new TH2F("hEtaPhiTriggerEMCALBC0_OnlyTrigger_UnMatch_ReMatch_CheckNeighbours",
821 "cluster #it{E} > 2 GeV, #eta vs #phi, Trigger EMCAL-BC=0, un match, rematch with neighbour patches",
822 netabins,etamin,etamax,nphibins,phimin,phimax);
823 fhEtaPhiTriggerEMCALBCUMReMatchCheckNeighCluster->SetYTitle("#phi (rad)");
824 fhEtaPhiTriggerEMCALBCUMReMatchCheckNeighCluster->SetXTitle("#eta");
825 outputContainer->Add(fhEtaPhiTriggerEMCALBCUMReMatchCheckNeighCluster) ;
826
827 fhTimeTriggerEMCALBCUMReMatchCheckNeighCluster = new TH2F("hTimeTrigger_OnlyTrigger_UnMatch_ReMatch_CheckNeighbours",
828 "cluster #it{time} vs #it{E} of clusters, no match, rematch with neigbour parches",
829 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
830 fhTimeTriggerEMCALBCUMReMatchCheckNeighCluster->SetXTitle("#it{E} (GeV)");
831 fhTimeTriggerEMCALBCUMReMatchCheckNeighCluster->SetYTitle("#it{time} (ns)");
832 outputContainer->Add(fhTimeTriggerEMCALBCUMReMatchCheckNeighCluster);
833
834 fhEtaPhiTriggerEMCALBCUMReMatchBothCluster = new TH2F("hEtaPhiTriggerEMCALBC0_OnlyTrigger_UnMatch_ReMatch_Both",
835 "cluster #it{E} > 2 GeV, #eta vs #phi, Trigger EMCAL-BC=0, un match, rematch open time and neighbour",
836 netabins,etamin,etamax,nphibins,phimin,phimax);
837 fhEtaPhiTriggerEMCALBCUMReMatchBothCluster->SetYTitle("#phi (rad)");
838 fhEtaPhiTriggerEMCALBCUMReMatchBothCluster->SetXTitle("#eta");
839 outputContainer->Add(fhEtaPhiTriggerEMCALBCUMReMatchBothCluster) ;
840
841 fhTimeTriggerEMCALBCUMReMatchBothCluster = new TH2F("hTimeTrigger_OnlyTrigger_UnMatch_ReMatch_Both",
842 "cluster #it{time} vs #it{E} of clusters, no match, rematch open time and neigbour",
843 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
844 fhTimeTriggerEMCALBCUMReMatchBothCluster->SetXTitle("#it{E} (GeV)");
845 fhTimeTriggerEMCALBCUMReMatchBothCluster->SetYTitle("#it{time} (ns)");
846 outputContainer->Add(fhTimeTriggerEMCALBCUMReMatchBothCluster);
847
848 fhTimeTriggerEMCALBC0UMReMatchOpenTime = new TH2F("hTimeTriggerBC0_UnMatch_ReMatch_OpenTime",
849 "cluster #it{time} vs #it{E} of clusters, no match, rematch open time",
850 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
851 fhTimeTriggerEMCALBC0UMReMatchOpenTime->SetXTitle("#it{E} (GeV)");
852 fhTimeTriggerEMCALBC0UMReMatchOpenTime->SetYTitle("#it{time} (ns)");
853 outputContainer->Add(fhTimeTriggerEMCALBC0UMReMatchOpenTime);
854
855
856 fhTimeTriggerEMCALBC0UMReMatchCheckNeigh = new TH2F("hTimeTriggerBC0_UnMatch_ReMatch_CheckNeighbours",
857 "cluster #it{time} vs #it{E} of clusters, no match, rematch with neigbour parches",
858 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
859 fhTimeTriggerEMCALBC0UMReMatchCheckNeigh->SetXTitle("#it{E} (GeV)");
860 fhTimeTriggerEMCALBC0UMReMatchCheckNeigh->SetYTitle("#it{time} (ns)");
861 outputContainer->Add(fhTimeTriggerEMCALBC0UMReMatchCheckNeigh);
862
863 fhTimeTriggerEMCALBC0UMReMatchBoth = new TH2F("hTimeTriggerBC0_UnMatch_ReMatch_Both",
864 "cluster #it{time} vs #it{E} of clusters, no match, rematch open time and neigbour",
865 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
866 fhTimeTriggerEMCALBC0UMReMatchBoth->SetXTitle("#it{E} (GeV)");
867 fhTimeTriggerEMCALBC0UMReMatchBoth->SetYTitle("#it{time} (ns)");
868 outputContainer->Add(fhTimeTriggerEMCALBC0UMReMatchBoth);
869
870 fhEtaPhiSelectedEMCALBC0 = new TH2F
871 ("hEtaPhiSelectedEMCALBC0","Selected, #it{E} > 2 GeV, #eta vs #phi, for clusters with |time| < 25 ns, EMCAL-BC=0",netabins,etamin,etamax,nphibins,phimin,phimax);
872 fhEtaPhiSelectedEMCALBC0->SetYTitle("#phi (rad)");
873 fhEtaPhiSelectedEMCALBC0->SetXTitle("#eta");
874 outputContainer->Add(fhEtaPhiSelectedEMCALBC0) ;
875
876 fhEtaPhiSelectedEMCALBC1 = new TH2F
877 ("hEtaPhiSelectedEMCALBC1","Selected, #it{E} > 2 GeV, #eta vs #phi, for clusters with 25 < |time| < 75 ns, EMCAL-BC=1",netabins,etamin,etamax,nphibins,phimin,phimax);
878 fhEtaPhiSelectedEMCALBC1->SetYTitle("#phi (rad)");
879 fhEtaPhiSelectedEMCALBC1->SetXTitle("#eta");
880 outputContainer->Add(fhEtaPhiSelectedEMCALBC1) ;
881
882 fhEtaPhiSelectedEMCALBCN = new TH2F
883 ("hEtaPhiSelectedEMCALBCN","Selected, #it{E} > 2 GeV, #eta vs #phi, for clusters with |time| > 75 ns, EMCAL-BC>1",netabins,etamin,etamax,nphibins,phimin,phimax);
884 fhEtaPhiSelectedEMCALBCN->SetYTitle("#phi (rad)");
885 fhEtaPhiSelectedEMCALBCN->SetXTitle("#eta");
886 outputContainer->Add(fhEtaPhiSelectedEMCALBCN) ;
887
888 for(Int_t i = 0; i < nTrigBC; i++)
889 {
890 fhEtaPhiSelectedTriggerEMCALBC[i] = new TH2F
891 (Form("hEtaPhiSelectedTriggerEMCALBC%d",i-iBCShift),
892 Form("photon #it{E} > 2 GeV, #eta vs #phi, SelectedTrigger EMCAL-BC=%d",i-iBCShift),
893 netabins,etamin,etamax,nphibins,phimin,phimax);
894 fhEtaPhiSelectedTriggerEMCALBC[i]->SetYTitle("#phi (rad)");
895 fhEtaPhiSelectedTriggerEMCALBC[i]->SetXTitle("#eta");
896 outputContainer->Add(fhEtaPhiSelectedTriggerEMCALBC[i]) ;
897
898 fhTimeSelectedTriggerEMCALBC[i] = new TH2F
899 (Form("hTimeSelectedTriggerEMCALBC%d",i-iBCShift),
900 Form("photon #it{time} vs #it{E} of clusters, SelectedTrigger EMCAL-BC=%d",i-iBCShift),
901 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
902 fhTimeSelectedTriggerEMCALBC[i]->SetXTitle("#it{E} (GeV)");
903 fhTimeSelectedTriggerEMCALBC[i]->SetYTitle("#it{time} (ns)");
904 outputContainer->Add(fhTimeSelectedTriggerEMCALBC[i]);
905
906 fhTimeSelectedTriggerEMCALBCPileUpSPD[i] = new TH2F
907 (Form("hTimeSelectedTriggerEMCALBC%dPileUpSPD",i-iBCShift),
908 Form("photon #it{time} vs #it{E}, SelectedTrigger EMCAL-BC=%d",i-iBCShift),
909 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
910 fhTimeSelectedTriggerEMCALBCPileUpSPD[i]->SetXTitle("#it{E} (GeV)");
911 fhTimeSelectedTriggerEMCALBCPileUpSPD[i]->SetYTitle("#it{time} (ns)");
912 outputContainer->Add(fhTimeSelectedTriggerEMCALBCPileUpSPD[i]);
913
914 fhEtaPhiSelectedTriggerEMCALBCUM[i] = new TH2F
915 (Form("hEtaPhiSelectedTriggerEMCALBC%d_UnMatch",i-iBCShift),
916 Form("photon #it{E} > 2 GeV, #eta vs #phi, unmatched trigger EMCAL-BC=%d",i-iBCShift),
917 netabins,etamin,etamax,nphibins,phimin,phimax);
918 fhEtaPhiSelectedTriggerEMCALBCUM[i]->SetYTitle("#phi (rad)");
919 fhEtaPhiSelectedTriggerEMCALBCUM[i]->SetXTitle("#eta");
920 outputContainer->Add(fhEtaPhiSelectedTriggerEMCALBCUM[i]) ;
921
922 fhTimeSelectedTriggerEMCALBCUM[i] = new TH2F
923 (Form("hTimeSelectedTriggerEMCALBC%d_UnMatch",i-iBCShift),
924 Form("photon #it{time} vs #it{E}, unmatched trigger EMCAL-BC=%d",i-iBCShift),
925 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
926 fhTimeSelectedTriggerEMCALBCUM[i]->SetXTitle("#it{E} (GeV)");
927 fhTimeSelectedTriggerEMCALBCUM[i]->SetYTitle("#it{time} (ns)");
928 outputContainer->Add(fhTimeSelectedTriggerEMCALBCUM[i]);
929
930 }
931
932 fhTimeSelectedTriggerEMCALBC0UMReMatchOpenTime = new TH2F("hTimeSelectedTriggerBC0_UnMatch_ReMatch_OpenTime",
933 "cluster #it{time} vs #it{E} of photons, no match, rematch open time",
934 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
935 fhTimeSelectedTriggerEMCALBC0UMReMatchOpenTime->SetXTitle("#it{E} (GeV)");
936 fhTimeSelectedTriggerEMCALBC0UMReMatchOpenTime->SetYTitle("#it{time} (ns)");
937 outputContainer->Add(fhTimeSelectedTriggerEMCALBC0UMReMatchOpenTime);
938
939
940 fhTimeSelectedTriggerEMCALBC0UMReMatchCheckNeigh = new TH2F("hTimeSelectedTriggerBC0_UnMatch_ReMatch_CheckNeighbours",
941 "cluster #it{time} vs #it{E} of photons, no match, rematch with neigbour parches",
942 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
943 fhTimeSelectedTriggerEMCALBC0UMReMatchCheckNeigh->SetXTitle("#it{E} (GeV)");
944 fhTimeSelectedTriggerEMCALBC0UMReMatchCheckNeigh->SetYTitle("#it{time} (ns)");
945 outputContainer->Add(fhTimeSelectedTriggerEMCALBC0UMReMatchCheckNeigh);
946
947 fhTimeSelectedTriggerEMCALBC0UMReMatchBoth = new TH2F("hTimeSelectedTriggerBC0_UnMatch_ReMatch_Both",
948 "cluster #it{time} vs #it{E} of photons, no match, rematch open time and neigbour",
949 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
950 fhTimeSelectedTriggerEMCALBC0UMReMatchBoth->SetXTitle("#it{E} (GeV)");
951 fhTimeSelectedTriggerEMCALBC0UMReMatchBoth->SetYTitle("#it{time} (ns)");
952 outputContainer->Add(fhTimeSelectedTriggerEMCALBC0UMReMatchBoth);
953
954 return outputContainer ;
955
956}
957
f59c9dd3 958//_____________________________________
bc41680b 959void AliAnaEMCALTriggerClusters::Init()
960{
961
962 //Init
963 //Do some checks
964 if(!GetReader()->IsEMCALSwitchedOn() || GetReader()->GetDataType() == AliCaloTrackReader::kMC)
965 {
966 AliFatal("You want to use EMCAL real data in analysis but it is not read!! \n!!Check the configuration file!!\n");
967 }
968
969}
970
f59c9dd3 971//_______________________________________________
bc41680b 972void AliAnaEMCALTriggerClusters::InitParameters()
973{
974
975 //Initialize the parameters of the analysis.
976 AddToHistogramsName("AnaEMCALTriggerCluster_");
977
978 fRejectTrackMatch = kTRUE;
979 fMinM02 = 0.1;
980 fMaxM02 = 0.3;
981 fNCellsCut = 2;
982
983}
984
f59c9dd3 985//____________________________________________________________
bc41680b 986void AliAnaEMCALTriggerClusters::MakeAnalysisFillHistograms()
987{
988 //Do photon analysis and fill aods
989
990 TObjArray * pl = GetEMCALClusters();
991
992 if(!pl)
993 {
2db10729 994 AliWarning("TObjArray with clusters is NULL!");
bc41680b 995 return;
996 }
997
998 FillBadTriggerEventHistogram();
999
1000 // Loop on raw clusters before filtering in the reader and fill control histogram
1001
1002 Int_t nCaloClusters = pl->GetEntriesFast();
1003 Int_t idTrig = GetReader()->GetTriggerClusterIndex();
bc41680b 1004
2db10729 1005 AliDebug(1,Form("Input cluster entries %d", nCaloClusters));
bc41680b 1006
1007 // Loop on clusters
1008 for(Int_t icalo = 0; icalo < nCaloClusters; icalo++)
1009 {
1010 AliVCluster * calo = (AliVCluster*) (pl->At(icalo));
1011 //printf("calo %d, %f\n",icalo,calo->E());
1012
f59c9dd3 1013 calo->GetMomentum(fMomentum,GetVertex(0)) ;
bc41680b 1014
1015 Float_t tofcluster = calo->GetTOF()*1.e9;
f59c9dd3 1016 Float_t ecluster = fMomentum.E();
1017 Float_t etacluster = fMomentum.Eta();
1018 Float_t phicluster = fMomentum.Phi();
bc41680b 1019 if(phicluster < 0) phicluster+=TMath::TwoPi();
1020
1021 FillRawClusterTriggerBCHistograms(calo->GetID(),ecluster,tofcluster,etacluster,phicluster);
1022
1023 // Select clusters
1024
1025 if(idTrig < 0) continue;
1026
1027 fhE->Fill(ecluster);
1028 if(ecluster > 0.5) fhEtaPhi->Fill(etacluster, phicluster);
1029
1030 //.......................................
1031 //If too small or big energy, skip it
1032 if(ecluster < GetMinEnergy() || ecluster > GetMaxEnergy() ) continue ;
1033
1034 //.......................................
1035 if(calo->GetNCells() <= fNCellsCut) continue;
1036
1037 //.......................................
1038 //Check acceptance selection
1039 if(IsFiducialCutOn())
1040 {
f59c9dd3 1041 Bool_t in = GetFiducialCut()->IsInFiducialCut(fMomentum.Eta(),fMomentum.Phi(),kEMCAL) ;
bc41680b 1042 if(! in ) continue ;
1043 }
1044
1045 //.......................................
1046 //Skip matched clusters with tracks
1047 if(fRejectTrackMatch && IsTrackMatched(calo,GetReader()->GetInputEvent())) continue;
1048
1049 //.......................................
1050 //Skip matched clusters with Large shower shape
1051 if(calo->GetM02() < fMinM02 || calo->GetM02() > fMaxM02) continue;
1052
1053 fhESelected ->Fill(ecluster);
1054 if(ecluster > 0.5) fhEtaPhiSelected->Fill(etacluster, phicluster);
1055
1056 Float_t tofUS = TMath::Abs(tofcluster);
1057
1058 if(calo->E() > 2)
1059 {
1060 if (tofUS < 25) fhEtaPhiSelectedEMCALBC0->Fill(etacluster, phicluster);
1061 else if (tofUS < 75) fhEtaPhiSelectedEMCALBC1->Fill(etacluster, phicluster);
1062 else fhEtaPhiSelectedEMCALBCN->Fill(etacluster, phicluster);
1063 }
1064
1065 Int_t bc = GetReader()->GetTriggerClusterBC();
1066 Int_t histoBC = bc-5;
1067 if(GetReader()->AreBadTriggerEventsRemoved()) histoBC = 0 ; // histograms created only for one BC since the others where rejected
1068
1069 if(TMath::Abs(bc) < 6 && !GetReader()->IsBadCellTriggerEvent() && !GetReader()->IsExoticEvent())
1070 {
1071 if(GetReader()->IsTriggerMatched())
1072 {
1073 if(calo->E() > 2) fhEtaPhiSelectedTriggerEMCALBC[histoBC]->Fill(etacluster, phicluster);
1074 fhTimeSelectedTriggerEMCALBC[histoBC]->Fill(ecluster, tofcluster);
1075 if(GetReader()->IsPileUpFromSPD()) fhTimeSelectedTriggerEMCALBCPileUpSPD[histoBC]->Fill(ecluster, tofcluster);
1076 }
1077 else
1078 {
1079 if(calo->E() > 2) fhEtaPhiSelectedTriggerEMCALBCUM[histoBC]->Fill(etacluster, phicluster);
1080 fhTimeSelectedTriggerEMCALBCUM[histoBC]->Fill(calo->E(), tofcluster);
1081
1082 if(bc==0)
1083 {
1084 if(GetReader()->IsTriggerMatchedOpenCuts(0)) fhTimeSelectedTriggerEMCALBC0UMReMatchOpenTime ->Fill(ecluster, tofcluster);
1085 if(GetReader()->IsTriggerMatchedOpenCuts(1)) fhTimeSelectedTriggerEMCALBC0UMReMatchCheckNeigh ->Fill(ecluster, tofcluster);
1086 if(GetReader()->IsTriggerMatchedOpenCuts(2)) fhTimeSelectedTriggerEMCALBC0UMReMatchBoth ->Fill(ecluster, tofcluster);
1087 }
1088 }
1089 }
1090 else if(TMath::Abs(bc) >= 6)
2db10729 1091 AliWarning(Form("Trigger BC not expected = %d",bc));
bc41680b 1092
1093 }// cluster loop
1094
2db10729 1095 AliDebug(1,"End fill histograms");
bc41680b 1096
1097}
1098
1099
1100//__________________________________________________________________
1101void AliAnaEMCALTriggerClusters::Print(const Option_t * opt) const
1102{
1103 //Print some relevant parameters set for the analysis
1104
1105 if(! opt)
1106 return;
1107
1108 printf("**** Print %s %s ****\n", GetName(), GetTitle() ) ;
1109 //AliAnaCaloTrackCorrBaseClass::Print(" ");
1110 printf("Reject clusters with a track matched = %d\n", fRejectTrackMatch);
1111 printf("M02 Cut: %2.2f < m02 < %2.2f\n" , fMinM02,fMaxM02);
1112 printf("Number of cells in cluster is > %d \n" , fNCellsCut);
1113}