Updated to the new way AOD stores particles
[u/mrichter/AliRoot.git] / HBTAN / AliHBTWeightTheorFctn.h
CommitLineData
dd82cadc 1#ifndef ALIHBTWeightTHEORFCTN_H
2#define ALIHBTWeightTHEORFCTN_H
3/* $Id$ */
eb828ce0 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///////////////////////////////////////////////////////////////////////////////
dd82cadc 19
20#include "AliHBTFunction.h"
21
22class AliHBTWeights;
23
fc13079c 24class AliHBTWeightTheorQInvFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
dd82cadc 25{
dd82cadc 26 public:
f78d233e 27 AliHBTWeightTheorQInvFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
28 virtual ~AliHBTWeightTheorQInvFctn(){}
29
30 TH1* GetResult();
31 void ProcessSameEventParticles(AliHBTPair* partpair);
dd82cadc 32
f78d233e 33 protected:
a22a56ec 34 Double_t GetValue(AliHBTPair* partpair) const
f78d233e 35 { return partpair->GetQInv();}
dd82cadc 36
53c30a2e 37 ClassDef(AliHBTWeightTheorQInvFctn,2)
dd82cadc 38};
fc13079c 39/*************************************************************/
dd82cadc 40
fc13079c 41class AliHBTWeightTheorQOutFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
dd82cadc 42{
43
44 public:
f78d233e 45 AliHBTWeightTheorQOutFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
46 virtual ~AliHBTWeightTheorQOutFctn(){}
dd82cadc 47
f78d233e 48 TH1* GetResult();
49 void ProcessSameEventParticles(AliHBTPair* partpair);
dd82cadc 50
f78d233e 51 protected:
a22a56ec 52 Double_t GetValue(AliHBTPair* partpair) const
78d7c6d3 53 { return partpair->GetQOutLCMS();}
f78d233e 54
53c30a2e 55 ClassDef(AliHBTWeightTheorQOutFctn,2)
dd82cadc 56};
fc13079c 57/*************************************************************/
dd82cadc 58
fc13079c 59class AliHBTWeightTheorQSideFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
dd82cadc 60{
dd82cadc 61 public:
f78d233e 62 AliHBTWeightTheorQSideFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
63 virtual ~AliHBTWeightTheorQSideFctn(){}
dd82cadc 64
f78d233e 65 TH1* GetResult();
66 void ProcessSameEventParticles(AliHBTPair* partpair);
67
68 protected:
a22a56ec 69 Double_t GetValue(AliHBTPair* partpair) const
78d7c6d3 70 { return partpair->GetQSideLCMS();}
dd82cadc 71
53c30a2e 72 ClassDef(AliHBTWeightTheorQSideFctn,2)
dd82cadc 73};
fc13079c 74/*************************************************************/
dd82cadc 75
fc13079c 76class AliHBTWeightTheorQLongFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
dd82cadc 77{
dd82cadc 78 public:
f78d233e 79 AliHBTWeightTheorQLongFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
80 virtual ~AliHBTWeightTheorQLongFctn(){}
dd82cadc 81
f78d233e 82 TH1* GetResult();
83 void ProcessSameEventParticles(AliHBTPair* partpair);
84
85 protected:
a22a56ec 86 Double_t GetValue(AliHBTPair* partpair) const
78d7c6d3 87 { return partpair->GetQLongLCMS();}
dd82cadc 88
53c30a2e 89 ClassDef(AliHBTWeightTheorQLongFctn,2)
dd82cadc 90};
dc0241b8 91
92/*************************************************************/
93
94class AliHBTWeightTheorQtFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
95{
96 public:
97 AliHBTWeightTheorQtFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
98 virtual ~AliHBTWeightTheorQtFctn(){}
99
100 TH1* GetResult();
101 void ProcessSameEventParticles(AliHBTPair* partpair);
102
103 protected:
104 Double_t GetValue(AliHBTPair* partpair) const
105 { return partpair->GetQt();}
106
377276f3 107 ClassDef(AliHBTWeightTheorQtFctn,1)
dc0241b8 108};
109
fc13079c 110/*************************************************************/
dd82cadc 111
fc13079c 112class AliHBTWeightTheorOSLFctn: public AliHBTOnePairFctn3D, public AliHBTCorrelFunction
dd82cadc 113{
114
115 public:
116 AliHBTWeightTheorOSLFctn(Int_t nXbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0,
117 Int_t nYbins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0,
118 Int_t nZbins = 100, Double_t maxZval = 0.15, Double_t minZval = 0.0);
119 virtual ~AliHBTWeightTheorOSLFctn(){}
120
f78d233e 121 TH1* GetResult();
122 void ProcessSameEventParticles(AliHBTPair* partpair);
dd82cadc 123
f78d233e 124 protected:
a22a56ec 125 void GetValues(AliHBTPair* pair, Double_t& x, Double_t& y, Double_t& z) const
78d7c6d3 126 { x=TMath::Abs(pair->GetQOutLCMS()); y=TMath::Abs(pair->GetQSideLCMS()); z=TMath::Abs(pair->GetQLongLCMS());}
dd82cadc 127
53c30a2e 128 ClassDef(AliHBTWeightTheorOSLFctn,2)
dd82cadc 129};
130
131#endif