]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/RESONANCES/AliRsnValueMult.h
Bugfix
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnValueMult.h
CommitLineData
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
17class 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