]>
Commit | Line | Data |
---|---|---|
e2bafbbc | 1 | // |
e0baff8c | 2 | // Class AliRsnCutSet |
3 | // | |
4 | // This is the front-end for cut management and checking. | |
5 | // It must be prepared by adding all required single cuts, | |
6 | // and then with a logical expression which combines all cuts | |
7 | // with the "AND", "OR" and "NOT" operators. | |
8 | // | |
9 | // author: M. Vala (martin.vala@cern.ch) | |
e2bafbbc | 10 | // |
11 | ||
06351446 | 12 | #ifndef ALIRSNCUTSET_H |
13 | #define ALIRSNCUTSET_H | |
14 | ||
15 | #include <TNamed.h> | |
16 | #include <TObjArray.h> | |
17 | ||
18 | #include "AliRsnCut.h" | |
06351446 | 19 | |
20 | class AliRsnDaughter; | |
21 | class AliRsnExpression; | |
22 | class AliRsnPairParticle; | |
e2bafbbc | 23 | class AliRsnEvent; |
06351446 | 24 | |
25 | class AliRsnCutSet : public TNamed | |
26 | { | |
aec0ec32 | 27 | public: |
8ecf98c4 | 28 | |
06351446 | 29 | AliRsnCutSet(); |
aec0ec32 | 30 | AliRsnCutSet(TString name); |
31 | AliRsnCutSet(const AliRsnCutSet ©); | |
06351446 | 32 | ~AliRsnCutSet(); |
33 | ||
aec0ec32 | 34 | void AddCut(AliRsnCut* cut); |
06351446 | 35 | |
36 | void ShowCuts(); | |
aec0ec32 | 37 | Int_t GetIndexByCutName(TString s); |
06351446 | 38 | Bool_t Passed(); |
39 | Bool_t IsValidScheme(); | |
40 | TString ShowCutScheme(); | |
aec0ec32 | 41 | Int_t TestExpression(TString opt="short"); |
06351446 | 42 | void PrintSetInfo(); |
43 | ||
aec0ec32 | 44 | Bool_t IsSelected(AliRsnCut::ETarget type, AliRsnDaughter *daughter); |
45 | Bool_t IsSelected(AliRsnCut::ETarget type, AliRsnPairParticle *pair); | |
46 | Bool_t IsSelected(AliRsnCut::ETarget type, AliRsnEvent *event); | |
e0baff8c | 47 | Bool_t IsSelected(AliRsnCut::ETarget type, AliRsnEvent *ev1, AliRsnEvent *ev2); |
06351446 | 48 | |
aec0ec32 | 49 | void SetBoolValue(Bool_t theValue,Int_t index) { fBoolValues[index] = theValue; } |
50 | Bool_t GetBoolValue(Int_t index) const { return fBoolValues[index]; } | |
06351446 | 51 | |
aec0ec32 | 52 | void SetCutScheme(const TString& theValue); |
06351446 | 53 | TString GetCutScheme() const { return fCutScheme; } |
54 | ||
aec0ec32 | 55 | void SetCutSchemeIndexed(TString theValue); |
06351446 | 56 | TString GetCutSchemeIndexed(); |
57 | ||
58 | TObjArray *GetCuts() { return &fCuts; } | |
59 | ||
aec0ec32 | 60 | private: |
8ecf98c4 | 61 | |
62 | AliRsnCutSet& operator=(const AliRsnCutSet& /*copy*/) {return (*this);} | |
63 | ||
06351446 | 64 | TObjArray fCuts; // array of cuts |
65 | Int_t fNumOfCuts; // number of cuts | |
66 | TString fCutScheme; // cut scheme | |
67 | TString fCutSchemeIndexed; // cut scheme indexed | |
68 | ||
e2bafbbc | 69 | Bool_t *fBoolValues; //[fNumOfCuts] |
06351446 | 70 | Bool_t fIsScheme; // is scheme |
aec0ec32 | 71 | |
e2bafbbc | 72 | AliRsnExpression *fExpression; // pointer to AliRsnExpression |
06351446 | 73 | |
e0baff8c | 74 | ClassDef(AliRsnCutSet,1) // ROOT dictionary |
06351446 | 75 | }; |
76 | ||
77 | #endif |