]>
Commit | Line | Data |
---|---|---|
b9bbd271 | 1 | // |
2 | // Class AliRsnValue | |
3 | // | |
4 | // Definition of a single value which can be computed | |
5 | // from any of the defined input objects implemented | |
6 | // in the resonance package. | |
7 | // | |
8 | ||
9 | #ifndef ALIRSNVALUE_H | |
10 | #define ALIRSNVALUE_H | |
11 | ||
0d73200d | 12 | #include "TNamed.h" |
2dab9030 | 13 | #include "TArrayD.h" |
45bb0283 | 14 | #include "AliESDtrackCuts.h" |
2dab9030 | 15 | |
b9bbd271 | 16 | class AliRsnPairDef; |
2dab9030 | 17 | class AliRsnMother; |
b9bbd271 | 18 | |
0d73200d | 19 | class AliRsnValue : public TNamed |
b9bbd271 | 20 | { |
21 | public: | |
22 | ||
2dab9030 | 23 | enum EValueType |
b9bbd271 | 24 | { |
b9bbd271 | 25 | kTrack1P, |
26 | kTrack2P, | |
27 | kTrack1Pt, | |
28 | kTrack2Pt, | |
3c07ce75 | 29 | kTrack1Px, |
30 | kTrack1Py, | |
31 | kTrack1Pz, | |
32 | kTrack2Px, | |
33 | kTrack2Py, | |
34 | kTrack2Pz, | |
b9bbd271 | 35 | kPairInvMass, |
36 | kPairInvMassMC, | |
37 | kPairInvMassRes, | |
38 | kPairPt, | |
39 | kPairEta, | |
40 | kPairMt, | |
41 | kPairY, | |
b8718678 | 42 | kPairPhi, |
43 | kPairPhiMC, | |
44 | kPairPtRatio, | |
f9b1a0cc | 45 | kPairDipAngle, |
2e521c29 | 46 | kPairCosThetaStar, |
11ba7ebc | 47 | kAngleToLeading, |
48 | kLeadingPt, | |
2467e7c3 | 49 | kQInv, |
b9bbd271 | 50 | kEventMult, |
a378358c | 51 | kEventMultESDCuts, |
2dab9030 | 52 | kValueTypes |
b9bbd271 | 53 | }; |
54 | ||
2dab9030 | 55 | AliRsnValue(); |
b2b08ca2 | 56 | AliRsnValue(const char *name, EValueType type, Int_t n = 0, Double_t min = 0.0, Double_t max = 0.0); |
0d73200d | 57 | AliRsnValue(const char *name, EValueType type, Double_t min, Double_t max, Double_t step); |
b2b08ca2 | 58 | AliRsnValue(const char *name, EValueType type, Int_t n, Double_t *array); |
52944696 | 59 | AliRsnValue(const AliRsnValue& copy); |
60 | AliRsnValue& operator=(const AliRsnValue& copy); | |
b9bbd271 | 61 | virtual ~AliRsnValue() { } |
2dab9030 | 62 | |
52944696 | 63 | TArrayD GetArray() const {return fArray;} |
64 | Double_t GetValue() const {return fValue;} | |
65 | EValueType GetValueType() const {return fType;} | |
66 | const AliESDtrackCuts* GetCuts() const {return &fESDCuts;} | |
b9bbd271 | 67 | |
2dab9030 | 68 | void SetValueType(EValueType type) {fType = type;} |
69 | void SetBins(Int_t n, Double_t min, Double_t max); | |
70 | void SetBins(Double_t min, Double_t max, Double_t step); | |
b2b08ca2 | 71 | void SetBins(Int_t n, Double_t *array); |
69fbb331 | 72 | void Set(EValueType type, Int_t n = 0, Double_t min = 0.0, Double_t max = 0.0) {fType = type; SetBins(n, min, max);} |
73 | void Set(EValueType type, Double_t min, Double_t max, Double_t step) {fType = type; SetBins(min, max, step);} | |
74 | void Set(EValueType type, Int_t n, Double_t *array) {fType = type; SetBins(n, array);} | |
2dab9030 | 75 | |
a378358c | 76 | virtual Bool_t Eval(AliRsnMother *mother, AliRsnPairDef *pairDef, AliRsnEvent *event); |
77 | virtual Bool_t Eval(AliRsnDaughter *daughter, AliRsnEvent *event); | |
2941485c | 78 | virtual void Print(Option_t *option = "") const; |
b9bbd271 | 79 | |
63a2738c | 80 | protected: |
81 | ||
45bb0283 | 82 | Double_t fValue; // computed value |
83 | EValueType fType; // value type | |
84 | TArrayD fArray; // array of bins (when necessary) | |
85 | AliESDtrackCuts fESDCuts; // ESD track cuts used for a way to compute multiplicity | |
2dab9030 | 86 | |
b9bbd271 | 87 | // ROOT dictionary |
88 | ClassDef(AliRsnValue, 1) | |
89 | }; | |
90 | ||
91 | #endif |