]>
Commit | Line | Data |
---|---|---|
cd286c84 | 1 | #ifndef ALIBALANCE_H |
2 | #define ALIBALANCE_H | |
3 | /* See cxx source for full Copyright notice */ | |
4 | ||
5 | ||
6 | /* $Id$ */ | |
7 | ||
8 | //------------------------------------------------------------------------- | |
9 | // Class AliBalance | |
10 | // This is the class for the Balance Function analysis | |
11 | // | |
12 | // Origin: Panos Christakoglou, UOA-CERN, Panos.Christakoglou@cern.ch | |
13 | //------------------------------------------------------------------------- | |
14 | ||
cd286c84 | 15 | #include <TObject.h> |
cd286c84 | 16 | |
17 | #define MAXIMUM_NUMBER_OF_STEPS 1024 | |
18 | ||
93809d0d | 19 | class TLorentzVector; |
20 | ||
cd286c84 | 21 | class AliBalance : public TObject |
22 | { | |
cd286c84 | 23 | public: |
24 | AliBalance(); | |
25 | ||
93809d0d | 26 | AliBalance(Double_t p2Start, Double_t p2Stop, Int_t p2Steps); |
cd286c84 | 27 | |
28 | ~AliBalance(); | |
29 | ||
30 | void SetParticles(TLorentzVector *P, Double_t *charge, Int_t dim); | |
31 | void SetNumberOfBins(Int_t ibins); | |
32 | void SetAnalysisType(Int_t iType); | |
93809d0d | 33 | void SetInterval(Double_t p2Start, Double_t p2Stop); |
cd286c84 | 34 | |
94d49dd3 | 35 | void CalculateBalance(); |
cd286c84 | 36 | |
93809d0d | 37 | Double_t GetNp() const { return 1.0*fNp; } |
38 | Double_t GetNn() const { return 1.0*fNn; } | |
39 | Double_t GetNnn(Int_t p2) const { return 1.0*fNnn[p2]; } | |
40 | Double_t GetNpp(Int_t p2) const { return 1.0*fNpp[p2]; } | |
41 | Double_t GetNpn(Int_t p2) const { return 1.0*fNpn[p2]; } | |
cd286c84 | 42 | |
43 | Double_t GetBalance(Int_t p2); | |
44 | Double_t GetError(Int_t p2); | |
45 | ||
46 | void PrintResults(); | |
93809d0d | 47 | |
48 | private: | |
49 | Double_t *fCharge; //matrix with the charge of each track | |
50 | Int_t fNtrack; //number of tracks to compute the BF | |
51 | ||
52 | TLorentzVector *fV; //4-momentum vector - info for tracks used to compute the BF | |
53 | ||
54 | Int_t fNumberOfBins; //number of bins of the analyzed interval | |
55 | Int_t fAnalysisType; //0:y - 1:eta - 2:Qlong - 3:Qout - 4:Qside - 5:Qinv - 6:phi | |
56 | Int_t fAnalyzedEvents; //number of events that have been analyzed | |
cd286c84 | 57 | |
93809d0d | 58 | Double_t fP2Start, fP2Stop, fP2Step; //inerval info |
59 | ||
60 | Double_t fNnn[MAXIMUM_NUMBER_OF_STEPS]; //N(--) | |
61 | Double_t fNpp[MAXIMUM_NUMBER_OF_STEPS]; //N(++) | |
62 | Double_t fNpn[MAXIMUM_NUMBER_OF_STEPS]; //N(+-) | |
63 | Double_t fNn, fNp; //number of pos./neg. inside the analyzed interval | |
64 | ||
65 | Double_t fB[MAXIMUM_NUMBER_OF_STEPS]; //BF matrix | |
66 | Double_t ferror[MAXIMUM_NUMBER_OF_STEPS]; //error of the BF | |
67 | ||
cd286c84 | 68 | ClassDef(AliBalance, 1) |
69 | } ; | |
70 | ||
71 | #endif |