#ifndef ALIEBYEPIDRATIOHELPER_H
#define ALIEBYEPIDRATIOHELPER_H
#include "THnBase.h"
#include "THn.h"
#include "TH1F.h"
#include "TF1.h"
#include "TProfile2D.h"
#include "TRandom3.h"
class AliESDtrack;
class AliMCEvent;
class AliStack;
class AliPIDResponse;
class AliESDtrackCuts;
class AliInputEventHandler;
class AliESDInputHandler;
class AliAODInputHandler;
class AliAODEvent;
class AliAODTrack;
class AliAODMCParticle;
class AliMCParticle;
class AliEbyEPidRatioHelper : public TNamed {
public:
AliEbyEPidRatioHelper();
virtual ~AliEbyEPidRatioHelper();
void SetCentralityBinMax(Int_t d) {fCentralityBinMax = d;}
void SetVertexZMax(Float_t f) {fVertexZMax = f;}
void SetRapidityMax(Float_t f) {fRapidityMax = f;}
void SetMinTrackLengthMC(Float_t f) {fMinTrackLengthMC = f;}
void SetNSigmaMaxCdd(Float_t f) {fNSigmaMaxCdd = f;}
void SetNSigmaMaxCzz(Float_t f) {fNSigmaMaxCzz = f;}
void SetPIDStrategy(Int_t i) {fPIDStrategy = i;}
void SetNSigmaMaxITS(Float_t f) {fNSigmaMaxITS = f;}
void SetNSigmaMaxTPC(Float_t f) {fNSigmaMaxTPC = f;}
void SetNSigmaMaxTPClow(Float_t f) {fNSigmaMaxTPClow = f;}
void SetNSigmaMaxTOF(Float_t f) {fNSigmaMaxTOF = f;}
void SetMinPtForTOFRequired(Float_t f) {fMinPtForTOFRequired = f;}
void SetMaxPtForTPClow(Float_t f) {fMaxPtForTPClow = f;}
void SetNSubSamples(Int_t i) {fSubSamples = i;}
TH1F* GetHEventStat0() {return fHEventStat0; }
TH1F* GetHEventStat1() {return fHEventStat1; }
TH1F* GetHTriggerStat() {return fHTriggerStat; }
TH1F* GetHCentralityStat() {return fHCentralityStat; }
TH1F* GetHCentralityPercentile() {return fHCentralityPer; }
TH1F* GetHCentralityPercentileAll() {return fHCentralityPerAll; }
Int_t GetCentralityBin() {return fCentralityBin; }
Float_t GetMaxPtForTPClow() {return fMaxPtForTPClow; }
Float_t GetRapidityMax() {return fRapidityMax; }
Float_t GetPhiMin() {return fPhiMin; }
Float_t GetPhiMax() {return fPhiMax; }
AliESDtrackCuts* GetESDTrackCuts() {return fESDTrackCuts; }
Bool_t GetIsMC() {return fIsMC; }
Bool_t GetIsRatio() {return fIsRatio; }
Bool_t GetIsPtBin() {return fIsPtBin; }
Bool_t GetDetWise() {return fIsDetectorWise ; }
Bool_t GetUsePID(Int_t i) { if (i == 0) return kFALSE; else return kTRUE;}
AliPID::EParticleType GetParticleSpecies(Int_t i) {
if (i == 0) return AliPID::kUnknown;
else if (i == 1) return AliPID::kPion;
else if (i == 2) return AliPID::kKaon;
else if (i == 3) return AliPID::kProton;
else return AliPID::kUnknown;
}
Int_t GetPdg(Int_t i) {
if (i == 0) return 0;
else if (i == 1) return 211;
else if (i == 2) return 321;
else if (i == 3) return 2212;
else return 0;
}
Int_t GetAODtrackCutBit() {return fAODtrackCutBit; }
AliMCEvent* GetMCEvent() {return fMCEvent; }
AliInputEventHandler* GetInputEventHandler() {return fInputEventHandler;}
void SetPhiRange(Float_t f1, Float_t f2);
Float_t GetCentralityPercentile() {return fCentralityPercentile;}
Float_t GetMinPtForTOFRequired() {return fMinPtForTOFRequired;}
Int_t GetSubSampleIdx() {return fSubSampleIdx;}
Int_t GetNSubSamples() {return fSubSamples;}
Int_t Initialize(AliESDtrackCuts *cuts, Bool_t isMC, Bool_t isRatio, Bool_t isPtBin, Bool_t isDetWise, Int_t trackCutBit, Int_t modeDistCreation);
Int_t SetupEvent(AliESDInputHandler *esdHandler, AliAODInputHandler *aodHandler, AliMCEvent *mcEvent);
Bool_t IsEventTriggered();
Bool_t IsEventRejected();
Bool_t IsParticleAcceptedBasicCharged(AliVParticle *particle, Int_t idxMC);
Bool_t IsParticleAcceptedBasicNeutral(AliVParticle *particle, Int_t idxMC);
Bool_t IsParticleAcceptedRapidity(AliVParticle *particle, Double_t &yP, Int_t gCurPid);
Bool_t IsParticleAcceptedPhi(AliVParticle *particle);
Bool_t IsParticleFindable(Int_t label);
Bool_t IsTrackAcceptedBasicCharged(AliVTrack *track);
Bool_t IsTrackAcceptedRapidity(AliVTrack *track, Double_t &yP, Int_t gCurPid);
Bool_t IsTrackAcceptedDCA(AliVTrack *track);
Bool_t IsTrackAcceptedPID(AliVTrack *track, Double_t *pid, AliPID::EParticleType gCurPid);
Bool_t IsTrackAcceptedPhi(AliVTrack *track);
void BinLogAxis(const THnBase *h, Int_t axisNumber, AliESDtrackCuts* cuts = NULL);
static const Float_t fgkfHistBinWitdthRap;
static const Float_t fgkfHistBinWitdthPt;
static const Float_t fgkfHistRangeCent[];
static const Int_t fgkfHistNBinsCent;
static const Float_t fgkfHistRangeEta[];
static const Int_t fgkfHistNBinsEta;
static const Float_t fgkfHistRangeRap[];
static const Int_t fgkfHistNBinsRap;
static const Float_t fgkfHistRangePhi[];
static const Int_t fgkfHistNBinsPhi;
static const Float_t fgkfHistRangePt[];
static const Int_t fgkfHistNBinsPt;
static const Float_t fgkfHistRangeSign[];
static const Int_t fgkfHistNBinsSign;
static const Char_t* fgkEventNames[];
static const Char_t* fgkCentralityMaxNames[];
static const Char_t* fgkTriggerNames[];
static const Char_t* fgkCentralityNames[];
static const Char_t* fgkPidName[4];
static const Char_t* fgkPidLatex[4][2];
static const Char_t* fgkPidShLatex[4];
static const Char_t* fgkPidTitles[4][2];
static const Char_t *fgkNetHistName[4];
static const Char_t *fgkNetHistLatex[4];
static const Int_t fgkfNetHistBin[4][4];
private:
AliEbyEPidRatioHelper(const AliEbyEPidRatioHelper&);
AliEbyEPidRatioHelper& operator=(const AliEbyEPidRatioHelper&);
void InitializeEventStats();
void InitializeTriggerStats();
void InitializeCentralityStats();
Bool_t FillEventStats(Int_t *aEventCuts);
Int_t fModeDistCreation;
AliInputEventHandler *fInputEventHandler;
AliPIDResponse *fPIDResponse;
AliESDEvent *fESD;
AliESDtrackCuts *fESDTrackCuts;
AliAODEvent *fAOD;
Int_t fAODtrackCutBit;
Bool_t fIsMC;
AliMCEvent *fMCEvent;
AliStack *fStack;
Int_t fCentralityBin;
Float_t fCentralityPercentile;
Int_t fCentralityBinMax;
Float_t fVertexZMax;
Float_t fRapidityMax;
Float_t fPhiMin;
Float_t fPhiMax;
Float_t fMinTrackLengthMC;
Float_t fNSigmaMaxCdd;
Float_t fNSigmaMaxCzz;
Int_t fPIDStrategy;
Float_t fNSigmaMaxITS;
Float_t fNSigmaMaxTPC;
Float_t fNSigmaMaxTPClow;
Float_t fNSigmaMaxTOF;
Float_t fMinPtForTOFRequired;
Float_t fMaxPtForTPClow;
TH1F *fHEventStat0;
TH1F *fHEventStat1;
Int_t fHEventStatMax;
TH1F *fHTriggerStat;
Int_t fNTriggers;
TH1F *fHCentralityStat;
TH1F *fHCentralityPer;
TH1F *fHCentralityPerAll;
Int_t fNCentralityBins;
Int_t fSubSamples;
TRandom3 *fRandom;
Int_t fSubSampleIdx;
Bool_t fIsRatio;
Bool_t fIsPtBin;
Bool_t fIsDetectorWise;
ClassDef(AliEbyEPidRatioHelper, 1);
};
#endif
AliEbyEPidRatioHelper.h:1 AliEbyEPidRatioHelper.h:2 AliEbyEPidRatioHelper.h:3 AliEbyEPidRatioHelper.h:4 AliEbyEPidRatioHelper.h:5 AliEbyEPidRatioHelper.h:6 AliEbyEPidRatioHelper.h:7 AliEbyEPidRatioHelper.h:8 AliEbyEPidRatioHelper.h:9 AliEbyEPidRatioHelper.h:10 AliEbyEPidRatioHelper.h:11 AliEbyEPidRatioHelper.h:12 AliEbyEPidRatioHelper.h:13 AliEbyEPidRatioHelper.h:14 AliEbyEPidRatioHelper.h:15 AliEbyEPidRatioHelper.h:16 AliEbyEPidRatioHelper.h:17 AliEbyEPidRatioHelper.h:18 AliEbyEPidRatioHelper.h:19 AliEbyEPidRatioHelper.h:20 AliEbyEPidRatioHelper.h:21 AliEbyEPidRatioHelper.h:22 AliEbyEPidRatioHelper.h:23 AliEbyEPidRatioHelper.h:24 AliEbyEPidRatioHelper.h:25 AliEbyEPidRatioHelper.h:26 AliEbyEPidRatioHelper.h:27 AliEbyEPidRatioHelper.h:28 AliEbyEPidRatioHelper.h:29 AliEbyEPidRatioHelper.h:30 AliEbyEPidRatioHelper.h:31 AliEbyEPidRatioHelper.h:32 AliEbyEPidRatioHelper.h:33 AliEbyEPidRatioHelper.h:34 AliEbyEPidRatioHelper.h:35 AliEbyEPidRatioHelper.h:36 AliEbyEPidRatioHelper.h:37 AliEbyEPidRatioHelper.h:38 AliEbyEPidRatioHelper.h:39 AliEbyEPidRatioHelper.h:40 AliEbyEPidRatioHelper.h:41 AliEbyEPidRatioHelper.h:42 AliEbyEPidRatioHelper.h:43 AliEbyEPidRatioHelper.h:44 AliEbyEPidRatioHelper.h:45 AliEbyEPidRatioHelper.h:46 AliEbyEPidRatioHelper.h:47 AliEbyEPidRatioHelper.h:48 AliEbyEPidRatioHelper.h:49 AliEbyEPidRatioHelper.h:50 AliEbyEPidRatioHelper.h:51 AliEbyEPidRatioHelper.h:52 AliEbyEPidRatioHelper.h:53 AliEbyEPidRatioHelper.h:54 AliEbyEPidRatioHelper.h:55 AliEbyEPidRatioHelper.h:56 AliEbyEPidRatioHelper.h:57 AliEbyEPidRatioHelper.h:58 AliEbyEPidRatioHelper.h:59 AliEbyEPidRatioHelper.h:60 AliEbyEPidRatioHelper.h:61 AliEbyEPidRatioHelper.h:62 AliEbyEPidRatioHelper.h:63 AliEbyEPidRatioHelper.h:64 AliEbyEPidRatioHelper.h:65 AliEbyEPidRatioHelper.h:66 AliEbyEPidRatioHelper.h:67 AliEbyEPidRatioHelper.h:68 AliEbyEPidRatioHelper.h:69 AliEbyEPidRatioHelper.h:70 AliEbyEPidRatioHelper.h:71 AliEbyEPidRatioHelper.h:72 AliEbyEPidRatioHelper.h:73 AliEbyEPidRatioHelper.h:74 AliEbyEPidRatioHelper.h:75 AliEbyEPidRatioHelper.h:76 AliEbyEPidRatioHelper.h:77 AliEbyEPidRatioHelper.h:78 AliEbyEPidRatioHelper.h:79 AliEbyEPidRatioHelper.h:80 AliEbyEPidRatioHelper.h:81 AliEbyEPidRatioHelper.h:82 AliEbyEPidRatioHelper.h:83 AliEbyEPidRatioHelper.h:84 AliEbyEPidRatioHelper.h:85 AliEbyEPidRatioHelper.h:86 AliEbyEPidRatioHelper.h:87 AliEbyEPidRatioHelper.h:88 AliEbyEPidRatioHelper.h:89 AliEbyEPidRatioHelper.h:90 AliEbyEPidRatioHelper.h:91 AliEbyEPidRatioHelper.h:92 AliEbyEPidRatioHelper.h:93 AliEbyEPidRatioHelper.h:94 AliEbyEPidRatioHelper.h:95 AliEbyEPidRatioHelper.h:96 AliEbyEPidRatioHelper.h:97 AliEbyEPidRatioHelper.h:98 AliEbyEPidRatioHelper.h:99 AliEbyEPidRatioHelper.h:100 AliEbyEPidRatioHelper.h:101 AliEbyEPidRatioHelper.h:102 AliEbyEPidRatioHelper.h:103 AliEbyEPidRatioHelper.h:104 AliEbyEPidRatioHelper.h:105 AliEbyEPidRatioHelper.h:106 AliEbyEPidRatioHelper.h:107 AliEbyEPidRatioHelper.h:108 AliEbyEPidRatioHelper.h:109 AliEbyEPidRatioHelper.h:110 AliEbyEPidRatioHelper.h:111 AliEbyEPidRatioHelper.h:112 AliEbyEPidRatioHelper.h:113 AliEbyEPidRatioHelper.h:114 AliEbyEPidRatioHelper.h:115 AliEbyEPidRatioHelper.h:116 AliEbyEPidRatioHelper.h:117 AliEbyEPidRatioHelper.h:118 AliEbyEPidRatioHelper.h:119 AliEbyEPidRatioHelper.h:120 AliEbyEPidRatioHelper.h:121 AliEbyEPidRatioHelper.h:122 AliEbyEPidRatioHelper.h:123 AliEbyEPidRatioHelper.h:124 AliEbyEPidRatioHelper.h:125 AliEbyEPidRatioHelper.h:126 AliEbyEPidRatioHelper.h:127 AliEbyEPidRatioHelper.h:128 AliEbyEPidRatioHelper.h:129 AliEbyEPidRatioHelper.h:130 AliEbyEPidRatioHelper.h:131 AliEbyEPidRatioHelper.h:132 AliEbyEPidRatioHelper.h:133 AliEbyEPidRatioHelper.h:134 AliEbyEPidRatioHelper.h:135 AliEbyEPidRatioHelper.h:136 AliEbyEPidRatioHelper.h:137 AliEbyEPidRatioHelper.h:138 AliEbyEPidRatioHelper.h:139 AliEbyEPidRatioHelper.h:140 AliEbyEPidRatioHelper.h:141 AliEbyEPidRatioHelper.h:142 AliEbyEPidRatioHelper.h:143 AliEbyEPidRatioHelper.h:144 AliEbyEPidRatioHelper.h:145 AliEbyEPidRatioHelper.h:146 AliEbyEPidRatioHelper.h:147 AliEbyEPidRatioHelper.h:148 AliEbyEPidRatioHelper.h:149 AliEbyEPidRatioHelper.h:150 AliEbyEPidRatioHelper.h:151 AliEbyEPidRatioHelper.h:152 AliEbyEPidRatioHelper.h:153 AliEbyEPidRatioHelper.h:154 AliEbyEPidRatioHelper.h:155 AliEbyEPidRatioHelper.h:156 AliEbyEPidRatioHelper.h:157 AliEbyEPidRatioHelper.h:158 AliEbyEPidRatioHelper.h:159 AliEbyEPidRatioHelper.h:160 AliEbyEPidRatioHelper.h:161 AliEbyEPidRatioHelper.h:162 AliEbyEPidRatioHelper.h:163 AliEbyEPidRatioHelper.h:164 AliEbyEPidRatioHelper.h:165 AliEbyEPidRatioHelper.h:166 AliEbyEPidRatioHelper.h:167 AliEbyEPidRatioHelper.h:168 AliEbyEPidRatioHelper.h:169 AliEbyEPidRatioHelper.h:170 AliEbyEPidRatioHelper.h:171 AliEbyEPidRatioHelper.h:172 AliEbyEPidRatioHelper.h:173 AliEbyEPidRatioHelper.h:174 AliEbyEPidRatioHelper.h:175 AliEbyEPidRatioHelper.h:176 AliEbyEPidRatioHelper.h:177 AliEbyEPidRatioHelper.h:178 AliEbyEPidRatioHelper.h:179 AliEbyEPidRatioHelper.h:180 AliEbyEPidRatioHelper.h:181 AliEbyEPidRatioHelper.h:182 AliEbyEPidRatioHelper.h:183 AliEbyEPidRatioHelper.h:184 AliEbyEPidRatioHelper.h:185 AliEbyEPidRatioHelper.h:186 AliEbyEPidRatioHelper.h:187 AliEbyEPidRatioHelper.h:188 AliEbyEPidRatioHelper.h:189 AliEbyEPidRatioHelper.h:190 AliEbyEPidRatioHelper.h:191 AliEbyEPidRatioHelper.h:192 AliEbyEPidRatioHelper.h:193 AliEbyEPidRatioHelper.h:194 AliEbyEPidRatioHelper.h:195 AliEbyEPidRatioHelper.h:196 AliEbyEPidRatioHelper.h:197 AliEbyEPidRatioHelper.h:198 AliEbyEPidRatioHelper.h:199 AliEbyEPidRatioHelper.h:200 AliEbyEPidRatioHelper.h:201 AliEbyEPidRatioHelper.h:202 AliEbyEPidRatioHelper.h:203 AliEbyEPidRatioHelper.h:204 AliEbyEPidRatioHelper.h:205 AliEbyEPidRatioHelper.h:206 AliEbyEPidRatioHelper.h:207 AliEbyEPidRatioHelper.h:208 AliEbyEPidRatioHelper.h:209 AliEbyEPidRatioHelper.h:210 AliEbyEPidRatioHelper.h:211 AliEbyEPidRatioHelper.h:212 AliEbyEPidRatioHelper.h:213 AliEbyEPidRatioHelper.h:214 AliEbyEPidRatioHelper.h:215 AliEbyEPidRatioHelper.h:216 AliEbyEPidRatioHelper.h:217 AliEbyEPidRatioHelper.h:218 AliEbyEPidRatioHelper.h:219 AliEbyEPidRatioHelper.h:220 AliEbyEPidRatioHelper.h:221 AliEbyEPidRatioHelper.h:222 AliEbyEPidRatioHelper.h:223 AliEbyEPidRatioHelper.h:224 AliEbyEPidRatioHelper.h:225 AliEbyEPidRatioHelper.h:226 AliEbyEPidRatioHelper.h:227 AliEbyEPidRatioHelper.h:228 AliEbyEPidRatioHelper.h:229 AliEbyEPidRatioHelper.h:230 AliEbyEPidRatioHelper.h:231 AliEbyEPidRatioHelper.h:232 AliEbyEPidRatioHelper.h:233 AliEbyEPidRatioHelper.h:234 AliEbyEPidRatioHelper.h:235 AliEbyEPidRatioHelper.h:236 AliEbyEPidRatioHelper.h:237 AliEbyEPidRatioHelper.h:238 AliEbyEPidRatioHelper.h:239 AliEbyEPidRatioHelper.h:240 AliEbyEPidRatioHelper.h:241 AliEbyEPidRatioHelper.h:242 AliEbyEPidRatioHelper.h:243 AliEbyEPidRatioHelper.h:244 AliEbyEPidRatioHelper.h:245 AliEbyEPidRatioHelper.h:246 AliEbyEPidRatioHelper.h:247 AliEbyEPidRatioHelper.h:248