]>
Commit | Line | Data |
---|---|---|
1c5acb87 | 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 */ | |
5 | /* $Id: $ */ | |
6 | ||
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 | |
a8a55c9d | 10 | // (ESD/AOD/MonteCarlo) got with AliCaloTrackReader (produces TObjArrays of AODs |
1c5acb87 | 11 | // (TParticles in MC case if requested)), with the |
12 | // analysis classes that derive from AliAnaPartCorrBaseClass | |
13 | // | |
14 | // -- Author: Gustavo Conesa (INFN-LNF) | |
15 | ||
16 | // --- ROOT system --- | |
17 | class TList; | |
18 | class TClonesArray; | |
19 | #include<TObject.h> | |
20 | class TString; | |
031ac63e | 21 | class TH1I; |
1c5acb87 | 22 | |
23 | // --- Analysis system --- | |
91f45193 | 24 | #include "AliCaloTrackReader.h" |
25 | #include "AliCalorimeterUtils.h" | |
1c5acb87 | 26 | |
27 | class AliAnaPartCorrMaker : public TObject { | |
28 | ||
477d6cee | 29 | public: |
1c5acb87 | 30 | AliAnaPartCorrMaker() ; // default ctor |
1c5acb87 | 31 | virtual ~AliAnaPartCorrMaker() ; //virtual dtor |
78219bac | 32 | AliAnaPartCorrMaker(const AliAnaPartCorrMaker & maker) ; // cpy ctor |
d151d2ee | 33 | |
34 | private: | |
7b095e3b | 35 | AliAnaPartCorrMaker & operator = (const AliAnaPartCorrMaker & ) ;//cpy assignment |
d151d2ee | 36 | |
37 | public: | |
38 | ||
1c5acb87 | 39 | //Setter and getters |
0c1383b5 | 40 | TList * GetListOfAnalysisCuts(); |
2e557d1c | 41 | TList * GetOutputContainer() ; |
1c5acb87 | 42 | |
f37fa8d2 | 43 | TList * FillAndGetAODBranchList(); |
44 | ||
1c5acb87 | 45 | Int_t GetAnaDebug() const { return fAnaDebug ; } |
591cc579 | 46 | void SetAnaDebug(Int_t d) { fAnaDebug = d ; } |
42dc8e7d | 47 | |
591cc579 | 48 | Bool_t AreHistogramsMade() const { return fMakeHisto ; } |
1c5acb87 | 49 | void SwitchOnHistogramsMaker() { fMakeHisto = kTRUE ; } |
591cc579 | 50 | void SwitchOffHistogramsMaker() { fMakeHisto = kFALSE ; } |
1c5acb87 | 51 | |
591cc579 | 52 | Bool_t AreAODsMade() const { return fMakeAOD ; } |
1c5acb87 | 53 | void SwitchOnAODsMaker() { fMakeAOD = kTRUE ; } |
591cc579 | 54 | void SwitchOffAODsMaker() { fMakeAOD = kFALSE ; } |
f37fa8d2 | 55 | |
a5cc4f03 | 56 | void Terminate(TList * outputList); |
6639984f | 57 | |
1c5acb87 | 58 | void AddAnalysis(TObject* ana, Int_t n) { |
477d6cee | 59 | if ( fAnalysisContainer) fAnalysisContainer->AddAt(ana,n); |
60 | else { printf("AliAnaPartCorrMaker::AddAnalysis() - AnalysisContainer not initialized\n"); | |
61 | abort();} | |
62 | } | |
63 | ||
91f45193 | 64 | AliCaloTrackReader * GetReader() {if(!fReader) fReader = new AliCaloTrackReader ();return fReader ; } |
765d44e7 | 65 | void SetReader(AliCaloTrackReader * reader) { fReader = reader ; } |
591cc579 | 66 | |
91f45193 | 67 | AliCalorimeterUtils * GetCaloUtils() {if(!fCaloUtils) fCaloUtils = new AliCalorimeterUtils(); return fCaloUtils ; } |
765d44e7 | 68 | void SetCaloUtils(AliCalorimeterUtils * caloutils) { fCaloUtils = caloutils ; } |
69 | ||
1c5acb87 | 70 | //Others |
71 | void Init(); | |
72 | void InitParameters(); | |
477d6cee | 73 | |
1c5acb87 | 74 | void Print(const Option_t * opt) const; |
477d6cee | 75 | |
29b2ceec | 76 | void ProcessEvent(const Int_t iEntry, const char * currentFileName) ; |
477d6cee | 77 | |
1c5acb87 | 78 | private: |
79 | ||
80 | //General Data members | |
477d6cee | 81 | |
39ffdc47 | 82 | TList * fOutputContainer ; //! Output histograms container |
7787a778 | 83 | TList * fAnalysisContainer ; // List with analysis pointers |
84 | Bool_t fMakeHisto ; // If true makes final analysis with histograms as output | |
85 | Bool_t fMakeAOD ; // If true makes analysis generating AODs | |
7787a778 | 86 | Int_t fAnaDebug; // Debugging info. |
87 | ||
765d44e7 | 88 | AliCaloTrackReader * fReader ; // Pointer to reader |
89 | AliCalorimeterUtils * fCaloUtils ; // Pointer to CalorimeterUtils | |
90 | ||
0c1383b5 | 91 | TList * fCuts ; //! List with analysis cuts |
92 | ||
90995603 | 93 | TH1I * fhNEvents; //! Number of events counter histogram |
94 | TH1I * fhTrackMult; //! Number of tracks per event histogram | |
95 | ||
96 | ClassDef(AliAnaPartCorrMaker,8) | |
1c5acb87 | 97 | } ; |
98 | ||
99 | ||
100 | #endif //ALIANAPARTCORRMAKER_H | |
101 | ||
102 | ||
103 |