2 // Class AliMixEventCutObj
4 // AliMixEventCutObj object contains information about one cut on for event mixing
5 // used by AliMixEventPool class
8 // Martin Vala (martin.vala@cern.ch)
11 #ifndef ALIMIXEVENTCUTOBJ_H
12 #define ALIMIXEVENTCUTOBJ_H
18 class AliMixEventCutObj : public TObject {
20 enum EEPAxis_t {kMultiplicity = 0, kZVertex = 1, kNumberV0s = 2, kNumberTracklets = 3, kAllEventAxis = 4};
22 AliMixEventCutObj(EEPAxis_t type = kMultiplicity, Float_t min = 0.0, Float_t max = 0.0, Float_t step = 1.0);
23 AliMixEventCutObj(const AliMixEventCutObj &obj);
24 AliMixEventCutObj &operator=(const AliMixEventCutObj &obj);
26 virtual void Print(const Option_t *) const;
27 void PrintCurrentInterval();
31 Bool_t HasMore() const;
33 Int_t GetNumberOfBins() const;
34 Float_t GetMin() const { return fCurrentVal; }
35 Float_t GetMax() const { return fCurrentVal + fCutStep - fCutSmallVal; }
36 Float_t GetStep() const { return fCutStep; }
37 Short_t GetType() const { return fCutType; }
38 Int_t GetBinNumber(Float_t num) const;
39 Int_t GetIndex(AliVEvent *ev);
40 Int_t GetIndex(AliESDEvent *ev);
41 Int_t GetIndex(AliAODEvent *ev);
42 const char *GetCutName(Int_t index = -1) const;
44 void SetCurrentValueToIndex(Int_t index);
47 Int_t fCutType; // cut type
48 Float_t fCutMin; // cut min
49 Float_t fCutMax; // cut max
50 Float_t fCutStep; // cut step
51 Float_t fCutSmallVal; // small value
53 Float_t fCurrentVal; // current value
55 ClassDef(AliMixEventCutObj, 1)