1 #ifndef ALIHBTWeightTHEORFCTN_H
2 #define ALIHBTWeightTHEORFCTN_H
5 //This function allows to obtain Q_inv correlation function with weights
6 //calculated by Lednicky's alghorithm.
7 //Numerator is filled with weighted events. Weights are attributed to simulated particles.
8 //Weights are calculated with corresponding simulated particles momenta.
9 //Denominator is filled with mixing unweighted simulated particles.
10 //One needs only simulated pairs, so
11 //this function is of class AliHBTOnePairFctn1D.
12 //Author Ludmila Malinina JINR (malinina@sunhe.jinr.ru)
14 #include "AliHBTFunction.h"
18 class AliHBTWeightTheorQInvFctn: public AliHBTOnePairFctn1D
22 AliHBTWeightTheorQInvFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
23 virtual ~AliHBTWeightTheorQInvFctn(){}
26 void ProcessSameEventParticles(AliHBTPair* partpair);
28 Double_t GetValue(AliHBTPair* partpair)
29 { return partpair->GetQInv();}
31 ClassDef(AliHBTWeightTheorQInvFctn,1)
34 class AliHBTWeightTheorQOutFctn: public AliHBTOnePairFctn1D
38 AliHBTWeightTheorQOutFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
39 virtual ~AliHBTWeightTheorQOutFctn(){}
42 void ProcessSameEventParticles(AliHBTPair* partpair);
44 Double_t GetValue(AliHBTPair* partpair)
45 { return partpair->GetQOutCMSLC();}
47 ClassDef(AliHBTWeightTheorQOutFctn,1)
50 class AliHBTWeightTheorQSideFctn: public AliHBTOnePairFctn1D
54 AliHBTWeightTheorQSideFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
55 virtual ~AliHBTWeightTheorQSideFctn(){}
58 void ProcessSameEventParticles(AliHBTPair* partpair);
60 Double_t GetValue(AliHBTPair* partpair)
61 { return partpair->GetQSideCMSLC();}
63 ClassDef(AliHBTWeightTheorQSideFctn,1)
66 class AliHBTWeightTheorQLongFctn: public AliHBTOnePairFctn1D
70 AliHBTWeightTheorQLongFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
71 virtual ~AliHBTWeightTheorQLongFctn(){}
74 void ProcessSameEventParticles(AliHBTPair* partpair);
76 Double_t GetValue(AliHBTPair* partpair)
77 { return partpair->GetQLongCMSLC();}
79 ClassDef(AliHBTWeightTheorQLongFctn,1)
82 class AliHBTWeightTheorOSLFctn: public AliHBTOnePairFctn3D
86 AliHBTWeightTheorOSLFctn(Int_t nXbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0,
87 Int_t nYbins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0,
88 Int_t nZbins = 100, Double_t maxZval = 0.15, Double_t minZval = 0.0);
89 virtual ~AliHBTWeightTheorOSLFctn(){}
92 void ProcessSameEventParticles(AliHBTPair* partpair);
94 void GetValues(AliHBTPair* pair, Double_t& x, Double_t& y, Double_t& z)
95 { x=TMath::Abs(pair->GetQOutCMSLC()); y=TMath::Abs(pair->GetQSideCMSLC()); z=TMath::Abs(pair->GetQLongCMSLC());}
97 ClassDef(AliHBTWeightTheorOSLFctn,1)