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