]>
Commit | Line | Data |
---|---|---|
6198dee3 | 1 | // |
2 | // Class AliRsnValueMult | |
3 | // | |
4 | // Inherits from AliRsnValue, and computer multiplicity of the event | |
5 | // in several ways | |
6 | // | |
7 | // Author: A. Pulvirenti | |
8 | // Email : alberto.pulvirenti@ct.infn.it | |
9 | // | |
10 | ||
11 | #ifndef ALIRSNVALUEMULT | |
12 | #define ALIRSNVALUEMULT | |
13 | ||
14 | #include "AliRsnValue.h" | |
15 | #include "AliESDtrackCuts.h" | |
16 | ||
17 | class AliRsnValueMult : public AliRsnValue | |
18 | { | |
19 | public: | |
20 | ||
21 | enum EMode | |
22 | { | |
23 | kESDcuts, | |
24 | kNTracks, | |
25 | kNTracklets | |
26 | }; | |
27 | ||
28 | AliRsnValueMult(); | |
29 | AliRsnValueMult(const char *name, EValueType type, Int_t n = 0, Double_t min = 0.0, Double_t max = 0.0); | |
30 | AliRsnValueMult(const char *name, EValueType type, Double_t min, Double_t max, Double_t step); | |
31 | AliRsnValueMult(const char *name, EValueType type, Int_t n, Double_t *array); | |
32 | AliRsnValueMult(const AliRsnValueMult& copy) : AliRsnValue(copy),fMode(copy.fMode),fESDcuts(copy.fESDcuts) {} | |
33 | AliRsnValueMult& operator=(const AliRsnValueMult& copy) {AliRsnValue::operator=(copy); fMode=copy.fMode; fESDcuts=copy.fESDcuts;return (*this);} | |
34 | virtual ~AliRsnValueMult() { } | |
35 | ||
36 | AliESDtrackCuts* GetCuts() {return &fESDcuts;} | |
37 | EMode GetMode() {return fMode;} | |
38 | void SetMode(EMode mode) {fMode = mode;} | |
39 | ||
40 | virtual Bool_t Eval(AliRsnMother * const mother, AliRsnPairDef * const pairDef, AliRsnEvent * const event); | |
41 | virtual Bool_t Eval(AliRsnDaughter * const daughter, AliRsnEvent * const event); | |
6198dee3 | 42 | |
43 | protected: | |
44 | ||
45 | EMode fMode; // chosen method to compute multiplicity | |
46 | AliESDtrackCuts fESDcuts; // ESD track cuts necessary for one of the methods | |
47 | ||
48 | private: | |
49 | ||
50 | ClassDef(AliRsnValueMult,1) | |
51 | }; | |
52 | ||
53 | #endif |