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;}
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 // AliHBTCut *fParticleCut;
69 /**********************************************/
73 static const Int_t fgkHbtAnalyzeAll;
74 static const UInt_t fgkFctnArraySize;
75 /*********************************************/
77 ClassDef(AliHBTAnalysis,0)