1 #ifndef ALIHBTWeightTHEORFCTN_H
2 #define ALIHBTWeightTHEORFCTN_H
4 //_____________________________________________________________________________
5 ///////////////////////////////////////////////////////////////////////////////
7 // class AliHBTWeightTheorQInvFctn
9 // This function allows to obtain Q_inv correlation function with weights
10 // calculated by Lednicky's alghorithm.
11 // Numerator is filled with weighted events. Weights are attributed to simulated particles.
12 // Weights are calculated with corresponding simulated particles momenta.
13 // Denominator is filled with mixing unweighted simulated particles.
14 // One needs only simulated pairs, so
15 // this function is of class AliHBTOnePairFctn1D.
16 // Author Ludmila Malinina JINR (malinina@sunhe.jinr.ru)
18 ///////////////////////////////////////////////////////////////////////////////
20 #include "AliHBTFunction.h"
24 class AliHBTWeightTheorQInvFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
27 AliHBTWeightTheorQInvFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
28 virtual ~AliHBTWeightTheorQInvFctn(){}
31 void ProcessSameEventParticles(AliHBTPair* partpair);
34 Double_t GetValue(AliHBTPair* partpair) const
35 { return partpair->GetQInv();}
37 ClassDef(AliHBTWeightTheorQInvFctn,1)
39 /*************************************************************/
41 class AliHBTWeightTheorQOutFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
45 AliHBTWeightTheorQOutFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
46 virtual ~AliHBTWeightTheorQOutFctn(){}
49 void ProcessSameEventParticles(AliHBTPair* partpair);
52 Double_t GetValue(AliHBTPair* partpair) const
53 { return partpair->GetQOutLCMS();}
55 ClassDef(AliHBTWeightTheorQOutFctn,1)
57 /*************************************************************/
59 class AliHBTWeightTheorQSideFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
62 AliHBTWeightTheorQSideFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
63 virtual ~AliHBTWeightTheorQSideFctn(){}
66 void ProcessSameEventParticles(AliHBTPair* partpair);
69 Double_t GetValue(AliHBTPair* partpair) const
70 { return partpair->GetQSideLCMS();}
72 ClassDef(AliHBTWeightTheorQSideFctn,1)
74 /*************************************************************/
76 class AliHBTWeightTheorQLongFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
79 AliHBTWeightTheorQLongFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
80 virtual ~AliHBTWeightTheorQLongFctn(){}
83 void ProcessSameEventParticles(AliHBTPair* partpair);
86 Double_t GetValue(AliHBTPair* partpair) const
87 { return partpair->GetQLongLCMS();}
89 ClassDef(AliHBTWeightTheorQLongFctn,1)
91 /*************************************************************/
93 class AliHBTWeightTheorOSLFctn: public AliHBTOnePairFctn3D, public AliHBTCorrelFunction
97 AliHBTWeightTheorOSLFctn(Int_t nXbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0,
98 Int_t nYbins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0,
99 Int_t nZbins = 100, Double_t maxZval = 0.15, Double_t minZval = 0.0);
100 virtual ~AliHBTWeightTheorOSLFctn(){}
103 void ProcessSameEventParticles(AliHBTPair* partpair);
106 void GetValues(AliHBTPair* pair, Double_t& x, Double_t& y, Double_t& z) const
107 { x=TMath::Abs(pair->GetQOutLCMS()); y=TMath::Abs(pair->GetQSideLCMS()); z=TMath::Abs(pair->GetQLongLCMS());}
109 ClassDef(AliHBTWeightTheorOSLFctn,1)