add method to get centrality of the event for a given centrality class, use it in...
[u/mrichter/AliRoot.git] / PWG4 / PartCorrBase / AliAnaPartCorrBaseClass.cxx
CommitLineData
1c5acb87 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 is 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/* $Id: $ */
16
17//_________________________________________________________________________
18// Base class for analysis algorithms
19//-- Author: Gustavo Conesa (LNF-INFN)
20//_________________________________________________________________________
5025c139 21// --Yaxian Mao: Add the possibality for event selection analysis based on vertex and multiplicity bins (10/10/2010)
1c5acb87 22
23
24// --- ROOT system ---
25#include <TClonesArray.h>
477d6cee 26//#include <Riostream.h>
1c5acb87 27
28//---- AliRoot system ----
1c5acb87 29#include "AliAnaPartCorrBaseClass.h"
30#include "AliCaloTrackReader.h"
765d44e7 31#include "AliCalorimeterUtils.h"
1c5acb87 32#include "AliCaloPID.h"
ff45398a 33#include "AliFiducialCut.h"
1c5acb87 34#include "AliIsolationCut.h"
6639984f 35#include "AliMCAnalysisUtils.h"
1c5acb87 36#include "AliNeutralMesonSelection.h"
f37fa8d2 37#include "AliVCaloCells.h"
477d6cee 38#include "AliAODEvent.h"
42dc8e7d 39#include "AliAODHandler.h"
40#include "AliAnalysisManager.h"
c8fe2783 41#include "AliAODPWG4Particle.h"
1c5acb87 42
43ClassImp(AliAnaPartCorrBaseClass)
44
45
46//_______________________________________________
47 AliAnaPartCorrBaseClass::AliAnaPartCorrBaseClass() :
48 TObject(), fDataMC(0), fDebug(0), fCheckFidCut(0),
7cd4e982 49 fCheckCaloPID(0), fRecalculateCaloPID(0), fMinPt(0), fMaxPt(0),
5025c139 50 fMultiBin(0),fNZvertBin(0),fNrpBin(0),fZvtxCut(0.), fMaxMulti(0),fMinMulti(0),
d7c10d78 51 fUseSelectEvent(kFALSE), fMakePlots(kFALSE),
3c769bf6 52 fReader(0x0), fInputAODBranch(0x0), fInputAODName(""),
53 fOutputAODBranch(0x0), fNewAOD(kFALSE),
54 fOutputAODName(""), fOutputAODClassName(""),
591cc579 55 fAODObjArrayName(""), fAddToHistogramsName(""),
3ff76907 56 fCentralityClass("V0M"),fCentralityOpt(10),
3c769bf6 57 fCaloPID(0x0), fFidCut(0x0), fIC(0x0),fMCUtils(0x0), fNMS(0x0),
78219bac 58 fCaloUtils(0x0),
5a2dbc3c 59 fHistoPtBins(0), fHistoPtMax(0.), fHistoPtMin(0.),
60 fHistoPhiBins(0), fHistoPhiMax(0.), fHistoPhiMin(0.),
61 fHistoEtaBins(0), fHistoEtaMax(0.), fHistoEtaMin(0.),
62 fHistoMassBins(0), fHistoMassMax(0.), fHistoMassMin(0.),
798a9b04 63 fHistoAsymBins(0), fHistoAsymMax(0.), fHistoAsymMin(0.),
64 fHistoV0SBins(0), fHistoV0SMax(0), fHistoV0SMin(0),
65 fHistoV0MBins(0), fHistoV0MMax(0), fHistoV0MMin(0),
66 fHistoTrMBins(0), fHistoTrMMax(0), fHistoTrMMin(0)
1c5acb87 67{
68 //Default Ctor
4a745797 69
1c5acb87 70 //Initialize parameters
71 InitParameters();
72}
fb9841b8 73
1c5acb87 74//____________________________________________________________________________
75AliAnaPartCorrBaseClass::~AliAnaPartCorrBaseClass()
76{
77 // Remove all pointers except analysis output pointers.
7787a778 78//printf("---Delete analysis %s\n", fAODObjArrayName.Data());
79 // Not sure if it should be me who deletes the delta AOD branches.
80// if(fOutputAODBranch){
81// fOutputAODBranch->Clear() ;
82// delete fOutputAODBranch ;
83// }
84//
85// if(fInputAODBranch){
86// fInputAODBranch->Clear() ;
87// delete fInputAODBranch ;
88// }
477d6cee 89
7787a778 90 //if(fCaloUtils) delete fCaloUtils ; //Already deleted in maker
91 //if(fReader) delete fReader ; //Already deleted in maker
92
765d44e7 93 if(fCaloPID) delete fCaloPID ;
94 if(fFidCut) delete fFidCut ;
95 if(fIC) delete fIC ;
96 if(fMCUtils) delete fMCUtils ;
97 if(fNMS) delete fNMS ;
5025c139 98
99 // printf("--- analysis deleted \n");
1c5acb87 100}
101
1c5acb87 102//____________________________________________________________________________
103void AliAnaPartCorrBaseClass::AddAODParticle(AliAODPWG4Particle pc) {
104 //Put AOD calo cluster in the AODParticleCorrelation array
105
477d6cee 106 if(fOutputAODBranch){
107
108 Int_t i = fOutputAODBranch->GetEntriesFast();
109 //new((*fOutputAODBranch)[i]) AliAODPWG4Particle(pc);
110 if(strcmp(fOutputAODBranch->GetClass()->GetName(),"AliAODPWG4Particle")==0)
111 new((*fOutputAODBranch)[i]) AliAODPWG4Particle(pc);
112 else if(strcmp(fOutputAODBranch->GetClass()->GetName(),"AliAODPWG4ParticleCorrelation")==0)
113 new((*fOutputAODBranch)[i]) AliAODPWG4ParticleCorrelation(pc);
114 else {
115 printf("AliAnaPartCorrBaseClass::AddAODParticle() - Cannot add an object of type < %s >, to the AOD TClonesArray \n",
116 fOutputAODBranch->GetClass()->GetName());
117 abort();
118 }
119 }
120 else {
121 printf(" AliAnaPartCorrBaseClass::AddAODParticle() - No AOD branch available!!!\n");
122 abort();
123 }
124
1c5acb87 125}
126
f37fa8d2 127//___________________________________________________________________________
42dc8e7d 128TClonesArray * AliAnaPartCorrBaseClass::GetAODBranch(TString aodName) const {
129 //Recover ouput and input AOD pointers for each event in the maker
130
131 //Delta AODs
1e86c71e 132 if(fDebug > 3) printf("AliAnaPartCorrBaseClass::GetAODBranch() - Get Input Branch with name: <%s>; \n",aodName.Data());
133
f37fa8d2 134 //Get the AOD handler, if output AOD is created use it, if not get the branches from the input which should be deltaAODs
135 AliAODHandler* aodHandler = 0x0;
136 Bool_t outAOD = kFALSE;
137 if((AliAnalysisManager::GetAnalysisManager())->GetOutputEventHandler()) outAOD = kTRUE;
138 if(outAOD) aodHandler = (AliAODHandler*) ((AliAnalysisManager::GetAnalysisManager())->GetOutputEventHandler());
139 else aodHandler = (AliAODHandler*) ((AliAnalysisManager::GetAnalysisManager())->GetInputEventHandler());
140
141 if(!GetReader()->WriteDeltaAODToFile())
142 {
143 return (TClonesArray *) (fReader->GetAODBranchList())->FindObject(aodName);
144 }
145 else if (aodHandler->GetExtensions())
146 {
147 AliAODExtension *ext = (AliAODExtension*)aodHandler->GetExtensions()->FindObject(GetReader()->GetDeltaAODFileName());
148 if(ext){
149 AliAODEvent *aodEvent = ext->GetAOD();
150 TClonesArray * aodbranch = (TClonesArray*) aodEvent->FindListObject(aodName);
151 if(aodbranch) return aodbranch;
152 else {
153 if(outAOD) return (TClonesArray *) fReader->GetOutputEvent()->FindListObject(aodName);
154 else return (TClonesArray *) fReader->GetInputEvent() ->FindListObject(aodName);
155 }
156 }
157 else{//If no Delta AODs, kept in standard branch, to revise.
158 if(outAOD) return (TClonesArray *) fReader->GetOutputEvent()->FindListObject(aodName);
159 else return (TClonesArray *) fReader->GetInputEvent() ->FindListObject(aodName);
160 }
161 }
162 else{ //If no Delta AODs, kept in standard branch, to revise.
163 if(outAOD) return (TClonesArray *) fReader->GetOutputEvent()->FindListObject(aodName);
164 else return (TClonesArray *) fReader->GetInputEvent() ->FindListObject(aodName);
165 }
166
42dc8e7d 167}
477d6cee 168
477d6cee 169
f37fa8d2 170
42dc8e7d 171//___________________________________________________
172void AliAnaPartCorrBaseClass::ConnectInputOutputAODBranches() {
173 //Recover ouput and input AOD pointers for each event in the maker
174
175 //Delta AODs
1e86c71e 176 if(fDebug > 3) printf("AliAnaPartCorrBaseClass::ConnectInputOutputAODBranches() - Connect Input with name: <%s>; Connect output with name <%s>\n",fInputAODName.Data(),fOutputAODName.Data());
f37fa8d2 177
1e86c71e 178 //Get the AOD handler, if output AOD is created use it, if not get the branches from the input which should be deltaAODs
179 AliAODHandler* aodHandler = 0x0;
180 Bool_t outAOD = kFALSE;
181 if((AliAnalysisManager::GetAnalysisManager())->GetOutputEventHandler()) outAOD = kTRUE;
182 if(outAOD) aodHandler = (AliAODHandler*) ((AliAnalysisManager::GetAnalysisManager())->GetOutputEventHandler());
f37fa8d2 183 else aodHandler = (AliAODHandler*) ((AliAnalysisManager::GetAnalysisManager())->GetInputEventHandler());
1e86c71e 184
f37fa8d2 185 if(!GetReader()->WriteDeltaAODToFile())
186 {
187 fOutputAODBranch = (TClonesArray *) (fReader->GetAODBranchList())->FindObject(fOutputAODName);
188 fInputAODBranch = (TClonesArray *) (fReader->GetAODBranchList())->FindObject(fInputAODName);
189 }
190 else if (aodHandler->GetExtensions()) {
191
42dc8e7d 192 AliAODExtension *ext = (AliAODExtension*)aodHandler->GetExtensions()->FindObject(GetReader()->GetDeltaAODFileName());
193 if(ext){
f37fa8d2 194 AliAODEvent *aodEvent = ext->GetAOD();
195 if(fNewAOD)fOutputAODBranch = (TClonesArray*) aodEvent->FindListObject(fOutputAODName);
196 fInputAODBranch = (TClonesArray*) aodEvent->FindListObject(fInputAODName);
197 if(!fOutputAODBranch && fNewAOD) fOutputAODBranch = (TClonesArray *) fReader->GetOutputEvent()->FindListObject(fOutputAODName);
198 if(!fInputAODBranch) fInputAODBranch = (TClonesArray *) fReader->GetOutputEvent()->FindListObject(fInputAODName);
42dc8e7d 199 }
200 else{//If no Delta AODs, kept in standard branch, to revise.
0866d83a 201 if(fNewAOD && fReader->GetOutputEvent()) {
1e86c71e 202 fOutputAODBranch = (TClonesArray *) fReader->GetOutputEvent()->FindListObject(fOutputAODName);
203 fInputAODBranch = (TClonesArray *) fReader->GetOutputEvent()->FindListObject(fInputAODName);
204 }
7cd31fd6 205 else {
206 fInputAODBranch = (TClonesArray *) fReader->GetInputEvent()->FindListObject(fInputAODName);
0866d83a 207 if(!fInputAODBranch && fReader->GetOutputEvent() )
208 fInputAODBranch = (TClonesArray *) fReader->GetOutputEvent()->FindListObject(fInputAODName);//Try the output event.
7cd31fd6 209 }
1e86c71e 210 }
211 }
212 else{ //If no Delta AODs, kept in standard branch
0866d83a 213 if(fNewAOD && fReader->GetOutputEvent()) {
42dc8e7d 214 fOutputAODBranch = (TClonesArray *) fReader->GetOutputEvent()->FindListObject(fOutputAODName);
1e86c71e 215 fInputAODBranch = (TClonesArray *) fReader->GetOutputEvent()->FindListObject(fInputAODName);
42dc8e7d 216 }
7cd31fd6 217 else{
1e86c71e 218 fInputAODBranch = (TClonesArray *) fReader->GetInputEvent()->FindListObject(fInputAODName);
0866d83a 219 if(!fInputAODBranch && fReader->GetOutputEvent())
220 fInputAODBranch = (TClonesArray *) fReader->GetOutputEvent()->FindListObject(fInputAODName);//Try the output event.
7cd31fd6 221 }
42dc8e7d 222 }
1e86c71e 223
224 if(GetDebug() > 1){
f37fa8d2 225 if(fNewAOD && !fOutputAODBranch)
226 printf(" AliAnaPartCorrBaseClass::ConnectInputOutputAODBranches() - Output Branch <%s>, not found!\n",fOutputAODName.Data());
227 if(!fNewAOD && !fInputAODBranch)
228 printf(" AliAnaPartCorrBaseClass::ConnectInputOutputAODBranches() - Input Branch <%s>, not found!\n",fInputAODName.Data());
42dc8e7d 229 }
1c5acb87 230}
5ae09196 231//
232////__________________________________________________________________________
233//Bool_t AliAnaPartCorrBaseClass::IsTrackMatched(AliVCluster* cluster) const {
234// //Check if there is any track attached to this cluster
235//
236// Int_t nMatches = cluster->GetNTracksMatched();
237//// printf("N matches %d, first match %d\n",nMatches,cluster->GetTrackMatchedIndex());
238//// if (cluster->GetTrackMatched(0)) printf("\t matched track id %d\n",((AliVTrack*)cluster->GetTrackMatched(0))->GetID()) ;
239//// else if(cluster->GetTrackMatchedIndex()>=0) printf("\t matched track id %d\n",((AliVTrack*) GetReader()->GetInputEvent()->GetTrack(cluster->GetTrackMatchedIndex()))->GetID()) ;
240//
241// if(fReader->GetDataType()==AliCaloTrackReader::kESD)
242// {
243//
244// if (nMatches > 0) {
245// if (nMatches == 1 ) {
246// Int_t iESDtrack = cluster->GetTrackMatchedIndex();
247// //printf("Track Matched index %d\n",iESDtrack);
248// if(iESDtrack==-1) return kFALSE ;// Default value of array, there is no match
249// else return kTRUE;
250// }//Just one, check
251// else return kTRUE ;//More than one, there is a match.
252// }// > 0
253// else return kFALSE; //It does not happen, but in case
254//
255// }//ESDs
256// else
257// {
258// //AODs
259// if(nMatches > 0) return kTRUE; //There is at least one match.
260// else return kFALSE;
261//
262// }//AODs or MC (copy into AOD)
263//
264// return kFALSE;
265//
266//}
267//
1c5acb87 268//__________________________________________________
591cc579 269TObjArray * AliAnaPartCorrBaseClass::GetAODCTS() const {
477d6cee 270 //Get list of referenced tracks from reader
1c5acb87 271
272 return fReader->GetAODCTS();
273
274}
275
276//__________________________________________________
591cc579 277TObjArray * AliAnaPartCorrBaseClass::GetAODPHOS() const {
477d6cee 278 //Get list of PHOS reference caloclusters from reader
1c5acb87 279
280 return fReader->GetAODPHOS();
281
282}
283
1c5acb87 284//__________________________________________________
591cc579 285TObjArray * AliAnaPartCorrBaseClass::GetAODEMCAL() const {
477d6cee 286 //Get list of emcal referenced caloclusters from reader
1c5acb87 287
288 return fReader->GetAODEMCAL();
289
290}
291
477d6cee 292//__________________________________________________
293TClonesArray * AliAnaPartCorrBaseClass::GetAODCaloClusters() const {
294 //Get list of all caloclusters in AOD output file
295
296 return fReader->GetOutputEvent()->GetCaloClusters();
297
298}
299
300//__________________________________________________
301TClonesArray * AliAnaPartCorrBaseClass::GetAODTracks() const {
302 //Get list of all tracks in AOD output file
303
304 return fReader->GetOutputEvent()->GetTracks();
305
306}
307
1c5acb87 308//__________________________________________________
309TString AliAnaPartCorrBaseClass::GetBaseParametersList() {
310 //Put data member values in string to keep in output container
311
477d6cee 312 TString parList ; //this will be list of parameters used for this analysis.
5ae09196 313 const Int_t buffersize = 255;
314 char onePar[buffersize] ;
315 snprintf(onePar,buffersize,"--- AliAnaPartCorrBaseClass ---\n") ;
477d6cee 316 parList+=onePar ;
5ae09196 317 snprintf(onePar,buffersize,"Minimal P_t: %2.2f ; Max\n", fMinPt) ;
477d6cee 318 parList+=onePar ;
5ae09196 319 snprintf(onePar,buffersize,"Minimal P_t: %2.2f ; Max\n", fMaxPt) ;
477d6cee 320 parList+=onePar ;
5ae09196 321 snprintf(onePar,buffersize,"fDataMC =%d (Check MC information, on/off) \n",fDataMC) ;
477d6cee 322 parList+=onePar ;
5ae09196 323 snprintf(onePar,buffersize,"fCheckFidCut=%d (Check Fiducial cut selection on/off) \n",fCheckFidCut) ;
477d6cee 324 parList+=onePar ;
5ae09196 325 snprintf(onePar,buffersize,"fCheckCaloPID =%d (Use Bayesian PID in calorimetes, on/off) \n",fCheckCaloPID) ;
477d6cee 326 parList+=onePar ;
5ae09196 327 snprintf(onePar,buffersize,"fRecalculateCaloPID =%d (Calculate PID from shower/tof/tracking parameters, on/off) \n",fRecalculateCaloPID) ;
477d6cee 328 parList+=onePar ;
5ae09196 329 snprintf(onePar,buffersize,"fInputAODName =%s Input AOD name \n",fInputAODName.Data()) ;
a3aebfff 330 parList+=onePar ;
331 if(fNewAOD){
5ae09196 332 snprintf(onePar,buffersize,"fOutputAODName =%s Output AOD name \n",fOutputAODName.Data()) ;
333 parList+=onePar ;
334 snprintf(onePar,buffersize,"fOutputAODClassName =%s Output AOD class name \n",fOutputAODClassName.Data()) ;
a3aebfff 335 parList+=onePar ;
a3aebfff 336 }
5ae09196 337 snprintf(onePar,buffersize,"fAODObjArrayName =%s Reference arrays in AOD name \n",fAODObjArrayName.Data()) ;
a3aebfff 338 parList+=onePar ;
5ae09196 339 snprintf(onePar,buffersize,"fAddToHistogramsName =%s String added to beginning of histograms name \n",fAddToHistogramsName.Data()) ;
a3aebfff 340 parList+=onePar ;
341
1c5acb87 342 return parList;
343
344}
345
346//__________________________________________________
347 TClonesArray * AliAnaPartCorrBaseClass::GetCreateOutputAODBranch() {
477d6cee 348 //Create AOD branch filled in the analysis
349
350 printf("Create AOD branch of %s objects and with name < %s >\n",
351 fOutputAODClassName.Data(),fOutputAODName.Data()) ;
352
353 TClonesArray * aodBranch = new TClonesArray(fOutputAODClassName, 0);
354 aodBranch->SetName(fOutputAODName);
355 return aodBranch ;
356
1c5acb87 357 }
358
6639984f 359//__________________________________________________
360Int_t AliAnaPartCorrBaseClass::GetEventNumber() const {
361 //Get current event number
362
363 return fReader->GetEventNumber() ;
364}
3ff76907 365
366//__________________________________________________
367Int_t AliAnaPartCorrBaseClass::GetEventCentrality() const {
368 //Return current event centrality
369
370 if(GetCentrality()){
371 if(fCentralityOpt==100) return (Int_t) GetCentrality()->GetCentralityPercentile(fCentralityClass);
372 else if(fCentralityOpt==10) return GetCentrality()->GetCentralityClass10(fCentralityClass);
373 else if(fCentralityOpt==5) return GetCentrality()->GetCentralityClass5(fCentralityClass);
374 else {
375 printf("AliAnaPartCorrBaseClass::Unknown centrality option %d, use 5, 10 or 100\n",fCentralityOpt);
376 return 0;
377 }
378 }
379 else return 0;
380
381}
382
6639984f 383
1c5acb87 384//__________________________________________________
385AliStack * AliAnaPartCorrBaseClass::GetMCStack() const {
386 //Get stack pointer from reader
387
388 return fReader->GetStack();
389
390}
391//__________________________________________________
392AliHeader * AliAnaPartCorrBaseClass::GetMCHeader() const {
393 //Get header pointer from reader
394
395 return fReader->GetHeader();
396
397}
398
399//__________________________________________________
400AliGenEventHeader * AliAnaPartCorrBaseClass::GetMCGenEventHeader() const {
401 //Get GenEventHeader pointer from reader
402
403 return fReader->GetGenEventHeader();
404
405}
406
407//__________________________________________________
408void AliAnaPartCorrBaseClass::InitParameters()
409{
410 //Initialize the parameters of the analysis.
411 fDataMC = kFALSE;
412 fDebug = -1;
413 fCheckCaloPID = kTRUE ;
414 fCheckFidCut = kFALSE ;
415 fRecalculateCaloPID = kFALSE ;
1e86c71e 416 fMinPt = 0.1 ; //Min pt in particle analysis
1c5acb87 417 fMaxPt = 300. ; //Max pt in particle analysis
5025c139 418 fMultiBin = 1;
419 fNZvertBin = 1;
420 fNrpBin = 1;
af7b3903 421 fZvtxCut = 10;
5025c139 422 fMaxMulti = 1000;
423 fMinMulti = 0;
424 fUseSelectEvent = kFALSE ;
425
78219bac 426 //fReader = new AliCaloTrackReader(); //Initialized in maker
427 //fCaloUtils = new AliCalorimeterUtils();//Initialized in maker
f37fa8d2 428
4a745797 429 fNewAOD = kFALSE ;
430 fOutputAODName = "PartCorr";
431 fOutputAODClassName = "AliAODPWG4Particle";
432 fInputAODName = "PartCorr";
a3aebfff 433 fAddToHistogramsName = "";
4a745797 434 fAODObjArrayName = "Ref";
7cd4e982 435
5a2dbc3c 436 //Histogram settings
437 fHistoPtBins = 240 ;
438 fHistoPtMax = 120 ;
439 fHistoPtMin = 0. ;
440
441 fHistoPhiBins = 120 ;
442 fHistoPhiMax = TMath::TwoPi();
443 fHistoPhiMin = 0. ;
444
445 fHistoEtaBins = 100 ;
446 fHistoEtaMax = 1 ;
447 fHistoEtaMin = -1 ;
448
449 fHistoMassBins = 200;
450 fHistoMassMax = 1. ;
451 fHistoMassMin = 0. ;
452
453 fHistoAsymBins = 10 ;
454 fHistoAsymMax = 1. ;
455 fHistoAsymMin = 0. ;
798a9b04 456
457 fHistoV0SBins = 100 ;
458 fHistoV0SMax = 10000 ;
459 fHistoV0SMin = 0 ;
460
461 fHistoV0MBins = 100;
462 fHistoV0MMax = 10000 ;
463 fHistoV0MMin = 0 ;
464
465 fHistoTrMBins = 100 ;
af7b3903 466 fHistoTrMMax = 2000 ;
798a9b04 467 fHistoTrMMin = 0 ;
c8fe2783 468
1c5acb87 469}
470
471//__________________________________________________________________
472void AliAnaPartCorrBaseClass::Print(const Option_t * opt) const
473{
477d6cee 474 //Print some relevant parameters set for the analysis
475
476 if(! opt)
477 return;
a3aebfff 478
477d6cee 479 printf("New AOD: = %d\n",fNewAOD);
480 printf("Input AOD name: = %s\n",fInputAODName.Data());
481 printf("Output AOD name: = %s\n",fOutputAODName.Data());
482 printf("Output AOD Class name: = %s\n",fOutputAODClassName.Data());
483 printf("Min Photon pT = %2.2f\n", fMinPt) ;
484 printf("Max Photon pT = %3.2f\n", fMaxPt) ;
485 printf("Check PID = %d\n", fCheckCaloPID) ;
486 printf("Recalculate PID = %d\n", fRecalculateCaloPID) ;
ff45398a 487 printf("Check Fiducial cut = %d\n", fCheckFidCut) ;
477d6cee 488 printf("Check MC labels = %d\n", fDataMC);
d7c10d78 489 printf("Make plots? = %d \n", fMakePlots);
477d6cee 490 printf("Debug Level = %d\n", fDebug);
5a2dbc3c 491 printf("Histograms: %3.1f < pT < %3.1f, Nbin = %d\n", fHistoPtMin, fHistoPtMax, fHistoPtBins);
492 printf("Histograms: %3.1f < phi < %3.1f, Nbin = %d\n", fHistoPhiMin, fHistoPhiMax, fHistoPhiBins);
493 printf("Histograms: %3.1f < eta < %3.1f, Nbin = %d\n", fHistoEtaMin, fHistoEtaMax, fHistoEtaBins);
494 printf("Histograms: %3.1f < mass < %3.1f, Nbin = %d\n", fHistoMassMin, fHistoMassMax, fHistoMassBins);
495 printf("Histograms: %3.1f < asymmetry < %3.1f, Nbin = %d\n", fHistoAsymMin, fHistoAsymMax, fHistoAsymBins);
798a9b04 496 printf("Histograms: %d < V0 Signal < %d, Nbin = %d\n", fHistoV0SMin, fHistoV0SMax, fHistoV0SBins);
497 printf("Histograms: %d < V0 Mult < %d, Nbin = %d\n", fHistoV0MMin, fHistoV0MMax, fHistoV0MBins);
498 printf("Histograms: %d < Track Mult < %d, Nbin = %d\n", fHistoTrMMin, fHistoTrMMax, fHistoTrMBins);
499
591cc579 500 printf("Name of reference array : %s\n", fAODObjArrayName.Data());
a3aebfff 501 printf("String added histograms name : %s\n",fAddToHistogramsName.Data());
502
477d6cee 503 printf(" \n") ;
504
1c5acb87 505}
c8fe2783 506
c8fe2783 507
508