1 #ifndef ALIRSNMINIVALUE_H
2 #define ALIRSNMINIVALUE_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 ////////////////////////////////////////////////////////////////////////////////
9 // Values which depend on 4-momentum of the pair.
11 ////////////////////////////////////////////////////////////////////////////////
14 class AliRsnMiniEvent;
16 class AliRsnMiniValue : public TNamed {
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
29 kInvMassDiff, // pair invariant mass difference (MC - reconstructed)
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
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
41 kDCAproduct, // product of the daughter's dca to PV (same in AliRsnValuePair)
42 kFirstDaughterDCA, //DCA to PV of the first daughter of the pair
43 kSecondDaughterDCA, //DCA to PV of the second daughter of the pair
44 kNSisters, // number of daughters (only for MC)
45 kTypes // -- general limit ----------------------------------------------------------
48 AliRsnMiniValue(EType type = kTypes, Bool_t useMC = kFALSE);
49 AliRsnMiniValue(const AliRsnMiniValue ©);
50 AliRsnMiniValue &operator=(const AliRsnMiniValue ©);
51 virtual ~AliRsnMiniValue() { }
53 void SetType(EType type) {fType = type;}
54 EType GetType() const {return fType;}
55 const char *GetTypeName() const {return TypeName(fType);}
56 Bool_t IsEventValue() const {return (fType < kEventCuts);}
58 Float_t Eval(AliRsnMiniPair *pair, AliRsnMiniEvent *event = 0x0);
60 static const char *TypeName(EType type);
61 static const char *ValueName(EType type, Bool_t useMC);
65 EType fType; // type from enumeration
66 Bool_t fUseMCInfo; // switch to use rec/sim momentum
68 ClassDef(AliRsnMiniValue, 1) // AliRsnMiniValue class
71 inline const char *AliRsnMiniValue::ValueName(EType type, Bool_t useMC)
74 // Define a criterion to name these object.
75 // They are not managed by the user, since each object is a singleton
79 return Form("MC_%s", TypeName(type));
81 return TypeName(type);