]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HBTAN/AliHBTWeightTheorFctn.h
memory leaks removed; new base class for CFs introduced
[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{
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};
fc13079c 39/*************************************************************/
dd82cadc 40
fc13079c 41class AliHBTWeightTheorQOutFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
dd82cadc 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};
fc13079c 56/*************************************************************/
dd82cadc 57
fc13079c 58class AliHBTWeightTheorQSideFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
dd82cadc 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};
fc13079c 73/*************************************************************/
dd82cadc 74
fc13079c 75class AliHBTWeightTheorQLongFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
dd82cadc 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};
fc13079c 90/*************************************************************/
dd82cadc 91
fc13079c 92class AliHBTWeightTheorOSLFctn: public AliHBTOnePairFctn3D, public AliHBTCorrelFunction
dd82cadc 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