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