]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ANALYSIS/EventMixing/AliMixEventCutObj.h
updates from Salvatore
[u/mrichter/AliRoot.git] / ANALYSIS / EventMixing / AliMixEventCutObj.h
CommitLineData
c5e33610 1//
2// Class AliMixEventCutObj
3//
4// AliMixEventCutObj object contains information about one cut on for event mixing
5// used by AliMixEventPool class
6//
b425275c 7// authors:
c5e33610 8// Martin Vala (martin.vala@cern.ch)
9//
10
11#ifndef ALIMIXEVENTCUTOBJ_H
12#define ALIMIXEVENTCUTOBJ_H
13
14#include <TObject.h>
298831c0 15#include <TString.h>
16
c5e33610 17class AliVEvent;
18class AliAODEvent;
19class AliESDEvent;
b425275c 20class AliMixEventCutObj : public TObject {
c5e33610 21public:
f6817f48 22 enum EEPAxis_t {kMultiplicity = 0, kZVertex = 1, kNumberV0s = 2, kNumberTracklets = 3, kCentrality = 4, kEventPlane = 5,
23 kEventPlaneV0A=6 , kEventPlaneV0C=7 , kAllEventAxis = 8};
b425275c 24
35e08f92 25 AliMixEventCutObj(AliMixEventCutObj::EEPAxis_t type = kMultiplicity, Float_t min = 0.0, Float_t max = 0.0, Float_t step = 1.0, const char *opt = "");
b425275c 26 AliMixEventCutObj(const AliMixEventCutObj &obj);
27 AliMixEventCutObj &operator=(const AliMixEventCutObj &obj);
28
29 virtual void Print(const Option_t *) const;
30 void PrintCurrentInterval();
35e08f92 31 void PrintValues(AliVEvent *main, AliVEvent *mix);
b425275c 32 void Reset();
33 void AddStep();
34
35 Bool_t HasMore() const;
c5e33610 36
b425275c 37 Int_t GetNumberOfBins() const;
38 Float_t GetMin() const { return fCurrentVal; }
39 Float_t GetMax() const { return fCurrentVal + fCutStep - fCutSmallVal; }
40 Float_t GetStep() const { return fCutStep; }
41 Short_t GetType() const { return fCutType; }
42 Int_t GetBinNumber(Float_t num) const;
43 Int_t GetIndex(AliVEvent *ev);
24dc85b1 44 Double_t GetValue(AliVEvent *ev);
45 Double_t GetValue(AliESDEvent *ev);
46 Double_t GetValue(AliAODEvent *ev);
47
b425275c 48 const char *GetCutName(Int_t index = -1) const;
49
50 void SetCurrentValueToIndex(Int_t index);
51
f6817f48 52 Bool_t IsValid();
53
b425275c 54private:
55 Int_t fCutType; // cut type
298831c0 56 TString fCutOpt; // cut option string
b425275c 57 Float_t fCutMin; // cut min
58 Float_t fCutMax; // cut max
59 Float_t fCutStep; // cut step
60 Float_t fCutSmallVal; // small value
c5e33610 61
b425275c 62 Float_t fCurrentVal; // current value
c5e33610 63
f6817f48 64 ClassDef(AliMixEventCutObj, 3)
c5e33610 65};
66
67#endif