1 #ifndef ALIANAPARTCORRMAKER_H
2 #define ALIANAPARTCORRMAKER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
7 //_________________________________________________________________________
8 // Steering class for particle (gamma, hadron) identification and correlation analysis
9 // It is called by the task class AliAnalysisTaskParticleCorrelation and it connects the input
10 // (ESD/AOD/MonteCarlo) got with AliCaloTrackReader (produces TClonesArrays of AODs
11 // (TParticles in MC case if requested)), with the
12 // analysis classes that derive from AliAnaPartCorrBaseClass
14 // -- Author: Gustavo Conesa (INFN-LNF)
16 // --- ROOT system ---
22 // --- Analysis system ---
23 class AliCaloTrackReader ;
25 class AliAnaPartCorrMaker : public TObject {
29 AliAnaPartCorrMaker() ; // default ctor
30 AliAnaPartCorrMaker(const AliAnaPartCorrMaker & g) ; // cpy ctor
31 AliAnaPartCorrMaker & operator = (const AliAnaPartCorrMaker & g) ;//cpy assignment
32 virtual ~AliAnaPartCorrMaker() ; //virtual dtor
35 TList * GetAODBranchList() ;
36 TList * GetOutputContainer() const {return fOutputContainer ; }
38 Int_t GetAnaDebug() const { return fAnaDebug ; }
39 void SetAnaDebug(Int_t d) { fAnaDebug = d ; }
41 Bool_t AreHistogramsMade() const { return fMakeHisto ; }
42 void SwitchOnHistogramsMaker() { fMakeHisto = kTRUE ; }
43 void SwitchOffHistogramsMaker() { fMakeHisto = kFALSE ; }
45 Bool_t AreAODsMade() const { return fMakeAOD ; }
46 void SwitchOnAODsMaker() { fMakeAOD = kTRUE ; }
47 void SwitchOffAODsMaker() { fMakeAOD = kFALSE ; }
49 void AddAnalysis(TObject* ana, Int_t n) {
50 if ( fAnalysisContainer) fAnalysisContainer->AddAt(ana,n);
51 else { printf("AnalysisContainer not initialized");
55 AliCaloTrackReader * GetReader() const {return fReader ; }
56 void SetReader(AliCaloTrackReader * reader) { fReader = reader ; }
60 void InitParameters();
62 void Print(const Option_t * opt) const;
64 Bool_t ProcessEvent(Int_t iEntry) ;
68 //General Data members
70 TList * fOutputContainer ; // output histograms container
71 TList * fAnalysisContainer ; // List with analysis pointers
72 Bool_t fMakeHisto ; // If true makes final analysis with histograms as output
73 Bool_t fMakeAOD ; // If true makes analysis generating AODs
74 Int_t fAnaDebug; // Debugging info.
76 AliCaloTrackReader * fReader ; // Pointer to reader
77 TList * fAODBranchList ; //! List with AOD branches created and needed in analysis
79 ClassDef(AliAnaPartCorrMaker,2)
83 #endif //ALIANAPARTCORRMAKER_H