]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HBTAN/AliHBTWeightTheorFctn.cxx
Method to count the physical contribution to a cluster added.
[u/mrichter/AliRoot.git] / HBTAN / AliHBTWeightTheorFctn.cxx
1 /* $Id$ */
2
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 //-----------------------------------------------------------
9
10 #include "AliHBTWeightTheorFctn.h"
11
12 //--for test--AliHBTWeightQInvFctn* yyy= new AliHBTWeightQInvFctn();
13 /*************************************************************/
14 /*************************************************************/
15 /*************************************************************/
16
17 ClassImp(AliHBTWeightTheorQInvFctn)  
18 /*************************************************************/
19
20 AliHBTWeightTheorQInvFctn::AliHBTWeightTheorQInvFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
21   AliHBTOnePairFctn1D(nbins,maxXval,minXval)
22 {
23   //ctor
24  fWriteNumAndDen = kTRUE;//change default behaviour
25  Rename("wqinvtheorcf","Q_{inv} Weight Theoretical Correlation Function");
26 }
27 /****************************************************************/
28 void  AliHBTWeightTheorQInvFctn::ProcessSameEventParticles(AliHBTPair* partpair)
29 {
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);
35
36
37 /**************************************************************/
38 TH1* AliHBTWeightTheorQInvFctn::GetResult() 
39 {
40   //returns ratio of numerator and denominator
41   return GetRatio(Scale());
42 }                    
43                                                               
44 /*************************************************************/
45 /*************************************************************/
46 /*************************************************************/
47
48 ClassImp(AliHBTWeightTheorQOutFctn)  
49 /*************************************************************/
50
51 AliHBTWeightTheorQOutFctn::AliHBTWeightTheorQOutFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
52   AliHBTOnePairFctn1D(nbins,maxXval,minXval)
53 {
54   //ctor
55  fWriteNumAndDen = kTRUE;//change default behaviour
56  Rename("wqouttheorcf","Q_{out} Weight Theoretical Correlation Function");
57 }
58 /****************************************************************/
59 void  AliHBTWeightTheorQOutFctn::ProcessSameEventParticles(AliHBTPair* partpair)
60 {
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);
66
67
68 /**************************************************************/
69 TH1* AliHBTWeightTheorQOutFctn::GetResult() 
70 {
71   //returns ratio of numerator and denominator
72   return GetRatio(Scale());
73 }                    
74
75 /*************************************************************/
76 /*************************************************************/
77 /*************************************************************/
78
79 ClassImp(AliHBTWeightTheorQSideFctn)  
80 /*************************************************************/
81
82 AliHBTWeightTheorQSideFctn::AliHBTWeightTheorQSideFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
83   AliHBTOnePairFctn1D(nbins,maxXval,minXval)
84 {
85   //ctor
86  fWriteNumAndDen = kTRUE;//change default behaviour
87  Rename("wqsidetheorcf","Q_{side} Weight Theoretical Correlation Function");
88 }
89 /****************************************************************/
90 void  AliHBTWeightTheorQSideFctn::ProcessSameEventParticles(AliHBTPair* partpair)
91 {
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);
97
98
99 /**************************************************************/
100 TH1* AliHBTWeightTheorQSideFctn::GetResult() 
101 {
102   //returns ratio of numerator and denominator
103   return GetRatio(Scale());
104 }                    
105
106 /*************************************************************/
107 /*************************************************************/
108 /*************************************************************/
109
110 ClassImp(AliHBTWeightTheorQLongFctn)  
111 /*************************************************************/
112
113 AliHBTWeightTheorQLongFctn::AliHBTWeightTheorQLongFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
114   AliHBTOnePairFctn1D(nbins,maxXval,minXval)
115 {
116   //ctor
117  fWriteNumAndDen = kTRUE;//change default behaviour
118  Rename("wqlongtheorcf","Q_{long} Weight Theoretical Correlation Function");
119 }
120 /****************************************************************/
121 void  AliHBTWeightTheorQLongFctn::ProcessSameEventParticles(AliHBTPair* partpair)
122 {
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);
128
129
130 /**************************************************************/
131 TH1* AliHBTWeightTheorQLongFctn::GetResult() 
132 {
133   //returns ratio of numerator and denominator
134   return GetRatio(Scale());
135 }                    
136
137 /*************************************************************/
138 /*************************************************************/
139 /*************************************************************/
140
141 ClassImp(AliHBTWeightTheorOSLFctn)
142
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)
147 {
148   fWriteNumAndDen = kTRUE;//change default behaviour
149   Rename("wqosltheorcf","Q_{out}-Q_{side}-Q_{long} Weight Theoretical Correlation Fctn");
150 }
151 /*************************************************************/
152
153 void AliHBTWeightTheorOSLFctn::ProcessSameEventParticles(AliHBTPair* partpair)
154 {
155 //Fills numerator
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);
163 }
164 /*************************************************************/
165
166 TH1* AliHBTWeightTheorOSLFctn::GetResult()
167 {
168   //returns ratio of numerator and denominator
169   return GetRatio(Scale());
170 }