3 //-----------------------------------------------------------
4 // This class introduces the weights calculated according
5 // with functions of efficiency of identification (TPC+TOF)
6 // (calculated by B.V. Batyunia).
7 // Author: Ludmila Malinina, JINR (malinina@sunhe.jinr.ru)
8 //-----------------------------------------------------------
10 #include "AliHBTWeightTheorFctn.h"
12 //--for test--AliHBTWeightQInvFctn* yyy= new AliHBTWeightQInvFctn();
13 /*************************************************************/
14 /*************************************************************/
15 /*************************************************************/
17 ClassImp(AliHBTWeightTheorQInvFctn)
18 /*************************************************************/
20 AliHBTWeightTheorQInvFctn::AliHBTWeightTheorQInvFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
21 AliHBTOnePairFctn1D(nbins,maxXval,minXval)
24 fWriteNumAndDen = kTRUE;//change default behaviour
25 Rename("wqinvtheorcf","Q_{inv} Weight Theoretical Correlation Function");
27 /****************************************************************/
28 void AliHBTWeightTheorQInvFctn::ProcessSameEventParticles(AliHBTPair* partpair)
30 //Processes Particles and tracks Same different event
31 partpair = CheckPair(partpair);
32 if (partpair == 0x0) return;
33 Double_t weight = partpair->GetWeight();
34 if(TMath::Abs(weight)<=10.) fNumerator->Fill(partpair->GetQInv(),weight);
37 /**************************************************************/
38 TH1* AliHBTWeightTheorQInvFctn::GetResult()
40 //returns ratio of numerator and denominator
41 return GetRatio(Scale());
44 /*************************************************************/
45 /*************************************************************/
46 /*************************************************************/
48 ClassImp(AliHBTWeightTheorQOutFctn)
49 /*************************************************************/
51 AliHBTWeightTheorQOutFctn::AliHBTWeightTheorQOutFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
52 AliHBTOnePairFctn1D(nbins,maxXval,minXval)
55 fWriteNumAndDen = kTRUE;//change default behaviour
56 Rename("wqouttheorcf","Q_{out} Weight Theoretical Correlation Function");
58 /****************************************************************/
59 void AliHBTWeightTheorQOutFctn::ProcessSameEventParticles(AliHBTPair* partpair)
61 //Processes Particles and tracks Same different even
62 partpair = CheckPair(partpair);
63 if (partpair == 0x0) return;
64 Double_t weight = partpair->GetWeight();
65 if(TMath::Abs(weight)<=10.) fNumerator->Fill(partpair->GetQOutCMSLC(),weight);
68 /**************************************************************/
69 TH1* AliHBTWeightTheorQOutFctn::GetResult()
71 //returns ratio of numerator and denominator
72 return GetRatio(Scale());
75 /*************************************************************/
76 /*************************************************************/
77 /*************************************************************/
79 ClassImp(AliHBTWeightTheorQSideFctn)
80 /*************************************************************/
82 AliHBTWeightTheorQSideFctn::AliHBTWeightTheorQSideFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
83 AliHBTOnePairFctn1D(nbins,maxXval,minXval)
86 fWriteNumAndDen = kTRUE;//change default behaviour
87 Rename("wqsidetheorcf","Q_{side} Weight Theoretical Correlation Function");
89 /****************************************************************/
90 void AliHBTWeightTheorQSideFctn::ProcessSameEventParticles(AliHBTPair* partpair)
92 //Processes Particles and tracks Same different even
93 partpair = CheckPair(partpair);
94 if (partpair == 0x0) return;
95 Double_t weight = partpair->GetWeight();
96 if(TMath::Abs(weight)<=10.) fNumerator->Fill(partpair->GetQSideCMSLC(),weight);
99 /**************************************************************/
100 TH1* AliHBTWeightTheorQSideFctn::GetResult()
102 //returns ratio of numerator and denominator
103 return GetRatio(Scale());
106 /*************************************************************/
107 /*************************************************************/
108 /*************************************************************/
110 ClassImp(AliHBTWeightTheorQLongFctn)
111 /*************************************************************/
113 AliHBTWeightTheorQLongFctn::AliHBTWeightTheorQLongFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
114 AliHBTOnePairFctn1D(nbins,maxXval,minXval)
117 fWriteNumAndDen = kTRUE;//change default behaviour
118 Rename("wqlongtheorcf","Q_{long} Weight Theoretical Correlation Function");
120 /****************************************************************/
121 void AliHBTWeightTheorQLongFctn::ProcessSameEventParticles(AliHBTPair* partpair)
123 //Processes Particles and tracks Same different even
124 partpair = CheckPair(partpair);
125 if (partpair == 0x0) return;
126 Double_t weight = partpair->GetWeight();
127 if(TMath::Abs(weight)<=10.) fNumerator->Fill(partpair->GetQLongCMSLC(),weight);
130 /**************************************************************/
131 TH1* AliHBTWeightTheorQLongFctn::GetResult()
133 //returns ratio of numerator and denominator
134 return GetRatio(Scale());
137 /*************************************************************/
138 /*************************************************************/
139 /*************************************************************/
141 ClassImp(AliHBTWeightTheorOSLFctn)
143 AliHBTWeightTheorOSLFctn::AliHBTWeightTheorOSLFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
144 Int_t nYbins, Double_t maxYval, Double_t minYval,
145 Int_t nZbins, Double_t maxZval, Double_t minZval):
146 AliHBTOnePairFctn3D(nXbins,maxXval,minXval,nYbins,maxYval,minYval,nZbins,maxZval,minZval)
148 fWriteNumAndDen = kTRUE;//change default behaviour
149 Rename("wqosltheorcf","Q_{out}-Q_{side}-Q_{long} Weight Theoretical Correlation Fctn");
151 /*************************************************************/
153 void AliHBTWeightTheorOSLFctn::ProcessSameEventParticles(AliHBTPair* partpair)
156 partpair = CheckPair(partpair);
157 if (partpair == 0x0) return;
158 Double_t weight = partpair->GetWeight();
159 Double_t out = TMath::Abs(partpair->GetQOutCMSLC());
160 Double_t side = TMath::Abs(partpair->GetQSideCMSLC());
161 Double_t lon = TMath::Abs(partpair->GetQLongCMSLC());
162 fNumerator->Fill(out,side,lon,weight);
164 /*************************************************************/
166 TH1* AliHBTWeightTheorOSLFctn::GetResult()
168 //returns ratio of numerator and denominator
169 return GetRatio(Scale());