]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HBTAN/AliHBTWeightTheorFctn.h
Comment added
[u/mrichter/AliRoot.git] / HBTAN / AliHBTWeightTheorFctn.h
1 #ifndef ALIHBTWeightTHEORFCTN_H
2 #define ALIHBTWeightTHEORFCTN_H
3 /* $Id$ */
4 //_____________________________________________________________________________
5 ///////////////////////////////////////////////////////////////////////////////
6 //
7 // class AliHBTWeightTheorQInvFctn
8 //
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)
17 //
18 ///////////////////////////////////////////////////////////////////////////////
19
20 #include "AliHBTFunction.h"
21
22 class AliHBTWeights;
23
24 class AliHBTWeightTheorQInvFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
25 {
26
27   public:
28   AliHBTWeightTheorQInvFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
29   virtual  ~AliHBTWeightTheorQInvFctn(){}
30
31   TH1* GetResult(); 
32   void   ProcessSameEventParticles(AliHBTPair* partpair);
33       
34   Double_t GetValue(AliHBTPair* partpair)
35     { return partpair->GetQInv();} 
36
37   ClassDef(AliHBTWeightTheorQInvFctn,1)
38 };
39 /*************************************************************/
40
41 class AliHBTWeightTheorQOutFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
42 {
43
44   public:
45   AliHBTWeightTheorQOutFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
46   virtual  ~AliHBTWeightTheorQOutFctn(){}
47
48   TH1* GetResult(); 
49   void   ProcessSameEventParticles(AliHBTPair* partpair);
50       
51   Double_t GetValue(AliHBTPair* partpair)
52     { return partpair->GetQOutCMSLC();}
53
54   ClassDef(AliHBTWeightTheorQOutFctn,1)
55 };
56 /*************************************************************/
57
58 class AliHBTWeightTheorQSideFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
59 {
60
61   public:
62   AliHBTWeightTheorQSideFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
63   virtual  ~AliHBTWeightTheorQSideFctn(){}
64
65   TH1* GetResult(); 
66   void   ProcessSameEventParticles(AliHBTPair* partpair);
67       
68   Double_t GetValue(AliHBTPair* partpair)
69     { return partpair->GetQSideCMSLC();} 
70
71   ClassDef(AliHBTWeightTheorQSideFctn,1)
72 };
73 /*************************************************************/
74
75 class AliHBTWeightTheorQLongFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
76 {
77
78   public:
79   AliHBTWeightTheorQLongFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
80   virtual  ~AliHBTWeightTheorQLongFctn(){}
81
82   TH1* GetResult(); 
83   void   ProcessSameEventParticles(AliHBTPair* partpair);
84       
85   Double_t GetValue(AliHBTPair* partpair)
86     { return partpair->GetQLongCMSLC();} 
87
88   ClassDef(AliHBTWeightTheorQLongFctn,1)
89 };
90 /*************************************************************/
91
92 class AliHBTWeightTheorOSLFctn: public AliHBTOnePairFctn3D, public AliHBTCorrelFunction
93 {
94
95   public:
96     AliHBTWeightTheorOSLFctn(Int_t nXbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0,
97                              Int_t nYbins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0,
98                  Int_t nZbins = 100, Double_t maxZval = 0.15, Double_t minZval = 0.0);
99     virtual  ~AliHBTWeightTheorOSLFctn(){}
100
101   TH1* GetResult();
102   void   ProcessSameEventParticles(AliHBTPair* partpair);
103   
104   void GetValues(AliHBTPair* pair, Double_t& x, Double_t& y, Double_t& z)
105     { x=TMath::Abs(pair->GetQOutCMSLC()); y=TMath::Abs(pair->GetQSideCMSLC()); z=TMath::Abs(pair->GetQLongCMSLC());} 
106
107   ClassDef(AliHBTWeightTheorOSLFctn,1)
108 };
109     
110 #endif