1 #ifndef ALIANALYSISMUMUCUTCOMBINATION_H
2 #define ALIANALYSISMUMUCUTCOMBINATION_H
6 * \class AliAnalysisMuMuCutCombination
8 * \brief Defines a cut by combining several cut elements
10 * \author L. Aphecetche (Subatech)
16 class AliAnalysisMuMuCutElement;
18 class AliInputEventHandler;
21 class AliAnalysisMuMuCutCombination : public TObject
24 AliAnalysisMuMuCutCombination();
25 virtual ~AliAnalysisMuMuCutCombination();
27 void Add(AliAnalysisMuMuCutElement* ce);
29 Bool_t Pass(const AliInputEventHandler& eventHandler) const;
31 Bool_t Pass(const AliVParticle& particle) const;
33 Bool_t Pass(const AliVParticle& p1, const AliVParticle& p2) const;
35 Bool_t Pass(const TString& firedTriggerClasses, TString& acceptedTriggerClasses,
36 UInt_t L0, UInt_t L1, UInt_t L2) const;
38 const char* GetName() const { return fName.Data(); }
40 Bool_t IsEventCutter() const { return fIsEventCutter; }
41 Bool_t IsEventHandlerCutter() const { return fIsEventHandlerCutter; }
42 Bool_t IsTrackCutter() const { return fIsTrackCutter; }
43 Bool_t IsTrackPairCutter() const { return fIsTrackPairCutter; }
44 Bool_t IsTriggerClassCutter() const { return fIsTriggerClassCutter; }
46 void Print(Option_t* opt="") const;
48 Bool_t IsEqual(const TObject* obj) const;
51 /// not implemented on purpose
52 AliAnalysisMuMuCutCombination(const AliAnalysisMuMuCutCombination& rhs);
53 /// not implemented on purpose
54 AliAnalysisMuMuCutCombination& operator=(const AliAnalysisMuMuCutCombination& rhs);
57 TObjArray* fCuts; // array of cut elements that form this cut combination
58 TString fName; // name of the combination
59 Bool_t fIsEventCutter; // whether or not the combination cuts on event
60 Bool_t fIsEventHandlerCutter; // whether or not the combination cuts on event handler
61 Bool_t fIsTrackCutter; // whether or not the combination cuts on track
62 Bool_t fIsTrackPairCutter; // whether or not the combination cuts on track pairs
63 Bool_t fIsTriggerClassCutter; // whether or not the combination cuts on trigger class
65 ClassDef(AliAnalysisMuMuCutCombination,1) // combination of 1 or more individual cuts