1 #ifndef ALIAODEVENTCUTSDIHADRONPID_H
2 #define ALIAODEVENTCUTSDIHADRONPID_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
7 #include "AliAODEvent.h"
12 class AliAODEventCutsDiHadronPID : public TNamed
17 AliAODEventCutsDiHadronPID(); // Default Constructor
18 AliAODEventCutsDiHadronPID(const char* name); // Named Constructor
19 virtual ~AliAODEventCutsDiHadronPID(); // Destructor
20 virtual Long64_t Merge(TCollection* list); // Merger
23 AliAODEventCutsDiHadronPID(const AliAODEventCutsDiHadronPID&);
24 AliAODEventCutsDiHadronPID& operator=(const AliAODEventCutsDiHadronPID&);
27 void CreateHistos(); // Create QA histograms
28 Bool_t IsSelected(AliAODEvent* event);
32 void SetIsPbPb(Bool_t ispbpb = kTRUE) {fIsPbPb = ispbpb;}
33 void SetIsMC(Bool_t ismc = kTRUE) {fIsMC = ismc;}
35 void SetTrigger(UInt_t trigger) {
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;
46 fMinCentrality = maxCentrality;
47 fMaxCentrality = minCentrality;
49 fTestCentrality = kTRUE;
52 void SetCentralityEstimator(const char* centralityestimator) {
53 fCentralityEstimator = centralityestimator;
55 void SetMaxVertexZ(Float_t maxVertexZ) {
56 fMaxVertexZ = maxVertexZ;
59 void SetDemandContributorsOrSPDVertex() {
60 fTestContributorsOrSPDVertex = kTRUE;
62 void SetMinReferenceMultiplicity(Int_t minrefmult) {
63 fMinRefMult = minrefmult;
64 fTestMinRefMult = kTRUE;
67 void SetDebugLevel(Int_t debuglevel) {fDebug = debuglevel;}
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;}
78 // Functions returning pointer data members aren't very safe.
79 TList* GetListOfSelectedEventQAHistos() {
80 if (fSelectedEventQAHistos) return fSelectedEventQAHistos;
83 TList* GetListOfAllEventQAHistos() {
84 if (fAllEventQAHistos) return fAllEventQAHistos;
88 TObject* GetHistSelectedEvents(const char* name) {return fSelectedEventQAHistos->FindObject(name);}
89 TObject* GetHistAllEvents(const char* name) {return fAllEventQAHistos->FindObject(name);}
91 // Cannot be made const because GetHistSelectedEvents() isn't safe.
92 Int_t GetNAcceptedEvents() {return (Int_t)((TH1F*)GetHistSelectedEvents("fHistTriggerSelected"))->GetEntries();}
94 Int_t GetDebugLevel() const {return fDebug;}
97 // Expected Event Details.
103 Float_t fMinCentrality;
104 Float_t fMaxCentrality;
105 TString fCentralityEstimator;
109 // Which cuts to be checked.
111 Bool_t fTestCentrality;
112 Bool_t fTestContributorsOrSPDVertex;
114 Bool_t fTestMinRefMult;
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
125 Int_t fDebug; // Debug flag.
127 ClassDef(AliAODEventCutsDiHadronPID,3);