1 #ifndef ALIHBTWEIGHTASCORRFCTN_H
2 #define ALIHBTWEIGHTASCORRFCTN_H
4 ///////////////////////////////////////////////////////
6 // AliHBTWeightasCorrFctn.h //
8 // Class for calculating 3D Weightas correlation //
10 // author: Grzegorz.Galazka@cern.ch //
11 ///////////////////////////////////////////////////////
13 #include "AliHBTFunction.h"
16 class AliHBTWeightasCorrFctn: public AliHBTTwoPairFctn1D
19 AliHBTWeightasCorrFctn(const char* name = "asejdzbitiCF",
20 const char* title= "as Correlation Function");
22 AliHBTWeightasCorrFctn(const char* name, const char* title,
23 Int_t nbins, Float_t maxXval, Float_t minXval);
24 AliHBTWeightasCorrFctn(const AliHBTWeightasCorrFctn& in);
26 virtual ~AliHBTWeightasCorrFctn();
29 void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
30 void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
34 void SetNumberOfIntervals(Int_t N){fNumberOfIntervals = N;}
36 Int_t GetNumberOfIntervals(){return fNumberOfIntervals;}
43 virtual Double_t GetValue(AliHBTPair* tpair, AliHBTPair* ppair) const = 0;
44 virtual void BuildHistos() = 0;
46 void SetParams(Int_t nbins,Float_t maxXval,Float_t minXval);
47 int Getnbins(){ return fnbins;}
48 double GetmaxXval(){return fmaxXval;}
49 double GetminXval(){return fminXval;}
51 TObjArray* fNum; // numerators array
52 TObjArray* fDen; // denominators array
53 TObjArray* fRat;// correl. fnctns array
57 int fnbins; //number of bins in histograms
58 Int_t fNumberOfIntervals; //number of intervals
59 double fmaxXval; //max histogram's X value
60 double fminXval; //min histogram's X value
62 ClassDef(AliHBTWeightasCorrFctn,1)
65 class AliHBTQOutWeightasCorrFctn: public AliHBTWeightasCorrFctn{
67 AliHBTQOutWeightasCorrFctn(const char* name, const char* title, Int_t nbins, Float_t maxXval, Float_t minXval);
69 virtual ~AliHBTQOutWeightasCorrFctn(){};
73 Double_t GetValue(AliHBTPair* pair, AliHBTPair* ppair) const {ppair=0; return pair->GetQOutLCMS();}
76 ClassDef(AliHBTQOutWeightasCorrFctn,1)
79 class AliHBTQSideWeightasCorrFctn: public AliHBTWeightasCorrFctn{
81 AliHBTQSideWeightasCorrFctn(const char* name, const char* title, Int_t nbins, Float_t maxXval, Float_t minXval);
82 virtual ~AliHBTQSideWeightasCorrFctn(){};
85 Double_t GetValue(AliHBTPair* pair, AliHBTPair* ppair) const {ppair=0;return pair->GetQSideLCMS();}
88 ClassDef(AliHBTQSideWeightasCorrFctn,1)
92 class AliHBTQLongWeightasCorrFctn: public AliHBTWeightasCorrFctn{
94 AliHBTQLongWeightasCorrFctn(const char* name, const char* title, Int_t nbins, Float_t maxXval, Float_t minXval);
96 virtual ~AliHBTQLongWeightasCorrFctn(){};
99 Double_t GetValue(AliHBTPair* pair,AliHBTPair* ppair) const {ppair=0;return pair->GetQLongLCMS();}
102 ClassDef(AliHBTQLongWeightasCorrFctn,1)