]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HBTAN/AliHBTWeightTheorFctn.h
Num and Den histograms should not bound to output file (SetDirectory(null) at functio...
[u/mrichter/AliRoot.git] / HBTAN / AliHBTWeightTheorFctn.h
CommitLineData
dd82cadc 1#ifndef ALIHBTWeightTHEORFCTN_H
2#define ALIHBTWeightTHEORFCTN_H
3/* $Id$ */
4
5//This function allows to obtain Q_inv correlation function with weights
6//calculated by Lednicky's alghorithm.
7//Numerator is filled with weighted events. Weights are attributed to simulated particles.
8//Weights are calculated with corresponding simulated particles momenta.
9//Denominator is filled with mixing unweighted simulated particles.
10//One needs only simulated pairs, so
11//this function is of class AliHBTOnePairFctn1D.
12//Author Ludmila Malinina JINR (malinina@sunhe.jinr.ru)
13
14#include "AliHBTFunction.h"
15
16class AliHBTWeights;
17
18class AliHBTWeightTheorQInvFctn: public AliHBTOnePairFctn1D
19{
20
21 public:
22 AliHBTWeightTheorQInvFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
23 virtual ~AliHBTWeightTheorQInvFctn(){}
24
25 TH1* GetResult();
26 void ProcessSameEventParticles(AliHBTPair* partpair);
27
28 Double_t GetValue(AliHBTPair* partpair)
29 { return partpair->GetQInv();}
30
31 ClassDef(AliHBTWeightTheorQInvFctn,1)
32};
33
34class AliHBTWeightTheorQOutFctn: public AliHBTOnePairFctn1D
35{
36
37 public:
38 AliHBTWeightTheorQOutFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
39 virtual ~AliHBTWeightTheorQOutFctn(){}
40
41 TH1* GetResult();
42 void ProcessSameEventParticles(AliHBTPair* partpair);
43
44 Double_t GetValue(AliHBTPair* partpair)
45 { return partpair->GetQOutCMSLC();}
46
47 ClassDef(AliHBTWeightTheorQOutFctn,1)
48};
49
50class AliHBTWeightTheorQSideFctn: public AliHBTOnePairFctn1D
51{
52
53 public:
54 AliHBTWeightTheorQSideFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
55 virtual ~AliHBTWeightTheorQSideFctn(){}
56
57 TH1* GetResult();
58 void ProcessSameEventParticles(AliHBTPair* partpair);
59
60 Double_t GetValue(AliHBTPair* partpair)
61 { return partpair->GetQSideCMSLC();}
62
63 ClassDef(AliHBTWeightTheorQSideFctn,1)
64};
65
66class AliHBTWeightTheorQLongFctn: public AliHBTOnePairFctn1D
67{
68
69 public:
70 AliHBTWeightTheorQLongFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
71 virtual ~AliHBTWeightTheorQLongFctn(){}
72
73 TH1* GetResult();
74 void ProcessSameEventParticles(AliHBTPair* partpair);
75
76 Double_t GetValue(AliHBTPair* partpair)
77 { return partpair->GetQLongCMSLC();}
78
79 ClassDef(AliHBTWeightTheorQLongFctn,1)
80};
81
82class AliHBTWeightTheorOSLFctn: public AliHBTOnePairFctn3D
83{
84
85 public:
86 AliHBTWeightTheorOSLFctn(Int_t nXbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0,
87 Int_t nYbins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0,
88 Int_t nZbins = 100, Double_t maxZval = 0.15, Double_t minZval = 0.0);
89 virtual ~AliHBTWeightTheorOSLFctn(){}
90
91 TH1* GetResult();
92 void ProcessSameEventParticles(AliHBTPair* partpair);
93
94 void GetValues(AliHBTPair* pair, Double_t& x, Double_t& y, Double_t& z)
95 { x=TMath::Abs(pair->GetQOutCMSLC()); y=TMath::Abs(pair->GetQSideCMSLC()); z=TMath::Abs(pair->GetQLongCMSLC());}
96
97 ClassDef(AliHBTWeightTheorOSLFctn,1)
98};
99
100#endif