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