1 //Author: Ludmila Malinina, JINR (malinina@sunhe.jinr.ru)
2 #include "AliHBTLLWeightFctn.h"
3 #include "AliHBTLLWeights.h"
4 #include "AliHBTLLWeightsPID.h"
6 //--for test--AliHBTLLWeightQInvFctn* yyy= new AliHBTLLWeightQInvFctn();
8 ClassImp( AliHBTLLWeightQInvFctn )
9 /****************************************************************/
10 AliHBTLLWeightQInvFctn::AliHBTLLWeightQInvFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
11 AliHBTTwoPairFctn1D(nbins,maxXval,minXval)
15 /****************************************************************/
16 void AliHBTLLWeightQInvFctn::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
18 //Processes Particles and tracks Same different even
19 trackpair = CheckPair(trackpair);
20 partpair = CheckPair(partpair);
21 if ( trackpair && partpair)
23 Double_t weightPID=1.;
24 Double_t weightHBT=AliHBTLLWeights::Instance()->GetWeight(partpair);
25 Double_t weight=weightHBT*weightPID;
26 if(TMath::Abs(weight)<=10.)fNumerator->Fill(trackpair->GetQInv(),weight);
29 /****************************************************************/
31 void AliHBTLLWeightQInvFctn::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
33 trackpair = CheckPair(trackpair);
34 partpair = CheckPair(partpair);
35 if ( trackpair && partpair)
37 fDenominator->Fill(trackpair->GetQInv());
40 /**************************************************************/
41 TH1* AliHBTLLWeightQInvFctn::GetResult()
44 //returns ratio of numerator and denominator
45 return GetRatio(Scale());
48 /**************************************************************************************/
49 /**************************************************************************************/
50 /**************************************************************************************/
51 /**************************************************************************************/
53 ClassImp(AliHBTLLWeightQOutFctn)
54 /****************************************************************/
55 void AliHBTLLWeightQOutFctn::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
57 trackpair = CheckPair(trackpair);
58 partpair = CheckPair(partpair);
59 if ( trackpair && partpair)
61 Double_t weightPID=1.;
62 Double_t weightHBT=AliHBTLLWeights::Instance()->GetWeight(partpair);
63 Double_t weight=weightHBT*weightPID;
64 if(TMath::Abs(weight)<=10.) fNumerator->Fill(trackpair->GetQOutCMSLC(),weight);
67 /****************************************************************/
69 void AliHBTLLWeightQOutFctn::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
71 trackpair = CheckPair(trackpair);
72 partpair = CheckPair(partpair);
73 if ( trackpair && partpair)
75 fDenominator->Fill(trackpair->GetQOutCMSLC());
78 /**************************************************************/
79 TH1* AliHBTLLWeightQOutFctn::GetResult()
82 //returns ratio of numerator and denominator
83 return GetRatio(Scale());
86 /*************************************************************************************/
87 /*************************************************************************************/
88 /*************************************************************************************/
90 ClassImp(AliHBTLLWeightQLongFctn)
91 /****************************************************************/
92 void AliHBTLLWeightQLongFctn::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
94 //Processes Particles and tracks Same different even
95 trackpair = CheckPair(trackpair);
96 partpair = CheckPair(partpair);
97 if ( trackpair && partpair)
99 Double_t weightPID=1.;
100 Double_t weightHBT=AliHBTLLWeights::Instance()->GetWeight(partpair);
101 Double_t weight=weightHBT*weightPID;
102 if(TMath::Abs(weight)<=10.) fNumerator->Fill(trackpair->GetQLongCMSLC(),weight);
105 /****************************************************************/
107 void AliHBTLLWeightQLongFctn::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
109 trackpair = CheckPair(trackpair);
110 partpair = CheckPair(partpair);
111 if ( trackpair && partpair)
113 fDenominator->Fill(trackpair->GetQLongCMSLC());
116 /**************************************************************/
117 TH1* AliHBTLLWeightQLongFctn::GetResult()
120 //returns ratio of numerator and denominator
121 return GetRatio(Scale());
124 /*************************************************************************************/
125 /*************************************************************************************/
126 /*************************************************************************************/
128 ClassImp(AliHBTLLWeightQSideFctn)
129 /****************************************************************/
130 void AliHBTLLWeightQSideFctn::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
132 //Processes Particles and tracks Same different even
133 trackpair = CheckPair(trackpair);
134 partpair = CheckPair(partpair);
135 if ( trackpair && partpair)
137 Double_t weightPID=1.;
138 Double_t weightHBT=AliHBTLLWeights::Instance()->GetWeight(partpair);
139 Double_t weight=weightHBT*weightPID;
140 if(TMath::Abs(weight)<=10.) fNumerator->Fill(trackpair->GetQSideCMSLC(),weight);
143 /****************************************************************/
145 void AliHBTLLWeightQSideFctn::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
147 trackpair = CheckPair(trackpair);
148 partpair = CheckPair(partpair);
149 if ( trackpair && partpair)
151 fDenominator->Fill(trackpair->GetQSideCMSLC());
154 /**************************************************************/
155 TH1* AliHBTLLWeightQSideFctn::GetResult()
158 //returns ratio of numerator and denominator
159 return GetRatio(Scale());
162 /*************************************************************************************/
163 /*************************************************************************************/
165 ClassImp(AliHBTLLWeightTwoKStarFctn)
166 /****************************************************************/
167 void AliHBTLLWeightTwoKStarFctn::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
169 //Processes Particles and tracks Same different even
170 trackpair = CheckPair(trackpair);
171 partpair = CheckPair(partpair);
172 if ( trackpair && partpair)
174 Double_t weightPID=1.;
175 Double_t weightHBT=AliHBTLLWeights::Instance()->GetWeight(partpair);
176 Double_t weight=weightHBT*weightPID;
177 if(TMath::Abs(weight)<=10.) fNumerator->Fill(2.0*(trackpair->GetKStar()),weight);
180 /****************************************************************/
182 void AliHBTLLWeightTwoKStarFctn::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
184 trackpair = CheckPair(trackpair);
185 partpair = CheckPair(partpair);
186 if ( trackpair && partpair)
188 fDenominator->Fill(2.0*(trackpair->GetKStar()));
191 /**************************************************************/
192 TH1* AliHBTLLWeightTwoKStarFctn::GetResult()
195 //returns ratio of numerator and denominator
196 return GetRatio(Scale());
199 /*************************************************************************************/