#ifndef ALIANALYSISNETPARTICLEHELPER_H
#define ALIANALYSISNETPARTICLEHELPER_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 AliAnalysisNetParticleHelper : public TNamed {
public:
AliAnalysisNetParticleHelper();
virtual ~AliAnalysisNetParticleHelper();
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 SetPhiRange(Float_t f1, Float_t f2);
void SetParticleSpecies(AliPID::EParticleType pid);
void SetUsePID(Bool_t b);
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) {fNSubSamples = i;}
AliPID::EParticleType GetParticleSpecies() {return fParticleSpecies;}
TString GetParticleName(Int_t idxPart);
TString GetParticleTitle(Int_t idxPart);
TString GetParticleTitleLatex(Int_t idxPart);
TH1F* GetHEventStat0() {return fHEventStat0;}
TH1F* GetHEventStat1() {return fHEventStat1;}
TH1F* GetHTriggerStat() {return fHTriggerStat;}
TH1F* GetHCentralityStat() {return fHCentralityStat;}
Int_t GetCentralityBin() {return fCentralityBin;}
Float_t GetCentralityPercentile() {return fCentralityPercentile;}
Bool_t GetUsePID() {return fUsePID;}
Float_t GetMinPtForTOFRequired() {return fMinPtForTOFRequired;}
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;}
Int_t GetAODtrackCutBit() {return fAODtrackCutBit;}
AliInputEventHandler* GetInputEventHandler() {return fInputEventHandler;}
AliMCEvent* GetMCEvent() {return fMCEvent;}
Int_t GetSubSampleIdx() {return fSubSampleIdx;}
Int_t GetNSubSamples() {return fNSubSamples;}
Int_t Initialize(AliESDtrackCuts *cuts, Bool_t isMC, 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);
Bool_t IsParticleAcceptedPhi(AliVParticle *particle);
Bool_t IsParticleFindable(Int_t label);
Bool_t IsTrackAcceptedBasicCharged(AliVTrack *track);
Bool_t IsTrackAcceptedRapidity(AliVTrack *track, Double_t &yP);
Bool_t IsTrackAcceptedDCA(AliVTrack *track);
Bool_t IsTrackAcceptedPID(AliVTrack *track, Double_t *pid);
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[];
private:
AliAnalysisNetParticleHelper(const AliAnalysisNetParticleHelper&);
AliAnalysisNetParticleHelper& operator=(const AliAnalysisNetParticleHelper&);
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;
AliPID::EParticleType fParticleSpecies;
TString fPartName[2];
TString fPartTitle[2];
TString fPartTitleLatex[2];
Bool_t fUsePID;
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;
Int_t fNCentralityBins;
Int_t fNSubSamples;
Int_t fSubSampleIdx;
TRandom3 *fRandom;
ClassDef(AliAnalysisNetParticleHelper, 1);
};
#endif
AliAnalysisNetParticleHelper.h:1 AliAnalysisNetParticleHelper.h:2 AliAnalysisNetParticleHelper.h:3 AliAnalysisNetParticleHelper.h:4 AliAnalysisNetParticleHelper.h:5 AliAnalysisNetParticleHelper.h:6 AliAnalysisNetParticleHelper.h:7 AliAnalysisNetParticleHelper.h:8 AliAnalysisNetParticleHelper.h:9 AliAnalysisNetParticleHelper.h:10 AliAnalysisNetParticleHelper.h:11 AliAnalysisNetParticleHelper.h:12 AliAnalysisNetParticleHelper.h:13 AliAnalysisNetParticleHelper.h:14 AliAnalysisNetParticleHelper.h:15 AliAnalysisNetParticleHelper.h:16 AliAnalysisNetParticleHelper.h:17 AliAnalysisNetParticleHelper.h:18 AliAnalysisNetParticleHelper.h:19 AliAnalysisNetParticleHelper.h:20 AliAnalysisNetParticleHelper.h:21 AliAnalysisNetParticleHelper.h:22 AliAnalysisNetParticleHelper.h:23 AliAnalysisNetParticleHelper.h:24 AliAnalysisNetParticleHelper.h:25 AliAnalysisNetParticleHelper.h:26 AliAnalysisNetParticleHelper.h:27 AliAnalysisNetParticleHelper.h:28 AliAnalysisNetParticleHelper.h:29 AliAnalysisNetParticleHelper.h:30 AliAnalysisNetParticleHelper.h:31 AliAnalysisNetParticleHelper.h:32 AliAnalysisNetParticleHelper.h:33 AliAnalysisNetParticleHelper.h:34 AliAnalysisNetParticleHelper.h:35 AliAnalysisNetParticleHelper.h:36 AliAnalysisNetParticleHelper.h:37 AliAnalysisNetParticleHelper.h:38 AliAnalysisNetParticleHelper.h:39 AliAnalysisNetParticleHelper.h:40 AliAnalysisNetParticleHelper.h:41 AliAnalysisNetParticleHelper.h:42 AliAnalysisNetParticleHelper.h:43 AliAnalysisNetParticleHelper.h:44 AliAnalysisNetParticleHelper.h:45 AliAnalysisNetParticleHelper.h:46 AliAnalysisNetParticleHelper.h:47 AliAnalysisNetParticleHelper.h:48 AliAnalysisNetParticleHelper.h:49 AliAnalysisNetParticleHelper.h:50 AliAnalysisNetParticleHelper.h:51 AliAnalysisNetParticleHelper.h:52 AliAnalysisNetParticleHelper.h:53 AliAnalysisNetParticleHelper.h:54 AliAnalysisNetParticleHelper.h:55 AliAnalysisNetParticleHelper.h:56 AliAnalysisNetParticleHelper.h:57 AliAnalysisNetParticleHelper.h:58 AliAnalysisNetParticleHelper.h:59 AliAnalysisNetParticleHelper.h:60 AliAnalysisNetParticleHelper.h:61 AliAnalysisNetParticleHelper.h:62 AliAnalysisNetParticleHelper.h:63 AliAnalysisNetParticleHelper.h:64 AliAnalysisNetParticleHelper.h:65 AliAnalysisNetParticleHelper.h:66 AliAnalysisNetParticleHelper.h:67 AliAnalysisNetParticleHelper.h:68 AliAnalysisNetParticleHelper.h:69 AliAnalysisNetParticleHelper.h:70 AliAnalysisNetParticleHelper.h:71 AliAnalysisNetParticleHelper.h:72 AliAnalysisNetParticleHelper.h:73 AliAnalysisNetParticleHelper.h:74 AliAnalysisNetParticleHelper.h:75 AliAnalysisNetParticleHelper.h:76 AliAnalysisNetParticleHelper.h:77 AliAnalysisNetParticleHelper.h:78 AliAnalysisNetParticleHelper.h:79 AliAnalysisNetParticleHelper.h:80 AliAnalysisNetParticleHelper.h:81 AliAnalysisNetParticleHelper.h:82 AliAnalysisNetParticleHelper.h:83 AliAnalysisNetParticleHelper.h:84 AliAnalysisNetParticleHelper.h:85 AliAnalysisNetParticleHelper.h:86 AliAnalysisNetParticleHelper.h:87 AliAnalysisNetParticleHelper.h:88 AliAnalysisNetParticleHelper.h:89 AliAnalysisNetParticleHelper.h:90 AliAnalysisNetParticleHelper.h:91 AliAnalysisNetParticleHelper.h:92 AliAnalysisNetParticleHelper.h:93 AliAnalysisNetParticleHelper.h:94 AliAnalysisNetParticleHelper.h:95 AliAnalysisNetParticleHelper.h:96 AliAnalysisNetParticleHelper.h:97 AliAnalysisNetParticleHelper.h:98 AliAnalysisNetParticleHelper.h:99 AliAnalysisNetParticleHelper.h:100 AliAnalysisNetParticleHelper.h:101 AliAnalysisNetParticleHelper.h:102 AliAnalysisNetParticleHelper.h:103 AliAnalysisNetParticleHelper.h:104 AliAnalysisNetParticleHelper.h:105 AliAnalysisNetParticleHelper.h:106 AliAnalysisNetParticleHelper.h:107 AliAnalysisNetParticleHelper.h:108 AliAnalysisNetParticleHelper.h:109 AliAnalysisNetParticleHelper.h:110 AliAnalysisNetParticleHelper.h:111 AliAnalysisNetParticleHelper.h:112 AliAnalysisNetParticleHelper.h:113 AliAnalysisNetParticleHelper.h:114 AliAnalysisNetParticleHelper.h:115 AliAnalysisNetParticleHelper.h:116 AliAnalysisNetParticleHelper.h:117 AliAnalysisNetParticleHelper.h:118 AliAnalysisNetParticleHelper.h:119 AliAnalysisNetParticleHelper.h:120 AliAnalysisNetParticleHelper.h:121 AliAnalysisNetParticleHelper.h:122 AliAnalysisNetParticleHelper.h:123 AliAnalysisNetParticleHelper.h:124 AliAnalysisNetParticleHelper.h:125 AliAnalysisNetParticleHelper.h:126 AliAnalysisNetParticleHelper.h:127 AliAnalysisNetParticleHelper.h:128 AliAnalysisNetParticleHelper.h:129 AliAnalysisNetParticleHelper.h:130 AliAnalysisNetParticleHelper.h:131 AliAnalysisNetParticleHelper.h:132 AliAnalysisNetParticleHelper.h:133 AliAnalysisNetParticleHelper.h:134 AliAnalysisNetParticleHelper.h:135 AliAnalysisNetParticleHelper.h:136 AliAnalysisNetParticleHelper.h:137 AliAnalysisNetParticleHelper.h:138 AliAnalysisNetParticleHelper.h:139 AliAnalysisNetParticleHelper.h:140 AliAnalysisNetParticleHelper.h:141 AliAnalysisNetParticleHelper.h:142 AliAnalysisNetParticleHelper.h:143 AliAnalysisNetParticleHelper.h:144 AliAnalysisNetParticleHelper.h:145 AliAnalysisNetParticleHelper.h:146 AliAnalysisNetParticleHelper.h:147 AliAnalysisNetParticleHelper.h:148 AliAnalysisNetParticleHelper.h:149 AliAnalysisNetParticleHelper.h:150 AliAnalysisNetParticleHelper.h:151 AliAnalysisNetParticleHelper.h:152 AliAnalysisNetParticleHelper.h:153 AliAnalysisNetParticleHelper.h:154 AliAnalysisNetParticleHelper.h:155 AliAnalysisNetParticleHelper.h:156 AliAnalysisNetParticleHelper.h:157 AliAnalysisNetParticleHelper.h:158 AliAnalysisNetParticleHelper.h:159 AliAnalysisNetParticleHelper.h:160 AliAnalysisNetParticleHelper.h:161 AliAnalysisNetParticleHelper.h:162 AliAnalysisNetParticleHelper.h:163 AliAnalysisNetParticleHelper.h:164 AliAnalysisNetParticleHelper.h:165 AliAnalysisNetParticleHelper.h:166 AliAnalysisNetParticleHelper.h:167 AliAnalysisNetParticleHelper.h:168 AliAnalysisNetParticleHelper.h:169 AliAnalysisNetParticleHelper.h:170 AliAnalysisNetParticleHelper.h:171 AliAnalysisNetParticleHelper.h:172 AliAnalysisNetParticleHelper.h:173 AliAnalysisNetParticleHelper.h:174 AliAnalysisNetParticleHelper.h:175 AliAnalysisNetParticleHelper.h:176 AliAnalysisNetParticleHelper.h:177 AliAnalysisNetParticleHelper.h:178 AliAnalysisNetParticleHelper.h:179 AliAnalysisNetParticleHelper.h:180 AliAnalysisNetParticleHelper.h:181 AliAnalysisNetParticleHelper.h:182 AliAnalysisNetParticleHelper.h:183 AliAnalysisNetParticleHelper.h:184 AliAnalysisNetParticleHelper.h:185 AliAnalysisNetParticleHelper.h:186 AliAnalysisNetParticleHelper.h:187 AliAnalysisNetParticleHelper.h:188 AliAnalysisNetParticleHelper.h:189 AliAnalysisNetParticleHelper.h:190 AliAnalysisNetParticleHelper.h:191 AliAnalysisNetParticleHelper.h:192 AliAnalysisNetParticleHelper.h:193 AliAnalysisNetParticleHelper.h:194 AliAnalysisNetParticleHelper.h:195 AliAnalysisNetParticleHelper.h:196 AliAnalysisNetParticleHelper.h:197 AliAnalysisNetParticleHelper.h:198 AliAnalysisNetParticleHelper.h:199 AliAnalysisNetParticleHelper.h:200 AliAnalysisNetParticleHelper.h:201 AliAnalysisNetParticleHelper.h:202 AliAnalysisNetParticleHelper.h:203 AliAnalysisNetParticleHelper.h:204 AliAnalysisNetParticleHelper.h:205 AliAnalysisNetParticleHelper.h:206 AliAnalysisNetParticleHelper.h:207 AliAnalysisNetParticleHelper.h:208 AliAnalysisNetParticleHelper.h:209 AliAnalysisNetParticleHelper.h:210 AliAnalysisNetParticleHelper.h:211 AliAnalysisNetParticleHelper.h:212 AliAnalysisNetParticleHelper.h:213 AliAnalysisNetParticleHelper.h:214 AliAnalysisNetParticleHelper.h:215 AliAnalysisNetParticleHelper.h:216 AliAnalysisNetParticleHelper.h:217 AliAnalysisNetParticleHelper.h:218 AliAnalysisNetParticleHelper.h:219 AliAnalysisNetParticleHelper.h:220 AliAnalysisNetParticleHelper.h:221 AliAnalysisNetParticleHelper.h:222 AliAnalysisNetParticleHelper.h:223 AliAnalysisNetParticleHelper.h:224 AliAnalysisNetParticleHelper.h:225 AliAnalysisNetParticleHelper.h:226 AliAnalysisNetParticleHelper.h:227 AliAnalysisNetParticleHelper.h:228 AliAnalysisNetParticleHelper.h:229 AliAnalysisNetParticleHelper.h:230 AliAnalysisNetParticleHelper.h:231 AliAnalysisNetParticleHelper.h:232 AliAnalysisNetParticleHelper.h:233 AliAnalysisNetParticleHelper.h:234 AliAnalysisNetParticleHelper.h:235 AliAnalysisNetParticleHelper.h:236 AliAnalysisNetParticleHelper.h:237 AliAnalysisNetParticleHelper.h:238 AliAnalysisNetParticleHelper.h:239 AliAnalysisNetParticleHelper.h:240 AliAnalysisNetParticleHelper.h:241 AliAnalysisNetParticleHelper.h:242 AliAnalysisNetParticleHelper.h:243 AliAnalysisNetParticleHelper.h:244 AliAnalysisNetParticleHelper.h:245 AliAnalysisNetParticleHelper.h:246 AliAnalysisNetParticleHelper.h:247 AliAnalysisNetParticleHelper.h:248 AliAnalysisNetParticleHelper.h:249 AliAnalysisNetParticleHelper.h:250 AliAnalysisNetParticleHelper.h:251 AliAnalysisNetParticleHelper.h:252 AliAnalysisNetParticleHelper.h:253 AliAnalysisNetParticleHelper.h:254 AliAnalysisNetParticleHelper.h:255 AliAnalysisNetParticleHelper.h:256 AliAnalysisNetParticleHelper.h:257 AliAnalysisNetParticleHelper.h:258 AliAnalysisNetParticleHelper.h:259 AliAnalysisNetParticleHelper.h:260 AliAnalysisNetParticleHelper.h:261 AliAnalysisNetParticleHelper.h:262 AliAnalysisNetParticleHelper.h:263 AliAnalysisNetParticleHelper.h:264 AliAnalysisNetParticleHelper.h:265 AliAnalysisNetParticleHelper.h:266 AliAnalysisNetParticleHelper.h:267 AliAnalysisNetParticleHelper.h:268 AliAnalysisNetParticleHelper.h:269 AliAnalysisNetParticleHelper.h:270 AliAnalysisNetParticleHelper.h:271 AliAnalysisNetParticleHelper.h:272 AliAnalysisNetParticleHelper.h:273 AliAnalysisNetParticleHelper.h:274 AliAnalysisNetParticleHelper.h:275 AliAnalysisNetParticleHelper.h:276 AliAnalysisNetParticleHelper.h:277 AliAnalysisNetParticleHelper.h:278 AliAnalysisNetParticleHelper.h:279 AliAnalysisNetParticleHelper.h:280 AliAnalysisNetParticleHelper.h:281 AliAnalysisNetParticleHelper.h:282 AliAnalysisNetParticleHelper.h:283 AliAnalysisNetParticleHelper.h:284 AliAnalysisNetParticleHelper.h:285 AliAnalysisNetParticleHelper.h:286 AliAnalysisNetParticleHelper.h:287 AliAnalysisNetParticleHelper.h:288 AliAnalysisNetParticleHelper.h:289 AliAnalysisNetParticleHelper.h:290 AliAnalysisNetParticleHelper.h:291 AliAnalysisNetParticleHelper.h:292 AliAnalysisNetParticleHelper.h:293 AliAnalysisNetParticleHelper.h:294 AliAnalysisNetParticleHelper.h:295 AliAnalysisNetParticleHelper.h:296 AliAnalysisNetParticleHelper.h:297 AliAnalysisNetParticleHelper.h:298 AliAnalysisNetParticleHelper.h:299 AliAnalysisNetParticleHelper.h:300 AliAnalysisNetParticleHelper.h:301 AliAnalysisNetParticleHelper.h:302 AliAnalysisNetParticleHelper.h:303 AliAnalysisNetParticleHelper.h:304 AliAnalysisNetParticleHelper.h:305 AliAnalysisNetParticleHelper.h:306 AliAnalysisNetParticleHelper.h:307 AliAnalysisNetParticleHelper.h:308 AliAnalysisNetParticleHelper.h:309 AliAnalysisNetParticleHelper.h:310