]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/Correlations/DPhi/DiHadronPID/AliAODEventCutsDiHadronPID.h
New train for Kch pair cut analysis
[u/mrichter/AliRoot.git] / PWGCF / Correlations / DPhi / DiHadronPID / AliAODEventCutsDiHadronPID.h
CommitLineData
6788af99 1#ifndef ALIAODEVENTCUTSDIHADRONPID_H
2#define ALIAODEVENTCUTSDIHADRONPID_H
3
4#include "TString.h"
5#include "TH1F.h"
6#include "TList.h"
7
8class AliAODEventCutsDiHadronPID : public TNamed
9
10{
11
12public:
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 18private:
19 AliAODEventCutsDiHadronPID(const AliAODEventCutsDiHadronPID&);
20 AliAODEventCutsDiHadronPID& operator=(const AliAODEventCutsDiHadronPID&);
6788af99 21
22public:
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
89private:
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