]>
Commit | Line | Data |
---|---|---|
03d23846 | 1 | #ifndef ALIRSNMINIVALUE_H |
2 | #define ALIRSNMINIVALUE_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
61f275d1 | 6 | |
03d23846 | 7 | //////////////////////////////////////////////////////////////////////////////// |
8 | // | |
9 | // Values which depend on 4-momentum of the pair. | |
10 | // | |
11 | //////////////////////////////////////////////////////////////////////////////// | |
12 | ||
13 | class AliRsnMiniPair; | |
14 | class AliRsnMiniEvent; | |
15 | ||
16 | class AliRsnMiniValue : public TNamed { | |
17 | public: | |
18 | ||
19 | enum EType { | |
20 | kVz, // event Z position of primary vertex | |
21 | kMult, // event multiplicity or centrality (depends on task settings) | |
22 | kPlaneAngle, // event reaction plane angle | |
23 | kLeadingPt, // event leading particle momentum | |
24 | kEventCuts, // -- limit of event cuts ---------------------------------------------------- | |
25 | kPt, // pair transverse momentum | |
26 | kPz, // pair longitudinal momentum | |
27 | kInvMass, // pair invariant mass (with reconstructed momenta) | |
28 | kInvMassRes, // pair invariant mass resolution | |
2d21288f | 29 | kInvMassDiff, // pair invariant mass difference (MC - reconstructed) |
03d23846 | 30 | kEta, // pair pseudo-rapidity |
31 | kMt, // pair transverse mass (need a reference mass) | |
32 | kY, // pair rapidity (need a reference mass) | |
33 | kPtRatio, // ratio |pt1 - pt2|/(pt1 + pt2) of daughter transverse momenta | |
34 | kDipAngle, // inverse cosine of the angle between daughter vector momenta | |
35 | kCosThetaStar, // polarization angle | |
36 | kAngleLeading, // angle to leading particle | |
397c0062 | 37 | kFirstDaughterPt, //pt of the first daughter of the pair |
38 | kSecondDaughterPt, //pt of the second daughter of the pair | |
39 | kFirstDaughterP, //p of the first daughter of the pair | |
40 | kSecondDaughterP, //p of the second daughter of the pair | |
03d23846 | 41 | kTypes // -- general limit ---------------------------------------------------------- |
42 | }; | |
43 | ||
44 | AliRsnMiniValue(EType type = kTypes, Bool_t useMC = kFALSE); | |
61f275d1 | 45 | AliRsnMiniValue(const AliRsnMiniValue ©); |
46 | AliRsnMiniValue &operator=(const AliRsnMiniValue ©); | |
03d23846 | 47 | virtual ~AliRsnMiniValue() { } |
48 | ||
49 | void SetType(EType type) {fType = type;} | |
50 | EType GetType() const {return fType;} | |
61f275d1 | 51 | const char *GetTypeName() const {return TypeName(fType);} |
03d23846 | 52 | Bool_t IsEventValue() const {return (fType < kEventCuts);} |
61f275d1 | 53 | |
03d23846 | 54 | Float_t Eval(AliRsnMiniPair *pair, AliRsnMiniEvent *event = 0x0); |
61f275d1 | 55 | |
56 | static const char *TypeName(EType type); | |
57 | static const char *ValueName(EType type, Bool_t useMC); | |
03d23846 | 58 | |
59 | protected: | |
60 | ||
61 | EType fType; // type from enumeration | |
62 | Bool_t fUseMCInfo; // switch to use rec/sim momentum | |
61f275d1 | 63 | |
03d23846 | 64 | ClassDef(AliRsnMiniValue, 1) // AliRsnMiniValue class |
65 | }; | |
66 | ||
61f275d1 | 67 | inline const char *AliRsnMiniValue::ValueName(EType type, Bool_t useMC) |
03d23846 | 68 | { |
69 | // | |
70 | // Define a criterion to name these object. | |
71 | // They are not managed by the user, since each object is a singleton | |
72 | // | |
73 | ||
61f275d1 | 74 | if (useMC) |
03d23846 | 75 | return Form("MC_%s", TypeName(type)); |
76 | else | |
77 | return TypeName(type); | |
78 | } | |
79 | ||
80 | #endif |