]>
Commit | Line | Data |
---|---|---|
1b446896 | 1 | #ifndef ALIHBTANALYSIS_H |
2 | #define ALIHBTANALYSIS_H | |
3 | ||
4 | #include <TObject.h> | |
5 | ||
6 | ||
7 | ||
8 | class AliHBTParticleCut; | |
9 | class AliHBTCut; | |
10 | class AliHBTPairCut; | |
11 | class AliHBTPair; | |
12 | ||
13 | class AliHBTRun; | |
dc2c3f36 | 14 | class AliHBTEvent; |
1b446896 | 15 | class AliHBTReader; |
27b3fe5d | 16 | class AliHBTOnePairFctn; |
17 | class AliHBTTwoPairFctn; | |
1b446896 | 18 | |
5c58441a | 19 | class AliHBTMonOneParticleFctn; |
20 | class AliHBTMonTwoParticleFctn; | |
1b446896 | 21 | |
22 | class TList; | |
23 | ||
24 | class AliHBTAnalysis: public TObject | |
25 | { | |
26 | public: | |
27 | AliHBTAnalysis(); | |
28 | ||
29 | virtual ~AliHBTAnalysis(); | |
30 | ||
31 | virtual void Process(Option_t* option = "TracksAndParticles"); | |
32 | ||
33 | ||
34 | void SetGlobalPairCut(AliHBTPairCut* cut); | |
35 | ||
5c58441a | 36 | void AddTrackFunction(AliHBTOnePairFctn* f); |
37 | void AddParticleFunction(AliHBTOnePairFctn* f); | |
38 | void AddParticleAndTrackFunction(AliHBTTwoPairFctn* f); | |
1b446896 | 39 | |
5c58441a | 40 | void AddParticleMonitorFunction(AliHBTMonOneParticleFctn* f); //z.ch. |
41 | void AddTrackMonitorFunction(AliHBTMonOneParticleFctn* f); //z.ch. | |
42 | void AddParticleAndTrackMonitorFunction(AliHBTMonTwoParticleFctn* f);//z.ch. | |
43 | ||
27b3fe5d | 44 | void AddResolutionFunction(AliHBTTwoPairFctn* f){AddParticleAndTrackFunction(f);} |
1b446896 | 45 | |
46 | void SetReader(AliHBTReader* r){fReader = r;} | |
47 | ||
491d1b5d | 48 | void WriteFunctions(); |
7a2c8238 | 49 | |
50 | void SetBufferSize(Int_t buffsize){fBufferSize=buffsize;} | |
dc2c3f36 | 51 | |
52 | Bool_t IsNonIdentAnalysis(); | |
1b446896 | 53 | protected: |
54 | ||
55 | Bool_t RunCoherencyCheck(); | |
56 | ||
dc2c3f36 | 57 | void FilterOut(AliHBTEvent* outpart1, AliHBTEvent* outpart2, AliHBTEvent* inpart, |
58 | AliHBTEvent* outtrack1, AliHBTEvent* outtrack2, AliHBTEvent* intrack); | |
59 | void FilterOut(AliHBTEvent* out1, AliHBTEvent* out2, AliHBTEvent* in); | |
1b446896 | 60 | |
491d1b5d | 61 | AliHBTReader* fReader;//! |
1b446896 | 62 | |
63 | virtual void ProcessTracks(); | |
64 | virtual void ProcessParticles(); | |
65 | virtual void ProcessTracksAndParticles(); | |
66 | ||
dc2c3f36 | 67 | virtual void ProcessTracksAndParticlesNonIdentAnal(); |
68 | virtual void ProcessParticlesNonIdentAnal(); | |
69 | virtual void ProcessTracksNonIdentAnal(); | |
1b446896 | 70 | |
27b3fe5d | 71 | AliHBTOnePairFctn** fTrackFunctions; //!array of pointers to functions that analyze rekonstructed tracks |
72 | AliHBTOnePairFctn** fParticleFunctions; //!array of pointers to functions that analyze generated particles | |
dc2c3f36 | 73 | AliHBTTwoPairFctn** fParticleAndTrackFunctions; //!array of pointers to functions that analyze both |
1b446896 | 74 | //reconstructed tracks and generated particles |
75 | //i.e. - resolution analyzers | |
5c58441a | 76 | |
77 | AliHBTMonOneParticleFctn** fParticleMonitorFunctions; // array of pointers to monitoring functions | |
78 | AliHBTMonOneParticleFctn** fTrackMonitorFunctions; // which are used for single particle analysis, | |
79 | AliHBTMonTwoParticleFctn** fParticleAndTrackMonitorFunctions; // cut monitoring, etc. | |
80 | ||
491d1b5d | 81 | UInt_t fNTrackFunctions; //! |
82 | UInt_t fNParticleFunctions; //! | |
83 | UInt_t fNParticleAndTrackFunctions; //! | |
1b446896 | 84 | |
5c58441a | 85 | UInt_t fNParticleMonitorFunctions; //! |
86 | UInt_t fNTrackMonitorFunctions; //! | |
87 | UInt_t fNParticleAndTrackMonitorFunctions; //! | |
88 | ||
1b446896 | 89 | /**********************************************/ |
90 | /* Control parameters */ | |
91 | ||
491d1b5d | 92 | AliHBTPairCut *fPairCut;//! |
1b446896 | 93 | |
7a2c8238 | 94 | Int_t fBufferSize; //defines the size of buffer for mixed events; -1==MIX All |
1b446896 | 95 | /**********************************************/ |
96 | ||
97 | ||
98 | private: | |
491d1b5d | 99 | static const Int_t fgkHbtAnalyzeAll;//! |
100 | static const UInt_t fgkFctnArraySize;//! | |
1b446896 | 101 | /*********************************************/ |
102 | public: | |
103 | ClassDef(AliHBTAnalysis,0) | |
104 | }; | |
105 | ||
106 | ||
107 | ||
108 | ||
109 | #endif |