]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/RESONANCES/AliRsnValue.h
- added the DCA for the HLT tracks, as calculated by the HLT reconstruction, however...
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnValue.h
CommitLineData
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"
14
b9bbd271 15class AliRsnPairDef;
2dab9030 16class AliRsnMother;
b9bbd271 17
0d73200d 18class AliRsnValue : public TNamed
b9bbd271 19{
20 public:
21
2dab9030 22 enum EValueType
b9bbd271 23 {
b9bbd271 24 kTrack1P,
25 kTrack2P,
26 kTrack1Pt,
27 kTrack2Pt,
3c07ce75 28 kTrack1Px,
29 kTrack1Py,
30 kTrack1Pz,
31 kTrack2Px,
32 kTrack2Py,
33 kTrack2Pz,
b9bbd271 34 kPairInvMass,
35 kPairInvMassMC,
36 kPairInvMassRes,
37 kPairPt,
38 kPairEta,
39 kPairMt,
40 kPairY,
b8718678 41 kPairPhi,
42 kPairPhiMC,
43 kPairPtRatio,
f9b1a0cc 44 kPairDipAngle,
2e521c29 45 kPairCosThetaStar,
cadcd9e0 46 kPairCosThetaStar1,
47 kPairCosThetaStar2,
48 kPairCosThetaStarMC1,
49 kPairCosThetaStarMC2,
11ba7ebc 50 kAngleToLeading,
51 kLeadingPt,
2467e7c3 52 kQInv,
b9bbd271 53 kEventMult,
2dab9030 54 kValueTypes
b9bbd271 55 };
56
2dab9030 57 AliRsnValue();
b2b08ca2 58 AliRsnValue(const char *name, EValueType type, Int_t n = 0, Double_t min = 0.0, Double_t max = 0.0);
0d73200d 59 AliRsnValue(const char *name, EValueType type, Double_t min, Double_t max, Double_t step);
b2b08ca2 60 AliRsnValue(const char *name, EValueType type, Int_t n, Double_t *array);
63a2738c 61 AliRsnValue(const AliRsnValue& copy) : TNamed(copy),fValue(copy.fValue),fType(copy.fType),fArray(copy.fArray) {}
b2b08ca2 62 AliRsnValue& operator=(const AliRsnValue& copy) {SetName(copy.GetName());fType=copy.fType;fValue=copy.fValue;fArray=copy.fArray;return (*this);}
b9bbd271 63 virtual ~AliRsnValue() { }
2dab9030 64
b2b08ca2 65 TArrayD GetArray() const {return fArray;}
2dab9030 66 Double_t GetValue() const {return fValue;}
67 EValueType GetValueType() {return fType;}
b9bbd271 68
2dab9030 69 void SetValueType(EValueType type) {fType = type;}
70 void SetBins(Int_t n, Double_t min, Double_t max);
71 void SetBins(Double_t min, Double_t max, Double_t step);
b2b08ca2 72 void SetBins(Int_t n, Double_t *array);
69fbb331 73 void Set(EValueType type, Int_t n = 0, Double_t min = 0.0, Double_t max = 0.0) {fType = type; SetBins(n, min, max);}
74 void Set(EValueType type, Double_t min, Double_t max, Double_t step) {fType = type; SetBins(min, max, step);}
75 void Set(EValueType type, Int_t n, Double_t *array) {fType = type; SetBins(n, array);}
2dab9030 76
2941485c 77 virtual Bool_t Eval(AliRsnMother * const mother, AliRsnPairDef * const pairDef, AliRsnEvent * const event);
78 virtual Bool_t Eval(AliRsnDaughter * const daughter, AliRsnEvent * const event);
79 virtual void Print(Option_t *option = "") const;
b9bbd271 80
63a2738c 81 protected:
82
83 Double_t fValue; // computed value
84
b9bbd271 85 private:
86
2dab9030 87 EValueType fType; // value type
b2b08ca2 88 TArrayD fArray; // array of bins (when necessary)
2dab9030 89
b9bbd271 90 // ROOT dictionary
91 ClassDef(AliRsnValue, 1)
92};
93
94#endif