1 #ifndef ALIHBTANALYSIS_H
2 #define ALIHBTANALYSIS_H
8 class AliHBTParticleCut;
15 class AliHBTTwoPartFctn;
16 class AliHBTFourPartFctn;
21 class AliHBTAnalysis: public TObject
26 virtual ~AliHBTAnalysis();
28 virtual void Process(Option_t* option = "TracksAndParticles");
31 void SetGlobalPairCut(AliHBTPairCut* cut);
33 void AddTrackFunction(AliHBTTwoPartFctn*);
34 void AddParticleFunction(AliHBTTwoPartFctn*);
35 void AddParticleAndTrackFunction(AliHBTFourPartFctn*);
37 void AddResolutionFunction(AliHBTFourPartFctn* f){AddParticleAndTrackFunction(f);}
39 void SetReader(AliHBTReader* r){fReader = r;}
41 void WriteFunctions();
44 Bool_t RunCoherencyCheck();
47 AliHBTReader* fReader;//!
49 virtual void ProcessTracks();
50 virtual void ProcessParticles();
51 virtual void ProcessTracksAndParticles();
54 AliHBTTwoPartFctn** fTrackFunctions; //!array of pointers to functions that analyze rekonstructed tracks
55 AliHBTTwoPartFctn** fParticleFunctions; //!array of pointers to functions that analyze generated particles
56 AliHBTFourPartFctn** 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; //!
63 /**********************************************/
64 /* Control parameters */
66 AliHBTPairCut *fPairCut;//!
68 /**********************************************/
72 static const Int_t fgkHbtAnalyzeAll;//!
73 static const UInt_t fgkFctnArraySize;//!
74 /*********************************************/
76 ClassDef(AliHBTAnalysis,0)