//_________________________________________________________________________
// Steering class for particle (gamma, hadron) identification and correlation analysis
// It is called by the task class AliAnalysisTaskParticleCorrelation and it connects the input
-// (ESD/AOD/MonteCarlo) got with AliCaloTrackReader (produces TClonesArrays of AODs
+// (ESD/AOD/MonteCarlo) got with AliCaloTrackReader (produces TObjArrays of AODs
// (TParticles in MC case if requested)), with the
// analysis classes that derive from AliAnaPartCorrBaseClass
//
class TClonesArray;
#include<TObject.h>
class TString;
+class TH1I;
// --- Analysis system ---
class AliCaloTrackReader ;
class AliAnaPartCorrMaker : public TObject {
-public:
+ public:
AliAnaPartCorrMaker() ; // default ctor
- AliAnaPartCorrMaker(const AliAnaPartCorrMaker & g) ; // cpy ctor
- AliAnaPartCorrMaker & operator = (const AliAnaPartCorrMaker & g) ;//cpy assignment
+ AliAnaPartCorrMaker(const AliAnaPartCorrMaker & maker) ; // cpy ctor
virtual ~AliAnaPartCorrMaker() ; //virtual dtor
+ private:
+ AliAnaPartCorrMaker & operator = (const AliAnaPartCorrMaker & ) ;//cpy assignment
+
+ public:
+
//Setter and getters
TList * GetAODBranchList() ;
- TList * GetOutputContainer() const {return fOutputContainer ; }
+ TList * GetOutputContainer() ;
Int_t GetAnaDebug() const { return fAnaDebug ; }
- void SetAnaDebug(Int_t d) { fAnaDebug = d ; }
-
- Bool_t AreHistogramsMade() const { return fMakeHisto ; }
+ void SetAnaDebug(Int_t d) { fAnaDebug = d ; }
+
+ Bool_t AreHistogramsMade() const { return fMakeHisto ; }
void SwitchOnHistogramsMaker() { fMakeHisto = kTRUE ; }
- void SwitchOffHistogramsMaker() { fMakeHisto = kFALSE ; }
+ void SwitchOffHistogramsMaker() { fMakeHisto = kFALSE ; }
- Bool_t AreAODsMade() const { return fMakeAOD ; }
+ Bool_t AreAODsMade() const { return fMakeAOD ; }
void SwitchOnAODsMaker() { fMakeAOD = kTRUE ; }
- void SwitchOffAODsMaker() { fMakeAOD = kFALSE ; }
+ void SwitchOffAODsMaker() { fMakeAOD = kFALSE ; }
- void Terminate();
+ void Terminate(TList * outputList);
void AddAnalysis(TObject* ana, Int_t n) {
- if ( fAnalysisContainer) fAnalysisContainer->AddAt(ana,n);
- else { printf("AnalysisContainer not initialized");
- abort();}
- }
-
+ if ( fAnalysisContainer) fAnalysisContainer->AddAt(ana,n);
+ else { printf("AliAnaPartCorrMaker::AddAnalysis() - AnalysisContainer not initialized\n");
+ abort();}
+ }
+
AliCaloTrackReader * GetReader() const {return fReader ; }
- void SetReader(AliCaloTrackReader * reader) { fReader = reader ; }
-
+ void SetReader(AliCaloTrackReader * const reader) { fReader = reader ; }
+
//Others
void Init();
void InitParameters();
-
+
void Print(const Option_t * opt) const;
-
- Bool_t ProcessEvent(Int_t iEntry) ;
-
+
+ void ProcessEvent(const Int_t iEntry, const char * currentFileName) ;
+
private:
//General Data members
-
- TList * fOutputContainer ; // output histograms container
- TList * fAnalysisContainer ; // List with analysis pointers
+
+ TList * fOutputContainer ; //! Output histograms container
+ TList * fAnalysisContainer ; // List with analysis pointers
Bool_t fMakeHisto ; // If true makes final analysis with histograms as output
Bool_t fMakeAOD ; // If true makes analysis generating AODs
Int_t fAnaDebug; // Debugging info.
- AliCaloTrackReader * fReader ; // Pointer to reader
+ AliCaloTrackReader * fReader ; // Pointer to reader
TList * fAODBranchList ; //! List with AOD branches created and needed in analysis
-
- ClassDef(AliAnaPartCorrMaker,2)
+
+ TH1I *fhNEvents; //! Number of events counter histogram
+
+ ClassDef(AliAnaPartCorrMaker,3)
} ;