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