1 #ifndef ALIHBTANALYSIS_H
2 #define ALIHBTANALYSIS_H
8 class AliHBTParticleCut;
15 class AliHBTOnePairFctn;
16 class AliHBTTwoPairFctn;
21 class AliHBTAnalysis: public TObject
26 virtual ~AliHBTAnalysis();
28 virtual void Process(Option_t* option = "TracksAndParticles");
31 void SetGlobalPairCut(AliHBTPairCut* cut);
33 void AddTrackFunction(AliHBTOnePairFctn*);
34 void AddParticleFunction(AliHBTOnePairFctn*);
35 void AddParticleAndTrackFunction(AliHBTTwoPairFctn*);
37 void AddResolutionFunction(AliHBTTwoPairFctn* f){AddParticleAndTrackFunction(f);}
39 void SetReader(AliHBTReader* r){fReader = r;}
41 void WriteFunctions();
43 void SetBufferSize(Int_t buffsize){fBufferSize=buffsize;}
47 Bool_t RunCoherencyCheck();
50 AliHBTReader* fReader;//!
52 virtual void ProcessTracks();
53 virtual void ProcessParticles();
54 virtual void ProcessTracksAndParticles();
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
60 //reconstructed tracks and generated particles
61 //i.e. - resolution analyzers
62 UInt_t fNTrackFunctions; //!
63 UInt_t fNParticleFunctions; //!
64 UInt_t fNParticleAndTrackFunctions; //!
66 /**********************************************/
67 /* Control parameters */
69 AliHBTPairCut *fPairCut;//!
71 Int_t fBufferSize; //defines the size of buffer for mixed events; -1==MIX All
72 /**********************************************/
76 static const Int_t fgkHbtAnalyzeAll;//!
77 static const UInt_t fgkFctnArraySize;//!
78 /*********************************************/
80 ClassDef(AliHBTAnalysis,0)