]>
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; | |
14 | class AliHBTReader; | |
27b3fe5d | 15 | class AliHBTOnePairFctn; |
16 | class AliHBTTwoPairFctn; | |
1b446896 | 17 | |
18 | ||
19 | class TList; | |
20 | ||
21 | class AliHBTAnalysis: public TObject | |
22 | { | |
23 | public: | |
24 | AliHBTAnalysis(); | |
25 | ||
26 | virtual ~AliHBTAnalysis(); | |
27 | ||
28 | virtual void Process(Option_t* option = "TracksAndParticles"); | |
29 | ||
30 | ||
31 | void SetGlobalPairCut(AliHBTPairCut* cut); | |
32 | ||
27b3fe5d | 33 | void AddTrackFunction(AliHBTOnePairFctn*); |
34 | void AddParticleFunction(AliHBTOnePairFctn*); | |
35 | void AddParticleAndTrackFunction(AliHBTTwoPairFctn*); | |
1b446896 | 36 | |
27b3fe5d | 37 | void AddResolutionFunction(AliHBTTwoPairFctn* f){AddParticleAndTrackFunction(f);} |
1b446896 | 38 | |
39 | void SetReader(AliHBTReader* r){fReader = r;} | |
40 | ||
491d1b5d | 41 | void WriteFunctions(); |
7a2c8238 | 42 | |
43 | void SetBufferSize(Int_t buffsize){fBufferSize=buffsize;} | |
44 | ||
1b446896 | 45 | protected: |
46 | ||
47 | Bool_t RunCoherencyCheck(); | |
48 | ||
49 | ||
491d1b5d | 50 | AliHBTReader* fReader;//! |
1b446896 | 51 | |
52 | virtual void ProcessTracks(); | |
53 | virtual void ProcessParticles(); | |
54 | virtual void ProcessTracksAndParticles(); | |
55 | ||
56 | ||
27b3fe5d | 57 | AliHBTOnePairFctn** fTrackFunctions; //!array of pointers to functions that analyze rekonstructed tracks |
58 | AliHBTOnePairFctn** fParticleFunctions; //!array of pointers to functions that analyze generated particles | |
59 | AliHBTTwoPairFctn** fParticleAndTrackFunctions; //!array of pointers to functions that analyze both | |
1b446896 | 60 | //reconstructed tracks and generated particles |
61 | //i.e. - resolution analyzers | |
491d1b5d | 62 | UInt_t fNTrackFunctions; //! |
63 | UInt_t fNParticleFunctions; //! | |
64 | UInt_t fNParticleAndTrackFunctions; //! | |
1b446896 | 65 | |
66 | /**********************************************/ | |
67 | /* Control parameters */ | |
68 | ||
491d1b5d | 69 | AliHBTPairCut *fPairCut;//! |
1b446896 | 70 | |
7a2c8238 | 71 | Int_t fBufferSize; //defines the size of buffer for mixed events; -1==MIX All |
1b446896 | 72 | /**********************************************/ |
73 | ||
74 | ||
75 | private: | |
491d1b5d | 76 | static const Int_t fgkHbtAnalyzeAll;//! |
77 | static const UInt_t fgkFctnArraySize;//! | |
1b446896 | 78 | /*********************************************/ |
79 | public: | |
80 | ClassDef(AliHBTAnalysis,0) | |
81 | }; | |
82 | ||
83 | ||
84 | ||
85 | ||
86 | #endif |