]>
Commit | Line | Data |
---|---|---|
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; | |
15 | class AliHBTOnePairFctn; | |
16 | class AliHBTTwoPairFctn; | |
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 | ||
33 | void AddTrackFunction(AliHBTOnePairFctn*); | |
34 | void AddParticleFunction(AliHBTOnePairFctn*); | |
35 | void AddParticleAndTrackFunction(AliHBTTwoPairFctn*); | |
36 | ||
37 | void AddResolutionFunction(AliHBTTwoPairFctn* f){AddParticleAndTrackFunction(f);} | |
38 | ||
39 | void SetReader(AliHBTReader* r){fReader = r;} | |
40 | ||
41 | void WriteFunctions(); | |
42 | protected: | |
43 | ||
44 | Bool_t RunCoherencyCheck(); | |
45 | ||
46 | ||
47 | AliHBTReader* fReader;//! | |
48 | ||
49 | virtual void ProcessTracks(); | |
50 | virtual void ProcessParticles(); | |
51 | virtual void ProcessTracksAndParticles(); | |
52 | ||
53 | ||
54 | AliHBTOnePairFctn** fTrackFunctions; //!array of pointers to functions that analyze rekonstructed tracks | |
55 | AliHBTOnePairFctn** fParticleFunctions; //!array of pointers to functions that analyze generated particles | |
56 | AliHBTTwoPairFctn** fParticleAndTrackFunctions; //!array of pointers to functions that analyze both | |
57 | //reconstructed tracks and generated particles | |
58 | //i.e. - resolution analyzers | |
59 | UInt_t fNTrackFunctions; //! | |
60 | UInt_t fNParticleFunctions; //! | |
61 | UInt_t fNParticleAndTrackFunctions; //! | |
62 | ||
63 | /**********************************************/ | |
64 | /* Control parameters */ | |
65 | ||
66 | AliHBTPairCut *fPairCut;//! | |
67 | ||
68 | /**********************************************/ | |
69 | ||
70 | ||
71 | private: | |
72 | static const Int_t fgkHbtAnalyzeAll;//! | |
73 | static const UInt_t fgkFctnArraySize;//! | |
74 | /*********************************************/ | |
75 | public: | |
76 | ClassDef(AliHBTAnalysis,0) | |
77 | }; | |
78 | ||
79 | ||
80 | ||
81 | ||
82 | #endif |