#ifndef ALIANALYSISTASKHJETDPHI_H
#define ALIANALYSISTASKHJETDPHI_H
#include <vector>
class TH2F;
class TH1F;
class TF1;
class THnSparse;
class TClonesArray;
class TObject;
class TString;
class AliAODEvent;
class AliESDEvent;
class AliAODExtension;
class AliMCEvent;
class AliRhoParameter;
class TRandom3;
class AliEmcalJet;
class AliVTrack;
class AliNamedArrayI;
class AliAODTrack;
class AliESDtrackCuts;
class AliAODJetEventBackground;
class AliNamedString;
#include "AliAnalysisTaskSE.h"
class AliAnalysisTaskHJetDphi : public AliAnalysisTaskSE {
public:
AliAnalysisTaskHJetDphi();
AliAnalysisTaskHJetDphi(const char *name);
virtual ~AliAnalysisTaskHJetDphi();
void UserCreateOutputObjects();
Bool_t UserNotify();
void UserExec(Option_t *option);
void Terminate(Option_t *);
void PrintConfig();
void SetVerbosity(Int_t i) { fVerbosity = i; }
void SetIsEmbedding(Bool_t b) { fIsEmbedding = b; }
void SetAnaType(Int_t i) { fAnaType = i; }
void SetRunPeriod(char *p) { fPeriod = p; }
void SetCollisionSystem(char *s) { fCollisionSystem = s; }
void SetIsMC(Bool_t mc) { fIsMC = mc; }
void SetAnalyzeMCTruth(Bool_t mc) { fAnalyzeMCTruth = mc; }
void SetOfflineTrgMask(AliVEvent::EOfflineTriggerTypes mask) { fOfflineTrgMask = mask; }
void SetMaxVtxZ(Double_t z) { fMaxVtxZ = z; }
void SetFilterMask(UInt_t filter) { fFilterMask = filter; }
void SetRequireITSRefit(Bool_t r) { fRequireITSRefit = r; }
void SetRequireSharedClsCut(Bool_t r) { fRequireSharedClsCut = r; }
void SetNonStdFile(char* s) { fNonStdFile = s; }
void SetMcParticleArrName(char *s) { fMcParticleArrName = s; }
void SetEmbTrkArrName(char *s) { fEmbTrkArrName = s; }
void SetTrackArrName(char *s) { fTrackArrName=s; }
void SetSwitchOnAvoidTpcHole(Bool_t cut) { fSwitchOnAvoidTpcHole=cut; }
void SetCutTPCBoundary(Bool_t cut) { fCutTPCBoundary=cut; }
void SetDistToTPCBoundary(Double_t dist) { fDistToTPCBoundary=dist; }
void SetTrkPtRange(Double_t min, Double_t max) { fMinTrkPt=min; fMaxTrkPt=max; }
void SetTrkPhiRange(Double_t min, Double_t max) { fMinTrkPhi=min; fMaxTrkPhi=max; }
void SetTrkEtaRange(Double_t min, Double_t max) { fMinTrkEta=min; fMaxTrkEta=max; }
void SetRadius(Double_t rad) { fRadius=rad; }
void SetJetArrName(char *s) { fJetArrName=s; }
void SetPLJetArrName(char *s) { fPLJetArrName = s; }
void SetDLJetArrName(char *s) { fDLJetArrName = s; }
void SetRhoName(char *s) { fRhoName=s; }
void SetRunTrkQA(Bool_t run) { fRunTrkQA=run; }
void SetRunJetQA(Bool_t run) { fRunJetQA=run; }
void SetRunSingleInclHJet(Bool_t run) { fRunSingleInclHJet=run; }
void SetTTtype(Bool_t type) { fTTtype=type; }
void SetTTRange(Double_t min, Double_t max) { fTTMinPt=min; fTTMaxPt=max; }
void SetJetPtMin(Double_t min) { fJetPtMin = min; }
void SetRunPLHJet(Bool_t run) { fRunPLHJet = run; }
void SetRunDLHJet(Bool_t run) { fRunDLHJet = run; }
void SetRunLeadTrkQA(Bool_t run) { fRunLeadTrkQA=run; }
void SetStudyKtEffects(Bool_t study) { fStudyKtEffects=study; }
void SetKtValue(Double_t kt) { fKtValue=kt; }
void SetAODfilterBits(Int_t b0 = 0, Int_t b1 = 0) { fAODfilterBits[0] = b0 ; fAODfilterBits[1] = b1 ; }
void SetRunBkgFlow(Bool_t run) { fRunBkgFlow=run; }
protected:
Bool_t RetrieveArraies();
void RunTrackQA();
void RunJetQA(const TClonesArray *jetArray, const Double_t rho, THnSparse *hJetPt, THnSparse *hJetArea, THnSparse *hJetQA);
Int_t FindSingleIncTrigger(const TClonesArray *trackArray, Double_t &trigPt, Double_t &trigPhi, Double_t &trigEta, const Int_t arrayType);
void RunSingleInclHJetCorr(Double_t trigPt, Double_t trigPhi, Double_t trigEta, const TClonesArray *jetArray, Double_t rho, THnSparse *hTT, THnSparse *hn);
void RunLeadTrkQA();
void StudyKtEffects();
Bool_t AcceptTrack(AliVParticle *track);
Bool_t IsGoodAODtrack(AliVParticle *track);
Bool_t IsGoodJet(Double_t jetEta);
Double_t GetLeadingPt(const Int_t jetIndex);
Double_t GetZ(const Double_t trkPx, const Double_t trkPy, const Double_t trkPz, const Double_t jetPx, const Double_t jetPy, const Double_t jetPz);
Double_t CalculateDPhi(const Double_t phi1, const Double_t phi2);
Double_t CalculatePhi(const Double_t py, const Double_t px);
Int_t LocateToTPCHole(const Double_t phi);
Int_t GetParticleType(Int_t pdg_input);
Double_t GetAODTrackPtRes(AliAODTrack *track);
Int_t GetPtHardBin(Double_t ptHard);
private:
Int_t fVerbosity;
Bool_t fIsEmbedding;
Int_t fAnaType;
TString fPeriod;
TString fCollisionSystem;
Bool_t fIsMC;
Bool_t fAnalyzeMCTruth;
AliMCEvent *fMC;
AliVEvent *fEvent;
AliESDEvent *fESD;
AliAODEvent *fAODIn;
AliAODEvent *fAODOut;
AliAODExtension *fAODExtension;
AliVEvent::EOfflineTriggerTypes fOfflineTrgMask;
Int_t fTriggerType;
Double_t fCentrality;
Double_t fMaxVtxZ;
AliESDtrackCuts *fEsdTrkCut;
AliESDtrackCuts *fEsdHybCut;
UInt_t fFilterMask;
Bool_t fRequireITSRefit;
Bool_t fRequireSharedClsCut;
Bool_t fIsInit;
TString fNonStdFile;
TString fMcParticleArrName;
TClonesArray *fMcParticleArray;
AliNamedArrayI *fMcParticlelMap;
TString fEmbTrkArrName;
TClonesArray *fEmbTrkArray;
TString fTrackArrName;
TClonesArray *fTrackArray;
Int_t fTriggerTrkIndex;
Double_t fTriggerTrkPt;
Bool_t fSwitchOnAvoidTpcHole;
Int_t fAvoidTpcHole;
Bool_t fCutTPCBoundary;
Double_t fDistToTPCBoundary;
Double_t fMinTrkPt;
Double_t fMaxTrkPt;
Double_t fMinTrkEta;
Double_t fMaxTrkEta;
Double_t fMinTrkPhi;
Double_t fMaxTrkPhi;
Double_t fRadius;
TString fJetArrName;
TString fPLJetArrName;
TString fDLJetArrName;
TClonesArray *fJetArray;
TClonesArray *fPLJetArray;
TClonesArray *fDLJetArray;
TString fRhoName;
AliRhoParameter *fRho;
Double_t fRhoValue;
AliAODJetEventBackground *fEvtBkg;
AliNamedString *fPtHardBinName;
Int_t fPtHardBin;
Bool_t fRunTrkQA;
Bool_t fRunJetQA;
Bool_t fRunSingleInclHJet;
Int_t fTTtype;
Double_t fTTMinPt;
Double_t fTTMaxPt;
Double_t fJetPtMin;
Bool_t fRunPLHJet;
Bool_t fRunDLHJet;
Bool_t fRunLeadTrkQA;
Bool_t fStudyKtEffects;
Double_t fKtValue;
TRandom3 *fRandom;
Int_t fAODfilterBits[2];
Bool_t fRunBkgFlow;
TList *fOutputList;
TH1F *fhEventStat;
TH1F *fhNTrials;
TH1F *fhPtHardBins;
TH1F *fhVtxZ[4];
TH1F *fhCentrality[4];
TH2F *fhRhoVsCent[4];
TH2F *fhTrkPt[4];
THnSparse *fhTrkQA[4];
THnSparse *fhTrkPtRes[4];
THnSparse *fhTrkPhiRes[4];
THnSparse *fhJetPt[4][3];
THnSparse *fhJetArea[4][3];
THnSparse *fhJetQA[4][3];
TH1F *fhNumberOfTT[4];
THnSparse *fhTTPt[4][3];
THnSparse *fHJetPhiCorr[4][3];
THnSparse *fHJetPhiCorrUp[4];
THnSparse *fHJetPhiCorrDown[4];
THnSparse *fhLeadTrkQA[4];
THnSparse *fhKtEffects[4];
AliAnalysisTaskHJetDphi(const AliAnalysisTaskHJetDphi&);
AliAnalysisTaskHJetDphi &operator=(const AliAnalysisTaskHJetDphi&);
ClassDef(AliAnalysisTaskHJetDphi, 3);
};
#endif
AliAnalysisTaskHJetDphi.h:1 AliAnalysisTaskHJetDphi.h:2 AliAnalysisTaskHJetDphi.h:3 AliAnalysisTaskHJetDphi.h:4 AliAnalysisTaskHJetDphi.h:5 AliAnalysisTaskHJetDphi.h:6 AliAnalysisTaskHJetDphi.h:7 AliAnalysisTaskHJetDphi.h:8 AliAnalysisTaskHJetDphi.h:9 AliAnalysisTaskHJetDphi.h:10 AliAnalysisTaskHJetDphi.h:11 AliAnalysisTaskHJetDphi.h:12 AliAnalysisTaskHJetDphi.h:13 AliAnalysisTaskHJetDphi.h:14 AliAnalysisTaskHJetDphi.h:15 AliAnalysisTaskHJetDphi.h:16 AliAnalysisTaskHJetDphi.h:17 AliAnalysisTaskHJetDphi.h:18 AliAnalysisTaskHJetDphi.h:19 AliAnalysisTaskHJetDphi.h:20 AliAnalysisTaskHJetDphi.h:21 AliAnalysisTaskHJetDphi.h:22 AliAnalysisTaskHJetDphi.h:23 AliAnalysisTaskHJetDphi.h:24 AliAnalysisTaskHJetDphi.h:25 AliAnalysisTaskHJetDphi.h:26 AliAnalysisTaskHJetDphi.h:27 AliAnalysisTaskHJetDphi.h:28 AliAnalysisTaskHJetDphi.h:29 AliAnalysisTaskHJetDphi.h:30 AliAnalysisTaskHJetDphi.h:31 AliAnalysisTaskHJetDphi.h:32 AliAnalysisTaskHJetDphi.h:33 AliAnalysisTaskHJetDphi.h:34 AliAnalysisTaskHJetDphi.h:35 AliAnalysisTaskHJetDphi.h:36 AliAnalysisTaskHJetDphi.h:37 AliAnalysisTaskHJetDphi.h:38 AliAnalysisTaskHJetDphi.h:39 AliAnalysisTaskHJetDphi.h:40 AliAnalysisTaskHJetDphi.h:41 AliAnalysisTaskHJetDphi.h:42 AliAnalysisTaskHJetDphi.h:43 AliAnalysisTaskHJetDphi.h:44 AliAnalysisTaskHJetDphi.h:45 AliAnalysisTaskHJetDphi.h:46 AliAnalysisTaskHJetDphi.h:47 AliAnalysisTaskHJetDphi.h:48 AliAnalysisTaskHJetDphi.h:49 AliAnalysisTaskHJetDphi.h:50 AliAnalysisTaskHJetDphi.h:51 AliAnalysisTaskHJetDphi.h:52 AliAnalysisTaskHJetDphi.h:53 AliAnalysisTaskHJetDphi.h:54 AliAnalysisTaskHJetDphi.h:55 AliAnalysisTaskHJetDphi.h:56 AliAnalysisTaskHJetDphi.h:57 AliAnalysisTaskHJetDphi.h:58 AliAnalysisTaskHJetDphi.h:59 AliAnalysisTaskHJetDphi.h:60 AliAnalysisTaskHJetDphi.h:61 AliAnalysisTaskHJetDphi.h:62 AliAnalysisTaskHJetDphi.h:63 AliAnalysisTaskHJetDphi.h:64 AliAnalysisTaskHJetDphi.h:65 AliAnalysisTaskHJetDphi.h:66 AliAnalysisTaskHJetDphi.h:67 AliAnalysisTaskHJetDphi.h:68 AliAnalysisTaskHJetDphi.h:69 AliAnalysisTaskHJetDphi.h:70 AliAnalysisTaskHJetDphi.h:71 AliAnalysisTaskHJetDphi.h:72 AliAnalysisTaskHJetDphi.h:73 AliAnalysisTaskHJetDphi.h:74 AliAnalysisTaskHJetDphi.h:75 AliAnalysisTaskHJetDphi.h:76 AliAnalysisTaskHJetDphi.h:77 AliAnalysisTaskHJetDphi.h:78 AliAnalysisTaskHJetDphi.h:79 AliAnalysisTaskHJetDphi.h:80 AliAnalysisTaskHJetDphi.h:81 AliAnalysisTaskHJetDphi.h:82 AliAnalysisTaskHJetDphi.h:83 AliAnalysisTaskHJetDphi.h:84 AliAnalysisTaskHJetDphi.h:85 AliAnalysisTaskHJetDphi.h:86 AliAnalysisTaskHJetDphi.h:87 AliAnalysisTaskHJetDphi.h:88 AliAnalysisTaskHJetDphi.h:89 AliAnalysisTaskHJetDphi.h:90 AliAnalysisTaskHJetDphi.h:91 AliAnalysisTaskHJetDphi.h:92 AliAnalysisTaskHJetDphi.h:93 AliAnalysisTaskHJetDphi.h:94 AliAnalysisTaskHJetDphi.h:95 AliAnalysisTaskHJetDphi.h:96 AliAnalysisTaskHJetDphi.h:97 AliAnalysisTaskHJetDphi.h:98 AliAnalysisTaskHJetDphi.h:99 AliAnalysisTaskHJetDphi.h:100 AliAnalysisTaskHJetDphi.h:101 AliAnalysisTaskHJetDphi.h:102 AliAnalysisTaskHJetDphi.h:103 AliAnalysisTaskHJetDphi.h:104 AliAnalysisTaskHJetDphi.h:105 AliAnalysisTaskHJetDphi.h:106 AliAnalysisTaskHJetDphi.h:107 AliAnalysisTaskHJetDphi.h:108 AliAnalysisTaskHJetDphi.h:109 AliAnalysisTaskHJetDphi.h:110 AliAnalysisTaskHJetDphi.h:111 AliAnalysisTaskHJetDphi.h:112 AliAnalysisTaskHJetDphi.h:113 AliAnalysisTaskHJetDphi.h:114 AliAnalysisTaskHJetDphi.h:115 AliAnalysisTaskHJetDphi.h:116 AliAnalysisTaskHJetDphi.h:117 AliAnalysisTaskHJetDphi.h:118 AliAnalysisTaskHJetDphi.h:119 AliAnalysisTaskHJetDphi.h:120 AliAnalysisTaskHJetDphi.h:121 AliAnalysisTaskHJetDphi.h:122 AliAnalysisTaskHJetDphi.h:123 AliAnalysisTaskHJetDphi.h:124 AliAnalysisTaskHJetDphi.h:125 AliAnalysisTaskHJetDphi.h:126 AliAnalysisTaskHJetDphi.h:127 AliAnalysisTaskHJetDphi.h:128 AliAnalysisTaskHJetDphi.h:129 AliAnalysisTaskHJetDphi.h:130 AliAnalysisTaskHJetDphi.h:131 AliAnalysisTaskHJetDphi.h:132 AliAnalysisTaskHJetDphi.h:133 AliAnalysisTaskHJetDphi.h:134 AliAnalysisTaskHJetDphi.h:135 AliAnalysisTaskHJetDphi.h:136 AliAnalysisTaskHJetDphi.h:137 AliAnalysisTaskHJetDphi.h:138 AliAnalysisTaskHJetDphi.h:139 AliAnalysisTaskHJetDphi.h:140 AliAnalysisTaskHJetDphi.h:141 AliAnalysisTaskHJetDphi.h:142 AliAnalysisTaskHJetDphi.h:143 AliAnalysisTaskHJetDphi.h:144 AliAnalysisTaskHJetDphi.h:145 AliAnalysisTaskHJetDphi.h:146 AliAnalysisTaskHJetDphi.h:147 AliAnalysisTaskHJetDphi.h:148 AliAnalysisTaskHJetDphi.h:149 AliAnalysisTaskHJetDphi.h:150 AliAnalysisTaskHJetDphi.h:151 AliAnalysisTaskHJetDphi.h:152 AliAnalysisTaskHJetDphi.h:153 AliAnalysisTaskHJetDphi.h:154 AliAnalysisTaskHJetDphi.h:155 AliAnalysisTaskHJetDphi.h:156 AliAnalysisTaskHJetDphi.h:157 AliAnalysisTaskHJetDphi.h:158 AliAnalysisTaskHJetDphi.h:159 AliAnalysisTaskHJetDphi.h:160 AliAnalysisTaskHJetDphi.h:161 AliAnalysisTaskHJetDphi.h:162 AliAnalysisTaskHJetDphi.h:163 AliAnalysisTaskHJetDphi.h:164 AliAnalysisTaskHJetDphi.h:165 AliAnalysisTaskHJetDphi.h:166 AliAnalysisTaskHJetDphi.h:167 AliAnalysisTaskHJetDphi.h:168 AliAnalysisTaskHJetDphi.h:169 AliAnalysisTaskHJetDphi.h:170 AliAnalysisTaskHJetDphi.h:171 AliAnalysisTaskHJetDphi.h:172 AliAnalysisTaskHJetDphi.h:173 AliAnalysisTaskHJetDphi.h:174 AliAnalysisTaskHJetDphi.h:175 AliAnalysisTaskHJetDphi.h:176 AliAnalysisTaskHJetDphi.h:177 AliAnalysisTaskHJetDphi.h:178 AliAnalysisTaskHJetDphi.h:179 AliAnalysisTaskHJetDphi.h:180 AliAnalysisTaskHJetDphi.h:181 AliAnalysisTaskHJetDphi.h:182 AliAnalysisTaskHJetDphi.h:183 AliAnalysisTaskHJetDphi.h:184 AliAnalysisTaskHJetDphi.h:185 AliAnalysisTaskHJetDphi.h:186 AliAnalysisTaskHJetDphi.h:187 AliAnalysisTaskHJetDphi.h:188 AliAnalysisTaskHJetDphi.h:189 AliAnalysisTaskHJetDphi.h:190 AliAnalysisTaskHJetDphi.h:191 AliAnalysisTaskHJetDphi.h:192 AliAnalysisTaskHJetDphi.h:193 AliAnalysisTaskHJetDphi.h:194 AliAnalysisTaskHJetDphi.h:195 AliAnalysisTaskHJetDphi.h:196 AliAnalysisTaskHJetDphi.h:197 AliAnalysisTaskHJetDphi.h:198 AliAnalysisTaskHJetDphi.h:199 AliAnalysisTaskHJetDphi.h:200 AliAnalysisTaskHJetDphi.h:201 AliAnalysisTaskHJetDphi.h:202 AliAnalysisTaskHJetDphi.h:203 AliAnalysisTaskHJetDphi.h:204 AliAnalysisTaskHJetDphi.h:205 AliAnalysisTaskHJetDphi.h:206 AliAnalysisTaskHJetDphi.h:207 AliAnalysisTaskHJetDphi.h:208 AliAnalysisTaskHJetDphi.h:209 AliAnalysisTaskHJetDphi.h:210 AliAnalysisTaskHJetDphi.h:211 AliAnalysisTaskHJetDphi.h:212 AliAnalysisTaskHJetDphi.h:213 AliAnalysisTaskHJetDphi.h:214 AliAnalysisTaskHJetDphi.h:215