]>
Commit | Line | Data |
---|---|---|
6788af99 | 1 | #ifndef ALIAODEVENTCUTSDIHADRONPID_H |
2 | #define ALIAODEVENTCUTSDIHADRONPID_H | |
3 | ||
4 | #include "TString.h" | |
5 | #include "TH1F.h" | |
6 | #include "TList.h" | |
7 | ||
8 | class AliAODEventCutsDiHadronPID : public TNamed | |
9 | ||
10 | { | |
11 | ||
12 | public: | |
13 | AliAODEventCutsDiHadronPID(); // Default Constructor | |
14 | AliAODEventCutsDiHadronPID(const char* name); // Named Constructor | |
6788af99 | 15 | virtual ~AliAODEventCutsDiHadronPID(); // Destructor |
16 | virtual Long64_t Merge(TCollection* list); // Merger | |
17 | ||
f054df96 | 18 | private: |
19 | AliAODEventCutsDiHadronPID(const AliAODEventCutsDiHadronPID&); | |
20 | AliAODEventCutsDiHadronPID& operator=(const AliAODEventCutsDiHadronPID&); | |
6788af99 | 21 | |
22 | public: | |
f054df96 | 23 | void CreateHistos(); // Create QA histograms |
6788af99 | 24 | Bool_t IsSelected(AliAODEvent* event); |
25 | void PrintCuts(); | |
26 | ||
27 | // Setters | |
28 | void SetIsPbPb(Bool_t ispbpb = kTRUE) {fIsPbPb = ispbpb;} | |
29 | void SetIsMC(Bool_t ismc = kTRUE) {fIsMC = ismc;} | |
30 | ||
31 | void SetTrigger(UInt_t trigger) { | |
32 | fTrigger = trigger; | |
33 | fTestTrigger = kTRUE; | |
34 | } | |
35 | ||
36 | // Note that minCentrality is expected to be the biggest number. | |
37 | void SetCentrality(Float_t maxCentrality, Float_t minCentrality) { | |
38 | if (minCentrality > maxCentrality) { | |
39 | fMinCentrality = minCentrality; | |
40 | fMaxCentrality = maxCentrality; | |
41 | } else { | |
42 | fMinCentrality = maxCentrality; | |
43 | fMaxCentrality = minCentrality; | |
44 | } | |
45 | fTestCentrality = kTRUE; | |
46 | } | |
47 | ||
48 | void SetCentralityEstimator(const char* centralityestimator) { | |
49 | fCentralityEstimator = centralityestimator; | |
50 | } | |
51 | void SetMaxVertexZ(Float_t maxVertexZ) { | |
52 | fMaxVertexZ = maxVertexZ; | |
53 | fTestVertexZ = kTRUE; | |
54 | } | |
55 | void SetMinReferenceMultiplicity(Int_t minrefmult) { | |
56 | fMinRefMult = minrefmult; | |
57 | fTestMinRefMult = kTRUE; | |
58 | } | |
59 | ||
60 | void SetDebugLevel(Int_t debuglevel) {fDebug = debuglevel;} | |
61 | ||
62 | // Getters | |
63 | Bool_t GetIsPbPb() const {return fIsPbPb;} | |
64 | Bool_t GetIsMC() const {return fIsMC;} | |
65 | UInt_t GetTrigger() const {return fTrigger;} | |
66 | Float_t GetMinCentrality() const {return fMinCentrality;} | |
67 | Float_t GetMaxCentrality() const {return fMaxCentrality;} | |
68 | TString GetCentralityEstimator() const {return fCentralityEstimator;} | |
69 | Float_t GetMaxVertexZ() const {return fMaxVertexZ;} | |
70 | ||
71 | // Functions returning pointer data members aren't very safe. | |
72 | TList* GetListOfSelectedEventQAHistos() { | |
73 | if (fSelectedEventQAHistos) return fSelectedEventQAHistos; | |
74 | else return 0x0; | |
75 | } | |
76 | TList* GetListOfAllEventQAHistos() { | |
77 | if (fAllEventQAHistos) return fAllEventQAHistos; | |
78 | else return 0x0; | |
79 | } | |
80 | ||
81 | TObject* GetHistSelectedEvents(const char* name) {return fSelectedEventQAHistos->FindObject(name);} | |
82 | TObject* GetHistAllEvents(const char* name) {return fAllEventQAHistos->FindObject(name);} | |
83 | ||
84 | // Cannot be made const because GetHistSelectedEvents() isn't safe. | |
f054df96 | 85 | Int_t GetNAcceptedEvents() {return (Int_t)((TH1F*)GetHistSelectedEvents("fHistTriggerSelected"))->GetEntries();} |
6788af99 | 86 | |
87 | Int_t GetDebugLevel() const {return fDebug;} | |
88 | ||
89 | private: | |
90 | // Expected Event Details. | |
91 | Bool_t fIsPbPb; | |
92 | Bool_t fIsMC; | |
93 | ||
94 | // Event Cuts. | |
95 | UInt_t fTrigger; | |
96 | Float_t fMinCentrality; | |
97 | Float_t fMaxCentrality; | |
98 | TString fCentralityEstimator; | |
99 | Float_t fMaxVertexZ; | |
100 | Int_t fMinRefMult; | |
101 | ||
102 | // Which cuts to be checked. | |
103 | Bool_t fTestTrigger; | |
104 | Bool_t fTestCentrality; | |
105 | Bool_t fTestVertexZ; | |
106 | Bool_t fTestMinRefMult; | |
107 | ||
108 | // QA histograms (don't stream) | |
109 | TList* fSelectedEventQAHistos; | |
110 | TList* fAllEventQAHistos; | |
111 | TH1F** fHistTrigger; //! Trigger | |
112 | TH1F** fHistRefMultiplicity; //! Number of tracks | |
113 | TH1F** fHistCentrality; //! Centrality | |
114 | TH1F** fHistCentralityQuality; //! Centrality Quality | |
115 | TH1F** fHistVertexZ; //! VertexZ | |
116 | ||
117 | Int_t fDebug; // Debug flag. | |
118 | ||
119 | ClassDef(AliAODEventCutsDiHadronPID,2); | |
120 | ||
121 | }; | |
122 | ||
123 | #endif |