Coverity fix
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnValueStd.h
CommitLineData
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
15class AliRsnValueStd : public AliRsnValue {
16public:
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
84protected:
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