a17d366ce48a6b86b14188e8b460eb5c7546ab86
[u/mrichter/AliRoot.git] / HBTAN / AliHBTLLWeightFctn.cxx
1 //Author: Ludmila Malinina, JINR (malinina@sunhe.jinr.ru)
2 #include "AliHBTLLWeightFctn.h"
3 #include "AliHBTLLWeights.h"
4 #include "AliHBTLLWeightsPID.h"
5
6 //--for test--AliHBTLLWeightQInvFctn* yyy= new AliHBTLLWeightQInvFctn();
7
8 ClassImp( AliHBTLLWeightQInvFctn )  
9 /****************************************************************/
10 AliHBTLLWeightQInvFctn::AliHBTLLWeightQInvFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
11            AliHBTTwoPairFctn1D(nbins,maxXval,minXval)
12 {
13 //ctor
14 }
15 /****************************************************************/
16 void  AliHBTLLWeightQInvFctn::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
17 {
18 //Processes Particles and tracks Same different even
19   trackpair = CheckPair(trackpair);
20   partpair  = CheckPair(partpair);
21   if ( trackpair && partpair)     
22   {
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);
27   }
28
29 /****************************************************************/
30
31 void  AliHBTLLWeightQInvFctn::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
32 {
33   trackpair = CheckPair(trackpair);
34   partpair  = CheckPair(partpair);
35   if ( trackpair && partpair)  
36   {
37      fDenominator->Fill(trackpair->GetQInv());
38   }
39 }
40 /**************************************************************/
41 TH1* AliHBTLLWeightQInvFctn::GetResult() 
42                                                                                
43
44 //returns ratio of numerator and denominator                                    
45  return GetRatio(Scale());                                                  
46 }                    
47                                                               
48 /**************************************************************************************/
49 /**************************************************************************************/
50 /**************************************************************************************/
51 /**************************************************************************************/
52
53 ClassImp(AliHBTLLWeightQOutFctn)
54 /****************************************************************/
55 void AliHBTLLWeightQOutFctn::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
56 {
57   trackpair = CheckPair(trackpair);
58   partpair  = CheckPair(partpair);
59   if ( trackpair && partpair)     
60   {
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);
65   }
66
67 /****************************************************************/
68
69 void AliHBTLLWeightQOutFctn::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
70 {
71   trackpair = CheckPair(trackpair);
72   partpair  = CheckPair(partpair);
73   if ( trackpair && partpair)  
74   {
75      fDenominator->Fill(trackpair->GetQOutCMSLC());
76   }
77 }
78 /**************************************************************/
79 TH1* AliHBTLLWeightQOutFctn::GetResult() 
80                                                                                
81
82 //returns ratio of numerator and denominator                                    
83  return GetRatio(Scale());                                                  
84 }                    
85                                                               
86 /*************************************************************************************/ 
87 /*************************************************************************************/ 
88 /*************************************************************************************/ 
89
90 ClassImp(AliHBTLLWeightQLongFctn)
91 /****************************************************************/
92 void  AliHBTLLWeightQLongFctn::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
93 {
94 //Processes Particles and tracks Same different even
95   trackpair = CheckPair(trackpair);
96   partpair  = CheckPair(partpair);
97   if ( trackpair && partpair)     
98   {
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);
103   }
104
105 /****************************************************************/
106
107 void  AliHBTLLWeightQLongFctn::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
108 {
109   trackpair = CheckPair(trackpair);
110   partpair  = CheckPair(partpair);
111   if ( trackpair && partpair)  
112   {
113      fDenominator->Fill(trackpair->GetQLongCMSLC());
114   }
115 }
116 /**************************************************************/
117 TH1* AliHBTLLWeightQLongFctn::GetResult() 
118                                                                                
119
120 //returns ratio of numerator and denominator                                    
121  return GetRatio(Scale());                                                  
122 }                    
123                                                               
124 /*************************************************************************************/ 
125 /*************************************************************************************/ 
126 /*************************************************************************************/ 
127
128 ClassImp(AliHBTLLWeightQSideFctn)
129 /****************************************************************/
130 void  AliHBTLLWeightQSideFctn::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
131 {
132 //Processes Particles and tracks Same different even
133   trackpair = CheckPair(trackpair);
134   partpair  = CheckPair(partpair);
135   if ( trackpair && partpair)     
136   {
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);
141   }
142
143 /****************************************************************/
144
145 void  AliHBTLLWeightQSideFctn::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
146 {
147   trackpair = CheckPair(trackpair);
148   partpair  = CheckPair(partpair);
149   if ( trackpair && partpair)  
150   {
151      fDenominator->Fill(trackpair->GetQSideCMSLC());
152   }
153 }
154 /**************************************************************/
155 TH1* AliHBTLLWeightQSideFctn::GetResult() 
156                                                                                
157
158 //returns ratio of numerator and denominator                                    
159  return GetRatio(Scale());                                                  
160 }                    
161                                                               
162 /*************************************************************************************/ 
163 /*************************************************************************************/ 
164
165 ClassImp(AliHBTLLWeightTwoKStarFctn)
166 /****************************************************************/
167 void  AliHBTLLWeightTwoKStarFctn::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
168 {
169 //Processes Particles and tracks Same different even
170   trackpair = CheckPair(trackpair);
171   partpair  = CheckPair(partpair);
172   if ( trackpair && partpair)     
173   {
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);
178   }
179
180 /****************************************************************/
181
182 void  AliHBTLLWeightTwoKStarFctn::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
183 {
184   trackpair = CheckPair(trackpair);
185   partpair  = CheckPair(partpair);
186   if ( trackpair && partpair)  
187   {
188      fDenominator->Fill(2.0*(trackpair->GetKStar()));
189   }
190 }
191 /**************************************************************/
192 TH1* AliHBTLLWeightTwoKStarFctn::GetResult() 
193                                                                                
194
195 //returns ratio of numerator and denominator                                    
196  return GetRatio(Scale());                                                  
197 }                    
198                                                               
199 /*************************************************************************************/ 
200