#ifndef ALIANALYSISTASKMINIJET_H
#define ALIANALYSISTASKMINIJET_H
class TList;
class TH1F;
class TH2F;
class TProfile;
class THnSparse;
class AliESDtrackCuts;
#include "AliAnalysisTaskSE.h"
#include <vector>
class AliAnalysisTaskMinijet : public AliAnalysisTaskSE {
public:
AliAnalysisTaskMinijet(const char *name="<default name>");
virtual ~AliAnalysisTaskMinijet();
virtual void UserCreateOutputObjects();
virtual void UserExec(Option_t* option);
virtual void Terminate(Option_t *);
virtual void SetCuts(AliESDtrackCuts* cuts){fCuts = cuts;}
void SetUseMC(Bool_t useMC=kTRUE, Bool_t mcOnly=kFALSE) {fUseMC = useMC; fMcOnly=mcOnly;}
void SetAnalyseOnlyPrimaries(Bool_t analysePrimOnly) {fAnalysePrimOnly = analysePrimOnly;}
void SetPtRange(Float_t ptMin, Float_t ptMax) {fPtMin = ptMin; fPtMax = ptMax; }
void SetTriggerPtCut(Float_t triggerPtCut) {fTriggerPtCut = triggerPtCut;}
void SetAssociatePtCut(Float_t associatePtCut) {fAssociatePtCut = associatePtCut;}
void SetModeEsdAod(Int_t mode) {fMode = mode;}
void SetTriggerMask(Int_t triggerType) {fTriggerType = triggerType;}
void SetFilterBit(Int_t filterBit) {fFilterBit = filterBit;}
void SetMaxVertexZ(Float_t vertexZCut) {fVertexZCut = vertexZCut;}
void SetMaxEta(Float_t etaCut) {fEtaCut = etaCut;}
void SetMaxEtaSeed(Float_t etaCutSeed) {fEtaCutSeed = etaCutSeed;}
void SetSelectParticles(Int_t selectParticles) {fSelectParticles = selectParticles;}
void SetSelectParticlesAssoc(Int_t selectParticlesAssoc) {fSelectParticlesAssoc = selectParticlesAssoc;}
void SetCheckSDD(Bool_t checkSDD, Int_t selOption) {fCheckSDD = checkSDD; fSelOption = selOption;}
void SetCorrStrangeness(Bool_t corrStrangeness) {fCorrStrangeness = corrStrangeness;}
void SetThreeParticleCorrelation(Bool_t threeParticleCorr) {fThreeParticleCorr = threeParticleCorr;}
void SetRejectCorrupted(Bool_t rejectChunks, Int_t nTPC) {fRejectChunks = rejectChunks; fNTPC = nTPC;}
void SetCentralityMethod(TString centralityMethod) {fCentralityMethod = centralityMethod;}
private:
Double_t ReadEventESD (std::vector<Float_t> &pt, std::vector<Float_t> &eta,
std::vector<Float_t> &phi, std::vector<Short_t> &charge,
std::vector<Float_t> &strangnessWeight,
std::vector<Double_t> &nTracksTracklets, const Int_t step);
Double_t ReadEventESDRecMcProp(std::vector<Float_t> &pt, std::vector<Float_t> &eta,
std::vector<Float_t> &phi, std::vector<Short_t> &charge,
std::vector<Float_t> &strangnessWeight,
std::vector<Double_t> &nTracksTracklets, const Int_t step);
Double_t ReadEventESDMC (std::vector<Float_t> &pt, std::vector<Float_t> &eta,
std::vector<Float_t> &phi, std::vector<Short_t> &charge,
std::vector<Float_t> &strangnessWeight,
std::vector<Double_t> &nTracksTracklets, const Int_t step);
Double_t ReadEventAOD (std::vector<Float_t> &pt, std::vector<Float_t> &eta,
std::vector<Float_t> &phi, std::vector<Short_t> &charge,
std::vector<Float_t> &strangnessWeight,
std::vector<Double_t> &nTracksTracklets, const Int_t step);
Double_t ReadEventAODRecMcProp(std::vector<Float_t> &pt, std::vector<Float_t> &eta,
std::vector<Float_t> &phi, std::vector<Short_t> &charge,
std::vector<Float_t> &strangnessWeight,
std::vector<Double_t> &nTracksTracklets, const Int_t step);
Double_t ReadEventAODMC (std::vector<Float_t> &pt, std::vector<Float_t> &eta,
std::vector<Float_t> &phi, std::vector<Short_t> &charge,
std::vector<Float_t> &strangnessWeight,
std::vector<Double_t> &nTracksTracklets, const Int_t step);
void Analyse (const std::vector<Float_t> &pt,
const std::vector<Float_t> &eta,
const std::vector<Float_t> &phi,
const std::vector<Short_t> &charge,
const std::vector<Float_t> &strangnessWeight,
const Double_t ntacks, const Int_t ntacklets=0,
const Int_t nAll=0, const Int_t step=0);
Bool_t SelectParticlePlusCharged(const Short_t charge, const Int_t pdg, const Bool_t prim);
Bool_t SelectParticle(const Short_t charge, const Int_t pdg, const Bool_t prim);
Bool_t CheckEvent(const Bool_t recVertex);
const Double_t* CreateLogAxis(const Int_t nbins, const Double_t xmin, const Double_t xmax);
Bool_t CheckLikeSign(const Short_t chargeEventAxis, const Short_t chargeOthers);
Bool_t fUseMC;
Bool_t fMcOnly;
Double_t fBSign;
Bool_t fAnalysePrimOnly;
Float_t fPtMin;
Float_t fPtMax;
AliESDtrackCuts* fCuts;
Float_t fTriggerPtCut;
Float_t fAssociatePtCut;
Int_t fMode;
Int_t fTriggerType;
Int_t fFilterBit;
Float_t fVertexZCut;
Float_t fEtaCut;
Float_t fEtaCutSeed;
Int_t fSelectParticles;
Int_t fSelectParticlesAssoc;
Bool_t fCheckSDD;
Int_t fSelOption;
Bool_t fCorrStrangeness;
Bool_t fThreeParticleCorr;
Bool_t fRejectChunks;
Int_t fNTPC;
AliESDEvent *fESDEvent;
AliAODEvent *fAODEvent;
Double_t fNMcPrimAccept;
Double_t fNRecAccept;
Float_t fNRecAcceptStrangeCorr;
Double_t fNMcPrimAcceptTracklet;
Double_t fNRecAcceptTracklet;
Float_t fVzEvent;
Double_t fMeanPtRec;
Double_t fLeadingPtRec;
TList *fHists;
TH1F *fStep;
TH1F *fEventStat;
TH1F *fHistPt;
TH1F *fHistPtMC;
TH2F *fNContrNtracklets;
TH2F *fNContrNtracks;
TH2F *fCorruptedChunks;
TH2F *fCorruptedChunksAfter;
TH2F *fNmcNch;
TProfile *fPNmcNch;
TH2F *fNmcNchVtx;
TH2F *fNmcNchVtxStrangeCorr;
TProfile *fPNmcNchVtx;
TH2F *fNmcNchTracklet;
TProfile *fPNmcNchTracklet;
TH2F *fNmcNchVtxTracklet;
TProfile *fPNmcNchVtxTracklet;
TH2F *fChargedPi0;
TH1F *fVertexCheck;
TH1F *fPropagateDca;
THnSparse *fMapSingleTrig[8];
THnSparse *fMapPair[8];
THnSparse *fMapEvent[8];
THnSparse *fMapAll[8];
THnSparse *fMapThree[8];
TH1F * fVertexZ[8];
TH1F * fNcharge[8];
TH1F * fPt[8];
TH1F * fEta[8];
TH1F * fPhi[8];
TH1F * fDcaXY[8];
TH1F * fDcaZ[8];
TH1F * fPtSeed[8];
TH1F * fEtaSeed[8];
TH1F * fPhiSeed[8];
TH1F * fPtOthers[8];
TH1F * fEtaOthers[8];
TH1F * fPhiOthers[8];
TH2F * fPtEtaOthers[8];
TH2F * fPhiEta[8];
TH2F * fDPhiDEtaEventAxis[8];
TH2F * fDPhiDEtaEventAxisSeeds[8];
TH1F * fTriggerNch[8];
TH2F * fTriggerNchSeeds[8];
TH1F * fTriggerTracklet[8];
TH2F * fNch07Nch[8];
TProfile * fPNch07Nch[8];
TH2F * fNch07Tracklet[8];
TH2F * fNchTracklet[8];
TProfile * fPNch07Tracklet[8];
TH1F * fDPhiEventAxis[8];
TH2F * fDPhi1DPhi2[8];
TString fCentralityMethod;
AliAnalysisTaskMinijet(const AliAnalysisTaskMinijet&);
AliAnalysisTaskMinijet& operator=(const AliAnalysisTaskMinijet&);
ClassDef(AliAnalysisTaskMinijet, 2);
};
#endif
AliAnalysisTaskMinijet.h:1 AliAnalysisTaskMinijet.h:2 AliAnalysisTaskMinijet.h:3 AliAnalysisTaskMinijet.h:4 AliAnalysisTaskMinijet.h:5 AliAnalysisTaskMinijet.h:6 AliAnalysisTaskMinijet.h:7 AliAnalysisTaskMinijet.h:8 AliAnalysisTaskMinijet.h:9 AliAnalysisTaskMinijet.h:10 AliAnalysisTaskMinijet.h:11 AliAnalysisTaskMinijet.h:12 AliAnalysisTaskMinijet.h:13 AliAnalysisTaskMinijet.h:14 AliAnalysisTaskMinijet.h:15 AliAnalysisTaskMinijet.h:16 AliAnalysisTaskMinijet.h:17 AliAnalysisTaskMinijet.h:18 AliAnalysisTaskMinijet.h:19 AliAnalysisTaskMinijet.h:20 AliAnalysisTaskMinijet.h:21 AliAnalysisTaskMinijet.h:22 AliAnalysisTaskMinijet.h:23 AliAnalysisTaskMinijet.h:24 AliAnalysisTaskMinijet.h:25 AliAnalysisTaskMinijet.h:26 AliAnalysisTaskMinijet.h:27 AliAnalysisTaskMinijet.h:28 AliAnalysisTaskMinijet.h:29 AliAnalysisTaskMinijet.h:30 AliAnalysisTaskMinijet.h:31 AliAnalysisTaskMinijet.h:32 AliAnalysisTaskMinijet.h:33 AliAnalysisTaskMinijet.h:34 AliAnalysisTaskMinijet.h:35 AliAnalysisTaskMinijet.h:36 AliAnalysisTaskMinijet.h:37 AliAnalysisTaskMinijet.h:38 AliAnalysisTaskMinijet.h:39 AliAnalysisTaskMinijet.h:40 AliAnalysisTaskMinijet.h:41 AliAnalysisTaskMinijet.h:42 AliAnalysisTaskMinijet.h:43 AliAnalysisTaskMinijet.h:44 AliAnalysisTaskMinijet.h:45 AliAnalysisTaskMinijet.h:46 AliAnalysisTaskMinijet.h:47 AliAnalysisTaskMinijet.h:48 AliAnalysisTaskMinijet.h:49 AliAnalysisTaskMinijet.h:50 AliAnalysisTaskMinijet.h:51 AliAnalysisTaskMinijet.h:52 AliAnalysisTaskMinijet.h:53 AliAnalysisTaskMinijet.h:54 AliAnalysisTaskMinijet.h:55 AliAnalysisTaskMinijet.h:56 AliAnalysisTaskMinijet.h:57 AliAnalysisTaskMinijet.h:58 AliAnalysisTaskMinijet.h:59 AliAnalysisTaskMinijet.h:60 AliAnalysisTaskMinijet.h:61 AliAnalysisTaskMinijet.h:62 AliAnalysisTaskMinijet.h:63 AliAnalysisTaskMinijet.h:64 AliAnalysisTaskMinijet.h:65 AliAnalysisTaskMinijet.h:66 AliAnalysisTaskMinijet.h:67 AliAnalysisTaskMinijet.h:68 AliAnalysisTaskMinijet.h:69 AliAnalysisTaskMinijet.h:70 AliAnalysisTaskMinijet.h:71 AliAnalysisTaskMinijet.h:72 AliAnalysisTaskMinijet.h:73 AliAnalysisTaskMinijet.h:74 AliAnalysisTaskMinijet.h:75 AliAnalysisTaskMinijet.h:76 AliAnalysisTaskMinijet.h:77 AliAnalysisTaskMinijet.h:78 AliAnalysisTaskMinijet.h:79 AliAnalysisTaskMinijet.h:80 AliAnalysisTaskMinijet.h:81 AliAnalysisTaskMinijet.h:82 AliAnalysisTaskMinijet.h:83 AliAnalysisTaskMinijet.h:84 AliAnalysisTaskMinijet.h:85 AliAnalysisTaskMinijet.h:86 AliAnalysisTaskMinijet.h:87 AliAnalysisTaskMinijet.h:88 AliAnalysisTaskMinijet.h:89 AliAnalysisTaskMinijet.h:90 AliAnalysisTaskMinijet.h:91 AliAnalysisTaskMinijet.h:92 AliAnalysisTaskMinijet.h:93 AliAnalysisTaskMinijet.h:94 AliAnalysisTaskMinijet.h:95 AliAnalysisTaskMinijet.h:96 AliAnalysisTaskMinijet.h:97 AliAnalysisTaskMinijet.h:98 AliAnalysisTaskMinijet.h:99 AliAnalysisTaskMinijet.h:100 AliAnalysisTaskMinijet.h:101 AliAnalysisTaskMinijet.h:102 AliAnalysisTaskMinijet.h:103 AliAnalysisTaskMinijet.h:104 AliAnalysisTaskMinijet.h:105 AliAnalysisTaskMinijet.h:106 AliAnalysisTaskMinijet.h:107 AliAnalysisTaskMinijet.h:108 AliAnalysisTaskMinijet.h:109 AliAnalysisTaskMinijet.h:110 AliAnalysisTaskMinijet.h:111 AliAnalysisTaskMinijet.h:112 AliAnalysisTaskMinijet.h:113 AliAnalysisTaskMinijet.h:114 AliAnalysisTaskMinijet.h:115 AliAnalysisTaskMinijet.h:116 AliAnalysisTaskMinijet.h:117 AliAnalysisTaskMinijet.h:118 AliAnalysisTaskMinijet.h:119 AliAnalysisTaskMinijet.h:120 AliAnalysisTaskMinijet.h:121 AliAnalysisTaskMinijet.h:122 AliAnalysisTaskMinijet.h:123 AliAnalysisTaskMinijet.h:124 AliAnalysisTaskMinijet.h:125 AliAnalysisTaskMinijet.h:126 AliAnalysisTaskMinijet.h:127 AliAnalysisTaskMinijet.h:128 AliAnalysisTaskMinijet.h:129 AliAnalysisTaskMinijet.h:130 AliAnalysisTaskMinijet.h:131 AliAnalysisTaskMinijet.h:132 AliAnalysisTaskMinijet.h:133 AliAnalysisTaskMinijet.h:134 AliAnalysisTaskMinijet.h:135 AliAnalysisTaskMinijet.h:136 AliAnalysisTaskMinijet.h:137 AliAnalysisTaskMinijet.h:138 AliAnalysisTaskMinijet.h:139 AliAnalysisTaskMinijet.h:140 AliAnalysisTaskMinijet.h:141 AliAnalysisTaskMinijet.h:142 AliAnalysisTaskMinijet.h:143 AliAnalysisTaskMinijet.h:144 AliAnalysisTaskMinijet.h:145 AliAnalysisTaskMinijet.h:146 AliAnalysisTaskMinijet.h:147 AliAnalysisTaskMinijet.h:148 AliAnalysisTaskMinijet.h:149 AliAnalysisTaskMinijet.h:150 AliAnalysisTaskMinijet.h:151 AliAnalysisTaskMinijet.h:152 AliAnalysisTaskMinijet.h:153 AliAnalysisTaskMinijet.h:154 AliAnalysisTaskMinijet.h:155 AliAnalysisTaskMinijet.h:156 AliAnalysisTaskMinijet.h:157 AliAnalysisTaskMinijet.h:158 AliAnalysisTaskMinijet.h:159 AliAnalysisTaskMinijet.h:160 AliAnalysisTaskMinijet.h:161 AliAnalysisTaskMinijet.h:162 AliAnalysisTaskMinijet.h:163 AliAnalysisTaskMinijet.h:164 AliAnalysisTaskMinijet.h:165 AliAnalysisTaskMinijet.h:166 AliAnalysisTaskMinijet.h:167 AliAnalysisTaskMinijet.h:168 AliAnalysisTaskMinijet.h:169 AliAnalysisTaskMinijet.h:170 AliAnalysisTaskMinijet.h:171 AliAnalysisTaskMinijet.h:172 AliAnalysisTaskMinijet.h:173 AliAnalysisTaskMinijet.h:174 AliAnalysisTaskMinijet.h:175 AliAnalysisTaskMinijet.h:176 AliAnalysisTaskMinijet.h:177 AliAnalysisTaskMinijet.h:178 AliAnalysisTaskMinijet.h:179 AliAnalysisTaskMinijet.h:180 AliAnalysisTaskMinijet.h:181 AliAnalysisTaskMinijet.h:182 AliAnalysisTaskMinijet.h:183 AliAnalysisTaskMinijet.h:184 AliAnalysisTaskMinijet.h:185 AliAnalysisTaskMinijet.h:186 AliAnalysisTaskMinijet.h:187 AliAnalysisTaskMinijet.h:188 AliAnalysisTaskMinijet.h:189 AliAnalysisTaskMinijet.h:190 AliAnalysisTaskMinijet.h:191 AliAnalysisTaskMinijet.h:192 AliAnalysisTaskMinijet.h:193 AliAnalysisTaskMinijet.h:194 AliAnalysisTaskMinijet.h:195 AliAnalysisTaskMinijet.h:196 AliAnalysisTaskMinijet.h:197 AliAnalysisTaskMinijet.h:198 AliAnalysisTaskMinijet.h:199