1 #ifndef ALIHBTASCORRFCTN_H
2 #define ALIHBTASCORRFCTN_H
4 ///////////////////////////////////////////////////////
6 // AliHBTasCorrFctn.h //
8 // Class for calculating 3D as correlation //
10 //author: Grzegorz.Galazka@cern.ch //
11 ///////////////////////////////////////////////////////
13 #include "AliHBTFunction.h"
16 class AliHBTasCorrFctn: public AliHBTOnePairFctn1D
19 AliHBTasCorrFctn(const char* name = "asejdzbitiCF",
20 const char* title= "as Correlation Function");
22 AliHBTasCorrFctn(const char* name, const char* title,
23 Int_t nbins, Float_t maxXval, Float_t minXval);
24 AliHBTasCorrFctn(const AliHBTasCorrFctn& in);
26 virtual ~AliHBTasCorrFctn();
29 void ProcessSameEventParticles(AliHBTPair* pair);
30 void ProcessDiffEventParticles(AliHBTPair* pair);
33 void SetNumberOfIntervals(Int_t N){fNumberOfIntervals = N;}
35 Int_t GetNumberOfIntervals(){return fNumberOfIntervals;}
42 virtual Double_t GetValue(AliHBTPair* pair) const = 0;
43 virtual void BuildHistos() = 0;
44 int Getnbins(){ return fnbins;} // this are workarounds for my lame coding
45 double GetmaxXval(){return fmaxXval;} // these methods are uset to build histograms
46 double GetminXval(){return fminXval;} // with set by user number of bins etc.
47 void SetParams(Int_t nbins,Float_t maxXval,Float_t minXval); //
49 TObjArray* fNum; // numerators array
50 TObjArray* fDen; // denominators array
51 TObjArray* fRat;// correl. fnctns array
55 int fnbins; //number of bins in histograms
56 Int_t fNumberOfIntervals; //number of intervals
57 double fmaxXval; //max histogram's X value
58 double fminXval; //min histogram's X value
60 ClassDef(AliHBTasCorrFctn,1)
63 class AliHBTQOutasCorrFctn: public AliHBTasCorrFctn{
65 AliHBTQOutasCorrFctn(const char* name, const char* title, Int_t nbins, Float_t maxXval, Float_t minXval);
67 virtual ~AliHBTQOutasCorrFctn(){};
71 Double_t GetValue(AliHBTPair* pair) const {return pair->GetQOutLCMS();}
74 ClassDef(AliHBTQOutasCorrFctn,1)
77 class AliHBTQSideasCorrFctn: public AliHBTasCorrFctn{
79 AliHBTQSideasCorrFctn(const char* name, const char* title, Int_t nbins, Float_t maxXval, Float_t minXval);
80 // AliHBTSideasCorrFctn(const AliHBTasCorrFctn& in);
82 virtual ~AliHBTQSideasCorrFctn(){};
85 Double_t GetValue(AliHBTPair* pair) const {return pair->GetQSideLCMS();}
88 ClassDef(AliHBTQSideasCorrFctn,1)
92 class AliHBTQLongasCorrFctn: public AliHBTasCorrFctn{
94 AliHBTQLongasCorrFctn(const char* name, const char* title, Int_t nbins, Float_t maxXval, Float_t minXval);
96 virtual ~AliHBTQLongasCorrFctn(){};
99 Double_t GetValue(AliHBTPair* pair) const {return pair->GetQLongLCMS();}
102 ClassDef(AliHBTQLongasCorrFctn,1)