]>
Commit | Line | Data |
---|---|---|
5376e016 CP |
1 | #ifndef ALIANALYSISMUMUCUTCOMBINATION_H |
2 | #define ALIANALYSISMUMUCUTCOMBINATION_H | |
3 | ||
4 | /** | |
5 | * | |
6 | * \class AliAnalysisMuMuCutCombination | |
7 | * | |
8 | * \brief Defines a cut by combining several cut elements | |
9 | * | |
10 | * \author L. Aphecetche (Subatech) | |
11 | */ | |
12 | ||
13 | #include "TObject.h" | |
14 | #include "TString.h" | |
15 | ||
16 | class AliAnalysisMuMuCutElement; | |
17 | class AliVEvent; | |
18 | class AliInputEventHandler; | |
19 | class AliVParticle; | |
20 | ||
21 | class AliAnalysisMuMuCutCombination : public TObject | |
22 | { | |
23 | public: | |
24 | AliAnalysisMuMuCutCombination(); | |
25 | virtual ~AliAnalysisMuMuCutCombination(); | |
26 | ||
27 | void Add(AliAnalysisMuMuCutElement* ce); | |
28 | ||
29 | Bool_t Pass(const AliInputEventHandler& eventHandler) const; | |
30 | ||
31 | Bool_t Pass(const AliVParticle& particle) const; | |
32 | ||
33 | Bool_t Pass(const AliVParticle& p1, const AliVParticle& p2) const; | |
34 | ||
35 | Bool_t Pass(const TString& firedTriggerClasses, TString& acceptedTriggerClasses, | |
36 | UInt_t L0, UInt_t L1, UInt_t L2) const; | |
37 | ||
38 | const char* GetName() const { return fName.Data(); } | |
39 | ||
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; } | |
45 | ||
46 | void Print(Option_t* opt="") const; | |
47 | ||
48 | Bool_t IsEqual(const TObject* obj) const; | |
49 | ||
50 | private: | |
51 | /// not implemented on purpose | |
52 | AliAnalysisMuMuCutCombination(const AliAnalysisMuMuCutCombination& rhs); | |
53 | /// not implemented on purpose | |
54 | AliAnalysisMuMuCutCombination& operator=(const AliAnalysisMuMuCutCombination& rhs); | |
55 | ||
56 | private: | |
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 | |
64 | ||
65 | ClassDef(AliAnalysisMuMuCutCombination,1) // combination of 1 or more individual cuts | |
66 | }; | |
67 | ||
68 | #endif |