]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/RESONANCES/AliRsnMiniValue.h
update on v2 calculation
[u/mrichter/AliRoot.git] / PWGLF / RESONANCES / AliRsnMiniValue.h
CommitLineData
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
13class AliRsnMiniPair;
14class AliRsnMiniEvent;
15
16class AliRsnMiniValue : public TNamed {
17public:
18
19 enum EType {
20 kVz, // event Z position of primary vertex
21 kMult, // event multiplicity or centrality (depends on task settings)
57b34356 22 kTracklets, // event tracklets
03d23846 23 kPlaneAngle, // event reaction plane angle
24 kLeadingPt, // event leading particle momentum
25 kEventCuts, // -- limit of event cuts ----------------------------------------------------
26 kPt, // pair transverse momentum
27 kPz, // pair longitudinal momentum
28 kInvMass, // pair invariant mass (with reconstructed momenta)
29 kInvMassRes, // pair invariant mass resolution
2d21288f 30 kInvMassDiff, // pair invariant mass difference (MC - reconstructed)
03d23846 31 kEta, // pair pseudo-rapidity
32 kMt, // pair transverse mass (need a reference mass)
33 kY, // pair rapidity (need a reference mass)
34 kPtRatio, // ratio |pt1 - pt2|/(pt1 + pt2) of daughter transverse momenta
35 kDipAngle, // inverse cosine of the angle between daughter vector momenta
36 kCosThetaStar, // polarization angle
37 kAngleLeading, // angle to leading particle
397c0062 38 kFirstDaughterPt, //pt of the first daughter of the pair
39 kSecondDaughterPt, //pt of the second daughter of the pair
40 kFirstDaughterP, //p of the first daughter of the pair
41 kSecondDaughterP, //p of the second daughter of the pair
213adb92 42 kDCAproduct, // product of the daughter's dca to PV (same in AliRsnValuePair)
43 kFirstDaughterDCA, //DCA to PV of the first daughter of the pair
44 kSecondDaughterDCA, //DCA to PV of the second daughter of the pair
088ca370 45 kNSisters, // number of daughters (only for MC)
03d23846 46 kTypes // -- general limit ----------------------------------------------------------
47 };
48
49 AliRsnMiniValue(EType type = kTypes, Bool_t useMC = kFALSE);
61f275d1 50 AliRsnMiniValue(const AliRsnMiniValue &copy);
51 AliRsnMiniValue &operator=(const AliRsnMiniValue &copy);
03d23846 52 virtual ~AliRsnMiniValue() { }
53
54 void SetType(EType type) {fType = type;}
55 EType GetType() const {return fType;}
61f275d1 56 const char *GetTypeName() const {return TypeName(fType);}
03d23846 57 Bool_t IsEventValue() const {return (fType < kEventCuts);}
61f275d1 58
03d23846 59 Float_t Eval(AliRsnMiniPair *pair, AliRsnMiniEvent *event = 0x0);
61f275d1 60
61 static const char *TypeName(EType type);
62 static const char *ValueName(EType type, Bool_t useMC);
03d23846 63
64protected:
65
66 EType fType; // type from enumeration
67 Bool_t fUseMCInfo; // switch to use rec/sim momentum
61f275d1 68
03d23846 69 ClassDef(AliRsnMiniValue, 1) // AliRsnMiniValue class
70};
71
61f275d1 72inline const char *AliRsnMiniValue::ValueName(EType type, Bool_t useMC)
03d23846 73{
74//
75// Define a criterion to name these object.
76// They are not managed by the user, since each object is a singleton
77//
78
61f275d1 79 if (useMC)
03d23846 80 return Form("MC_%s", TypeName(type));
81 else
82 return TypeName(type);
83}
84
85#endif