#ifndef ALISPECTRABOTHEVENTCUTS_H
#define ALISPECTRABOTHEVENTCUTS_H
class AliVEvent;
class AliSpectraBothTrackCuts;
#include "TH1I.h"
#include "TNamed.h"
#include "AliSpectraBothTrackCuts.h"
#include "AliAnalysisUtils.h"
#include "AliPPVsMultUtils.h"
class AliSpectraBothEventCuts : public TNamed
{
public:
enum { kProcessedEvents = 0,
kPhysSelEvents,
kAcceptedEvents,
kGoodVtx,
kVtxCentral,
kVtxNoEvent,
kQVector,
kTPCasPV,
kZeroCont,
kNVtxCuts};
enum {kDoNotCheckforSDD=0,kwithSDD,kwithoutSDD};
AliSpectraBothEventCuts() : TNamed(), fAOD(0),fAODEvent(AliSpectraBothTrackCuts::kAODobject),fTrackBits(0), fIsMC(0), fCentEstimator(""), fUseCentPatchAOD049(0),fUseSDDPatchforLHC11a(kDoNotCheckforSDD),fTriggerSettings(AliVEvent::kMB),fTrackCuts(0),
fIsSelected(0), fCentralityCutMin(0), fCentralityCutMax(0), fQVectorCutMin(0), fQVectorCutMax(0), fVertexCutMin(0),
fVertexCutMax(0), fMultiplicityCutMin(0), fMultiplicityCutMax(0), fMaxChi2perNDFforVertex(0),fMinRun(0),fMaxRun(0),fetarangeofmultiplicitycut(0.0),fUseAliPPVsMultUtils(false),
fNMCProcessType(-1),fEventMCProcessType(0),fEventMCProcessTypeIncluded(0),
fHistoCuts(0),fHistoVtxBefSel(0),fHistoVtxAftSel(0),fHistoEtaBefSel(0),fHistoEtaAftSel(0),
fHistoNChAftSel(0),fHistoQVector(0),fHistoEP(0), fHistoVtxAftSelwithoutZvertexCut(0),fHistoVtxalltriggerEventswithMCz(0),fHistoVtxAftSelwithoutZvertexCutusingMCz(0),fHistoRunNumbers(0),fHistoCentrality(0),fHistoMultiplicty(0),fAnalysisUtils(0),fAliPPVsMultUtils(0)
{
}
AliSpectraBothEventCuts(const char *name);
virtual ~AliSpectraBothEventCuts();
void SetIsMC(Bool_t isMC = kFALSE) {fIsMC = isMC; };
Bool_t GetIsMC() const { return fIsMC;};
void SetCentEstimator(TString cent = "V0M") {fCentEstimator = cent; };
TString GetCentFromV0() const { return fCentEstimator;};
void SetUseCentPatchAOD049(Bool_t useCentPatchAOD049 = kFALSE) {fUseCentPatchAOD049 = useCentPatchAOD049; };
Bool_t GetUseCentPatchAOD049() const { return fUseCentPatchAOD049;};
void SetUseSDDPatchforLHC11a(Int_t useSDDPatchforLHC11a) {fUseSDDPatchforLHC11a=useSDDPatchforLHC11a;} ;
Int_t GetUseSDDPatchforLHC11a() {return fUseSDDPatchforLHC11a;};
void SetTriggerSettings(UInt_t triggerSettings = AliVEvent::kMB) {fTriggerSettings = triggerSettings;};
UInt_t GetTriggerSettings() {return fTriggerSettings;};
Bool_t IsSelected(AliVEvent * aod,AliSpectraBothTrackCuts *trackcuts, Bool_t isMC=kFALSE, Double_t mcZ=-100.0, TH1F* managerhisteventcuts=0x0);
Bool_t CheckVtx();
Bool_t CheckCentralityCut();
Bool_t CheckMultiplicityCut();
Bool_t CheckQVectorCut();
Bool_t CheckVtxChi2perNDF();
Bool_t CheckMCProcessType(AliMCEvent* mcevent);
void SetCentralityCutMin(Float_t cut) { fCentralityCutMin = cut; }
void SetCentralityCutMax(Float_t cut) { fCentralityCutMax = cut; }
void SetQVectorCut(Float_t min,Float_t max) { fQVectorCutMin = min; fQVectorCutMax = max; }
void SetVertexCut(Float_t min,Float_t max) { fVertexCutMin = min; fVertexCutMax = max; }
void SetMultiplicityCut(Int_t min,Int_t max) { fMultiplicityCutMin = min; fMultiplicityCutMax = max; }
void SetTrackBits(UInt_t TrackBits) {fTrackBits=TrackBits;}
void SetMaxChi2perNDFforVertex(Float_t cut) { fMaxChi2perNDFforVertex=cut;}
void SetRunNumberRange(Int_t min,Int_t max);
void SetEtaRangeforMultiplictyCut(Float_t eta) {fetarangeofmultiplicitycut=eta;}
void SetAnalysisUtils(AliAnalysisUtils* inAnalysisUtils){fAnalysisUtils=inAnalysisUtils;}
void SetUseAliPPVsMultUtils(Bool_t flag){fUseAliPPVsMultUtils=flag;}
void SetEventMCProcessTypeIncluded(Bool_t flag) {fEventMCProcessTypeIncluded=flag;}
void SetNMCProcessType(Int_t flag);
void AddMCProcessType(Int_t type,Int_t index);
UInt_t GetTrackType() const { return fTrackBits;}
TH1I * GetHistoCuts() { return fHistoCuts; }
TH1F * GetHistoVtxBefSel() { return fHistoVtxBefSel; }
TH1F * GetHistoVtxAftSel() { return fHistoVtxAftSel; }
TH1F * GetHistoVtxAftSelwithoutZvertexCut() { return fHistoVtxAftSelwithoutZvertexCut; }
TH1F * GetHistoVtxGenerated() { return fHistoVtxalltriggerEventswithMCz; }
TH1F * GetHistoVtxAftSelwithoutZvertexCutusingMCz() { return fHistoVtxAftSelwithoutZvertexCutusingMCz; }
TH1F * GetHistoEtaBefSel() { return fHistoEtaBefSel; }
TH1F * GetHistoEtaAftSel() { return fHistoEtaAftSel; }
TH1F * GetHistoNChAftSel() { return fHistoNChAftSel; }
TH1F * GetHistoQVector() { return fHistoQVector; }
TH1F * GetHistoEP() { return fHistoEP; }
TH1F * GetHistoRunNumbers() { return fHistoRunNumbers; }
TH2F * GetHistoCentrality() { return fHistoCentrality;}
TH2F * GetHistoMultiplicty() { return fHistoMultiplicty; }
Float_t GetCentralityMin() const { return fCentralityCutMin; }
Float_t GetCentralityMax() const { return fCentralityCutMax; }
Float_t GetQVectorCutMin() const { return fQVectorCutMin; }
Float_t GetQVectorCutMax() const { return fQVectorCutMax; }
Float_t GetVertexCutMin() const { return fVertexCutMin; }
Float_t GetVertexCutMax() const { return fVertexCutMax; }
Float_t GetMultiplicityCutMin() const { return fMultiplicityCutMin; }
Float_t GetMultiplicityCutMax() const { return fMultiplicityCutMax; }
Float_t GetMaxChi2perNDFforVertex() const {return fMaxChi2perNDFforVertex;}
AliAnalysisUtils* GetAnalysisUtils() const {return fAnalysisUtils; }
Bool_t GetUseAliPPVsMultUtils() const {return fUseAliPPVsMultUtils;}
Int_t GetNMCProcessType() const { return fNMCProcessType;}
Bool_t GetEventMCProcessTypeIncluded(Bool_t flag) const {return flag;}
void InitHisto();
void PrintCuts();
Double_t ApplyCentralityPatchAOD049();
Float_t NumberOfEvents() { return fHistoCuts->GetBinContent(kAcceptedEvents+1); }
Float_t NumberOfProcessedEvents() { return fHistoCuts->GetBinContent(kProcessedEvents+1); }
Float_t NumberOfPhysSelEvents() { return fHistoCuts->GetBinContent(kPhysSelEvents+1); }
Long64_t Merge(TCollection* list);
private:
AliVEvent *fAOD;
Int_t fAODEvent;
UInt_t fTrackBits;
Bool_t fIsMC;
TString fCentEstimator;
Bool_t fUseCentPatchAOD049;
Int_t fUseSDDPatchforLHC11a;
UInt_t fTriggerSettings;
AliSpectraBothTrackCuts *fTrackCuts;
Bool_t fIsSelected;
Float_t fCentralityCutMin;
Float_t fCentralityCutMax;
Float_t fQVectorCutMin;
Float_t fQVectorCutMax;
Float_t fVertexCutMin;
Float_t fVertexCutMax;
Int_t fMultiplicityCutMin;
Int_t fMultiplicityCutMax;
Float_t fMaxChi2perNDFforVertex;
Int_t fMinRun;
Int_t fMaxRun;
Float_t fetarangeofmultiplicitycut;
Bool_t fUseAliPPVsMultUtils;
Int_t fNMCProcessType;
Int_t *fEventMCProcessType;
Bool_t fEventMCProcessTypeIncluded;
TH1I *fHistoCuts;
TH1F *fHistoVtxBefSel;
TH1F *fHistoVtxAftSel;
TH1F *fHistoEtaBefSel;
TH1F *fHistoEtaAftSel;
TH1F *fHistoNChAftSel;
TH1F *fHistoQVector;
TH1F *fHistoEP;
TH1F *fHistoVtxAftSelwithoutZvertexCut;
TH1F *fHistoVtxalltriggerEventswithMCz;
TH1F *fHistoVtxAftSelwithoutZvertexCutusingMCz;
TH1F *fHistoRunNumbers;
TH2F *fHistoCentrality;
TH2F *fHistoMultiplicty;
AliAnalysisUtils *fAnalysisUtils;
AliPPVsMultUtils *fAliPPVsMultUtils;
AliSpectraBothEventCuts(const AliSpectraBothEventCuts&);
AliSpectraBothEventCuts& operator=(const AliSpectraBothEventCuts&);
ClassDef(AliSpectraBothEventCuts, 13);
};
#endif
AliSpectraBothEventCuts.h:1 AliSpectraBothEventCuts.h:2 AliSpectraBothEventCuts.h:3 AliSpectraBothEventCuts.h:4 AliSpectraBothEventCuts.h:5 AliSpectraBothEventCuts.h:6 AliSpectraBothEventCuts.h:7 AliSpectraBothEventCuts.h:8 AliSpectraBothEventCuts.h:9 AliSpectraBothEventCuts.h:10 AliSpectraBothEventCuts.h:11 AliSpectraBothEventCuts.h:12 AliSpectraBothEventCuts.h:13 AliSpectraBothEventCuts.h:14 AliSpectraBothEventCuts.h:15 AliSpectraBothEventCuts.h:16 AliSpectraBothEventCuts.h:17 AliSpectraBothEventCuts.h:18 AliSpectraBothEventCuts.h:19 AliSpectraBothEventCuts.h:20 AliSpectraBothEventCuts.h:21 AliSpectraBothEventCuts.h:22 AliSpectraBothEventCuts.h:23 AliSpectraBothEventCuts.h:24 AliSpectraBothEventCuts.h:25 AliSpectraBothEventCuts.h:26 AliSpectraBothEventCuts.h:27 AliSpectraBothEventCuts.h:28 AliSpectraBothEventCuts.h:29 AliSpectraBothEventCuts.h:30 AliSpectraBothEventCuts.h:31 AliSpectraBothEventCuts.h:32 AliSpectraBothEventCuts.h:33 AliSpectraBothEventCuts.h:34 AliSpectraBothEventCuts.h:35 AliSpectraBothEventCuts.h:36 AliSpectraBothEventCuts.h:37 AliSpectraBothEventCuts.h:38 AliSpectraBothEventCuts.h:39 AliSpectraBothEventCuts.h:40 AliSpectraBothEventCuts.h:41 AliSpectraBothEventCuts.h:42 AliSpectraBothEventCuts.h:43 AliSpectraBothEventCuts.h:44 AliSpectraBothEventCuts.h:45 AliSpectraBothEventCuts.h:46 AliSpectraBothEventCuts.h:47 AliSpectraBothEventCuts.h:48 AliSpectraBothEventCuts.h:49 AliSpectraBothEventCuts.h:50 AliSpectraBothEventCuts.h:51 AliSpectraBothEventCuts.h:52 AliSpectraBothEventCuts.h:53 AliSpectraBothEventCuts.h:54 AliSpectraBothEventCuts.h:55 AliSpectraBothEventCuts.h:56 AliSpectraBothEventCuts.h:57 AliSpectraBothEventCuts.h:58 AliSpectraBothEventCuts.h:59 AliSpectraBothEventCuts.h:60 AliSpectraBothEventCuts.h:61 AliSpectraBothEventCuts.h:62 AliSpectraBothEventCuts.h:63 AliSpectraBothEventCuts.h:64 AliSpectraBothEventCuts.h:65 AliSpectraBothEventCuts.h:66 AliSpectraBothEventCuts.h:67 AliSpectraBothEventCuts.h:68 AliSpectraBothEventCuts.h:69 AliSpectraBothEventCuts.h:70 AliSpectraBothEventCuts.h:71 AliSpectraBothEventCuts.h:72 AliSpectraBothEventCuts.h:73 AliSpectraBothEventCuts.h:74 AliSpectraBothEventCuts.h:75 AliSpectraBothEventCuts.h:76 AliSpectraBothEventCuts.h:77 AliSpectraBothEventCuts.h:78 AliSpectraBothEventCuts.h:79 AliSpectraBothEventCuts.h:80 AliSpectraBothEventCuts.h:81 AliSpectraBothEventCuts.h:82 AliSpectraBothEventCuts.h:83 AliSpectraBothEventCuts.h:84 AliSpectraBothEventCuts.h:85 AliSpectraBothEventCuts.h:86 AliSpectraBothEventCuts.h:87 AliSpectraBothEventCuts.h:88 AliSpectraBothEventCuts.h:89 AliSpectraBothEventCuts.h:90 AliSpectraBothEventCuts.h:91 AliSpectraBothEventCuts.h:92 AliSpectraBothEventCuts.h:93 AliSpectraBothEventCuts.h:94 AliSpectraBothEventCuts.h:95 AliSpectraBothEventCuts.h:96 AliSpectraBothEventCuts.h:97 AliSpectraBothEventCuts.h:98 AliSpectraBothEventCuts.h:99 AliSpectraBothEventCuts.h:100 AliSpectraBothEventCuts.h:101 AliSpectraBothEventCuts.h:102 AliSpectraBothEventCuts.h:103 AliSpectraBothEventCuts.h:104 AliSpectraBothEventCuts.h:105 AliSpectraBothEventCuts.h:106 AliSpectraBothEventCuts.h:107 AliSpectraBothEventCuts.h:108 AliSpectraBothEventCuts.h:109 AliSpectraBothEventCuts.h:110 AliSpectraBothEventCuts.h:111 AliSpectraBothEventCuts.h:112 AliSpectraBothEventCuts.h:113 AliSpectraBothEventCuts.h:114 AliSpectraBothEventCuts.h:115 AliSpectraBothEventCuts.h:116 AliSpectraBothEventCuts.h:117 AliSpectraBothEventCuts.h:118 AliSpectraBothEventCuts.h:119 AliSpectraBothEventCuts.h:120 AliSpectraBothEventCuts.h:121 AliSpectraBothEventCuts.h:122 AliSpectraBothEventCuts.h:123 AliSpectraBothEventCuts.h:124 AliSpectraBothEventCuts.h:125 AliSpectraBothEventCuts.h:126 AliSpectraBothEventCuts.h:127 AliSpectraBothEventCuts.h:128 AliSpectraBothEventCuts.h:129 AliSpectraBothEventCuts.h:130 AliSpectraBothEventCuts.h:131 AliSpectraBothEventCuts.h:132 AliSpectraBothEventCuts.h:133 AliSpectraBothEventCuts.h:134 AliSpectraBothEventCuts.h:135 AliSpectraBothEventCuts.h:136 AliSpectraBothEventCuts.h:137 AliSpectraBothEventCuts.h:138 AliSpectraBothEventCuts.h:139 AliSpectraBothEventCuts.h:140 AliSpectraBothEventCuts.h:141 AliSpectraBothEventCuts.h:142 AliSpectraBothEventCuts.h:143 AliSpectraBothEventCuts.h:144 AliSpectraBothEventCuts.h:145 AliSpectraBothEventCuts.h:146 AliSpectraBothEventCuts.h:147 AliSpectraBothEventCuts.h:148 AliSpectraBothEventCuts.h:149 AliSpectraBothEventCuts.h:150 AliSpectraBothEventCuts.h:151 AliSpectraBothEventCuts.h:152 AliSpectraBothEventCuts.h:153 AliSpectraBothEventCuts.h:154 AliSpectraBothEventCuts.h:155 AliSpectraBothEventCuts.h:156 AliSpectraBothEventCuts.h:157 AliSpectraBothEventCuts.h:158 AliSpectraBothEventCuts.h:159 AliSpectraBothEventCuts.h:160 AliSpectraBothEventCuts.h:161 AliSpectraBothEventCuts.h:162 AliSpectraBothEventCuts.h:163 AliSpectraBothEventCuts.h:164 AliSpectraBothEventCuts.h:165 AliSpectraBothEventCuts.h:166 AliSpectraBothEventCuts.h:167 AliSpectraBothEventCuts.h:168 AliSpectraBothEventCuts.h:169 AliSpectraBothEventCuts.h:170 AliSpectraBothEventCuts.h:171 AliSpectraBothEventCuts.h:172 AliSpectraBothEventCuts.h:173 AliSpectraBothEventCuts.h:174 AliSpectraBothEventCuts.h:175 AliSpectraBothEventCuts.h:176 AliSpectraBothEventCuts.h:177 AliSpectraBothEventCuts.h:178 AliSpectraBothEventCuts.h:179 AliSpectraBothEventCuts.h:180 AliSpectraBothEventCuts.h:181 AliSpectraBothEventCuts.h:182 AliSpectraBothEventCuts.h:183 AliSpectraBothEventCuts.h:184 AliSpectraBothEventCuts.h:185 AliSpectraBothEventCuts.h:186 AliSpectraBothEventCuts.h:187 AliSpectraBothEventCuts.h:188 AliSpectraBothEventCuts.h:189 AliSpectraBothEventCuts.h:190 AliSpectraBothEventCuts.h:191 AliSpectraBothEventCuts.h:192 AliSpectraBothEventCuts.h:193 AliSpectraBothEventCuts.h:194 AliSpectraBothEventCuts.h:195 AliSpectraBothEventCuts.h:196 AliSpectraBothEventCuts.h:197 AliSpectraBothEventCuts.h:198 AliSpectraBothEventCuts.h:199 AliSpectraBothEventCuts.h:200