]>
Commit | Line | Data |
---|---|---|
c865cb1d | 1 | #ifndef ALIRSNVALUESTD_H |
2 | #define ALIRSNVALUESTD_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | //////////////////////////////////////////////////////////////////////////////// | |
8 | // | |
9 | // Collection of all values which can be computed within the package | |
10 | // | |
11 | //////////////////////////////////////////////////////////////////////////////// | |
12 | ||
13 | #include "AliRsnValue.h" | |
14 | ||
15 | class AliRsnValueStd : public AliRsnValue { | |
16 | public: | |
17 | ||
18 | enum EValueType { | |
19 | kTrackP, // single track total momentum | |
20 | kTrackPt, // single track transverse momentum | |
21 | kTrackPtpc, // single track total momentum in the TPC inner wall | |
22 | kTrackEta, // single track pseudo-rapidity | |
23 | kTrackY, // single track rapidity | |
24 | kTrackITSsignal, // single track ITS signal | |
25 | kTrackTPCsignal, // single track TPC signal | |
26 | kTrackTOFsignal, // single track TOF signal | |
27 | kTrackTOFbeta, // single track beta from TOF | |
28 | kTrackLength, // single track integrated length | |
29 | kTrackValues, // --- limit for track values ----------------------------------------- | |
30 | ||
31 | kPairP1, // total momentum of 1st daughter of a pair | |
32 | kPairP2, // total momentum of 2nd daughter of a pair | |
33 | kPairP1t, // transverse momentum of 1st daughter of a pair | |
34 | kPairP2t, // transverse momentum of 2nd daughter of a pair | |
35 | kPairP1z, // longitudinal momentum of 1st daughter of a pair | |
36 | kPairP2z, // longitudinal momentum of 2nd daughter of a pair | |
37 | kPairInvMass, // pair invariant mass (with reconstructed momenta) | |
38 | kPairInvMassMC, // pair invariant mass (with MC momenta) | |
39 | kPairInvMassRes, // pair invariant mass resolution | |
40 | kPairPt, // pair transverse momentum | |
41 | kPairPz, // pair longitudinal momentum | |
42 | kPairEta, // pair pseudo-rapidity | |
43 | kPairMt, // pair transverse mass (need a reference mass) | |
44 | kPairY, // pair rapidity (need a reference mass) | |
45 | kPairPhi, // pair azimuthal angle (with reconstructed momenta) | |
46 | kPairPhiMC, // pair azimuthal angle (with MC momenta) | |
47 | kPairPtRatio, // ratio |pt1 - pt2|/(pt1 + pt2) of daughter transverse momenta | |
48 | kPairDipAngle, // inverse cosine of the angle between daughter vector momenta | |
49 | kPairCosThetaStar, // polarization angle | |
50 | kPairQInv, // invariant relative momentum of the two daughters | |
51 | kPairAngleToLeading, // angle between pair momentum and leading particle | |
52 | kPairValues, // --- limit for pair values ------------------------------------------ | |
53 | ||
54 | kEventLeadingPt, // transverse momentum of the event leading particle | |
55 | kEventMult, // multiplicity computed as the number of tracks | |
56 | kEventMultMC, // multiplicity from MC | |
57 | kEventMultESDCuts, // multiplicity of good quality tracks | |
58 | kEventMultSPD, // multiplicity from SPD | |
59 | kEventVz, // Z position of event primary vertex | |
60 | kEventCentralityV0, // event centrality (V0 method) | |
61 | kEventCentralityTrack, // event centrality (tracks method) | |
62 | kEventCentralityCL1, // event centrality (CL1 method) | |
63 | kValueTypes // --- limit for event values (and global) ---------------------------- | |
64 | }; | |
65 | ||
66 | AliRsnValueStd(); | |
67 | AliRsnValueStd(const char *name, EValueType type, Int_t nbins = 0, Double_t min = 0.0, Double_t max = 0.0); | |
68 | AliRsnValueStd(const char *name, EValueType type, Double_t min, Double_t max, Double_t step); | |
69 | AliRsnValueStd(const char *name, EValueType type, Int_t nbins, Double_t *array); | |
70 | AliRsnValueStd(const AliRsnValueStd& copy); | |
71 | AliRsnValueStd& operator=(const AliRsnValueStd& copy); | |
72 | virtual ~AliRsnValueStd() { /*does nothing, since pointers are not owned by this object*/ } | |
73 | ||
74 | EValueType GetValueType() const {return fValueType;} | |
75 | const char* GetValueTypeName() const; | |
76 | TObject* GetSupportObject() {return fSupportObject;} | |
77 | void SetSupportObject(TObject *obj) {fSupportObject = obj;} | |
78 | void SetValueType(EValueType type) {fValueType = type; fTargetType = TargetType(type);} | |
79 | ||
80 | virtual Bool_t Eval(TObject *object, Bool_t useMC = kFALSE); | |
81 | virtual void Print(Option_t *option = "") const; | |
82 | static RSNTARGET TargetType(EValueType type); | |
83 | ||
84 | protected: | |
85 | ||
86 | EValueType fValueType; // value type | |
87 | TObject *fSupportObject; // support object needed for computing some of the values | |
88 | ||
89 | ClassDef(AliRsnValueStd, 1) // AliRsnValueStd class | |
90 | }; | |
91 | ||
92 | #endif |