]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/RESONANCES/AliRsnValue.h
Added new possible values and removed non physical primaries from MC analysis
[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,
2e521c29 41 kPairCosThetaStar,
cadcd9e0 42 kPairCosThetaStar1,
43 kPairCosThetaStar2,
44 kPairCosThetaStarMC1,
45 kPairCosThetaStarMC2,
b9bbd271 46 kEventMult,
2dab9030 47 kValueTypes
b9bbd271 48 };
49
2dab9030 50 AliRsnValue();
b2b08ca2 51 AliRsnValue(const char *name, EValueType type, Int_t n = 0, Double_t min = 0.0, Double_t max = 0.0);
0d73200d 52 AliRsnValue(const char *name, EValueType type, Double_t min, Double_t max, Double_t step);
b2b08ca2 53 AliRsnValue(const char *name, EValueType type, Int_t n, Double_t *array);
54 AliRsnValue(const AliRsnValue& copy) : TNamed(copy),fType(copy.fType),fValue(copy.fValue),fArray(copy.fArray) {}
55 AliRsnValue& operator=(const AliRsnValue& copy) {SetName(copy.GetName());fType=copy.fType;fValue=copy.fValue;fArray=copy.fArray;return (*this);}
b9bbd271 56 virtual ~AliRsnValue() { }
2dab9030 57
b2b08ca2 58 TArrayD GetArray() const {return fArray;}
2dab9030 59 Double_t GetValue() const {return fValue;}
60 EValueType GetValueType() {return fType;}
b9bbd271 61
2dab9030 62 void SetValueType(EValueType type) {fType = type;}
63 void SetBins(Int_t n, Double_t min, Double_t max);
64 void SetBins(Double_t min, Double_t max, Double_t step);
b2b08ca2 65 void SetBins(Int_t n, Double_t *array);
2dab9030 66
2e521c29 67 Bool_t Eval(AliRsnMother * const mother, AliRsnPairDef * const pairDef, AliRsnEvent * const event);
b9bbd271 68
69 private:
70
2dab9030 71 EValueType fType; // value type
2dab9030 72 Double_t fValue; // computed value
b2b08ca2 73 TArrayD fArray; // array of bins (when necessary)
2dab9030 74
b9bbd271 75 // ROOT dictionary
76 ClassDef(AliRsnValue, 1)
77};
78
79#endif