]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/Correlations/DPhi/DiHadronPID/AliAODEventCutsDiHadronPID.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGCF / Correlations / DPhi / DiHadronPID / AliAODEventCutsDiHadronPID.h
CommitLineData
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
12class AliAODEventCutsDiHadronPID : public TNamed
13
14{
15
16public:
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 22private:
23 AliAODEventCutsDiHadronPID(const AliAODEventCutsDiHadronPID&);
24 AliAODEventCutsDiHadronPID& operator=(const AliAODEventCutsDiHadronPID&);
6788af99 25
26public:
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
96private:
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