#ifndef ALIANALYSISTASKHJETSPECTRA_H
#define ALIANALYSISTASKHJETSPECTRA_H
class TH1I;
class TH1F;
class TH2F;
class TH2D;
class TH1D;
class THnSparse;
class TProfile;
class TList;
class TClonesArray;
class TString;
class AliEmcalJet;
class AliRhoParameter;
class AliVParticle;
class AliLog;
class AliAnalysisUtils;
class TRandom3;
class AliAnalysisTaskHJetSpectra : public AliAnalysisTaskSE {
public:
AliAnalysisTaskHJetSpectra();
AliAnalysisTaskHJetSpectra(const char *name, const char* trackArrayName, const char* jetArrayName, const char* backgroundJetArrayName);
virtual ~AliAnalysisTaskHJetSpectra();
virtual void UserCreateOutputObjects();
virtual void UserExec(Option_t *option);
virtual Bool_t UserNotify();
virtual void Terminate(Option_t *);
void SetAnalyzePythia(Bool_t val) { if(val) fAnalyzePythia = kTRUE;}
void SetAnalyzeMC(Int_t val);
void SetUseDefaultVertexCut (Bool_t val) {fUseDefaultVertexCut = val;}
void SetUsePileUpCut (Bool_t val) {fUsePileUpCut = val;}
void SetNumberOfCentralityBins(Int_t val) {fNumberOfCentralityBins = val;}
void SetSignalJetMinArea(Double_t minArea) {fMinJetArea = minArea;}
void SetRandConeRadius(Double_t radius) {fRandConeRadius = radius;}
void SetSignalJetRadius(Double_t radius) {fSignalJetRadius = radius;}
void SetBackgroundJetRadius(Double_t radius) {fBackgroundJetRadius = radius;}
void SetMinPtOfJetsToBeRemovedInBg(Double_t minPt) {fBackgroundJetPtMin = minPt;}
void SetCentralityType(const char* type) {fCentralityType = type;}
void SetExternalRhoTaskName(const char* name) {fRhoTaskName = name;}
void SetAcceptanceWindows(Double_t trackEta, Double_t signalJetRadius, Double_t bgrdJetRadius){
fTrackEtaWindow = trackEta;
fSignalJetRadius = signalJetRadius;
fBackgroundJetRadius = bgrdJetRadius;
fSignalJetEtaWindow = fTrackEtaWindow-fSignalJetRadius;
fBackgroundJetEtaWindow = fTrackEtaWindow-fBackgroundJetRadius;}
void SetTT(Double_t ttlow, Double_t tthigh){ fTTlow = ttlow; fTThigh = tthigh; }
void SetTTType(Int_t tttype){ fTTtype = tttype;}
void SetDphi(Double_t dphi){ fDphiCut = TMath::Pi() - dphi;}
void SetDoubleBinPrecision(Bool_t db){ fUseDoubleBinPrecision = db;}
void SetNofRandomCones(Int_t nrc){ fNofRandomCones = nrc;}
private:
void GetDeltaPt(Double_t rho1, Double_t &dpt1,
Double_t rho2, Double_t &dpt2,
Double_t rho3, Double_t &dpt3,
Double_t &rcPhi, Double_t &rcEta,
Double_t leadingJetExclusionProbability = 0);
Double_t GetConePt(Double_t eta, Double_t phi, Double_t radius);
Double_t GetPtHard();
Double_t GetImpactParameter();
Double_t GetSimPrimaryVertex();
void GetPerpendicularCone(Double_t vecPhi, Double_t vecTheta, Double_t& conePt);
Bool_t IsTrackInAcceptance(AliVParticle* track);
Bool_t IsEventInAcceptance(AliVEvent* event);
Bool_t IsBackgroundJetInAcceptance(AliEmcalJet* jet);
Bool_t IsSignalJetInAcceptance(AliEmcalJet* jet);
Double_t RelativePhi(Double_t mphi,Double_t vphi);
Double_t EstimateBgRhoMedian();
Double_t EstimateBgCone();
Double_t GetExternalRho();
Bool_t DistantCones(Double_t phi1, Double_t eta1, Double_t r1, Double_t phi2, Double_t eta2, Double_t r2);
void Calculate(AliVEvent* event);
void ExecOnce();
TList* fOutputList;
Bool_t fAnalyzePythia;
Bool_t fAnalyzeHijing;
Bool_t fIsKinematics;
Bool_t fUseDefaultVertexCut;
Bool_t fUsePileUpCut;
TClonesArray* fJetArray;
TClonesArray* fTrackArray;
TClonesArray* fBackgroundJetArray;
TString* fJetArrayName;
TString* fTrackArrayName;
TString* fBackgroundJetArrayName;
TString fRhoTaskName;
Double_t fRandConeRadius;
Double_t fRandConeRadiusSquared;
Double_t fSignalJetRadius;
Double_t fBackgroundJetRadius;
Double_t fBackgroundJetPtMin;
Double_t fSignalJetEtaWindow;
Double_t fBackgroundJetEtaWindow;
Double_t fTrackEtaWindow;
Double_t fMinTrackPt;
Double_t fMinJetArea;
Int_t fNumberOfCentralityBins;
TString fCentralityType;
Double_t fCrossSection;
Double_t fTrials;
Double_t fImpParam;
TRandom3* fRandom;
AliAnalysisUtils* fHelperClass;
Bool_t fInitialized;
Double_t fTTlow;
Double_t fTThigh;
Int_t fTTtype;
Double_t fDphiCut;
Bool_t fUseDoubleBinPrecision;
TH1I *fHistEvtSelection;
TH2F *fh2Ntriggers;
THnSparse *fHJetSpec;
THnSparse *fHJetSpecSubUeMedian;
THnSparse *fHJetSpecSubUeCone;
THnSparse *fHJetSpecSubUeCMS;
TH2F *fhRhoCellMedian;
TH2F *fhRhoCone;
TH2F *fhRhoCMS;
TH2F *fhRhoCellMedianIncl;
TH2F *fhRhoConeIncl;
TH2F *fhRhoCMSIncl;
TH1F *fARhoCellMedian;
TH1F *fARhoCone;
TH1F *fARhoCMS;
TH2D *fhDeltaPtMedian;
TH2D *fhDeltaPtCone;
TH2D *fhDeltaPtCMS;
TH2D *fhDeltaPtMedianIncl;
TH2D *fhDeltaPtConeIncl;
TH2D *fhDeltaPtCMSIncl;
TH2D *fhDeltaPtMedianNearSide;
TH2D *fhDeltaPtMedianAwaySide;
TH2D *fhDeltaPtCMSNearSide;
TH2D *fhDeltaPtCMSAwaySide;
TH2D *fhDeltaPtMedianExclTrigCone;
TH2D *fhDeltaPtCMSExclTrigCone;
TH2D *fhDeltaPtMedianExclAwayJet;
TH2D *fhDeltaPtCMSExclAwayJet;
TH2F *fhJetPhi;
TH2F *fhTrackPhi;
TH2F *fhJetEta;
TH2F *fhTrackEta;
TH2F *fhTrackCentVsPt;
TH1F *fhVertexZ;
TH1F *fhVertexZAccept;
TH2F *fhDphiTriggerJetMinBias;
TH2F *fhDphiTriggerJetCent20;
TH1F *fhDphiTriggerJetAccept;
TH1F *fhCentrality;
TH1F *fhCentralityV0M;
TH1F *fhCentralityV0A;
TH1F *fhCentralityV0C;
TH1F *fhCentralityZNA;
Int_t fNofRndTrials;
Double_t fJetFreeAreaFrac;
Int_t fnEta;
Int_t fnPhi;
Double_t fEtaSize;
Double_t fPhiSize;
Double_t fCellArea;
TProfile* fh1Xsec;
TH1F* fh1Trials;
TH1F* fh1PtHard;
TH1D* fhImpactParameter;
TH1D* fhImpactParameterTT;
Int_t fNofRandomCones;
Double_t fRConesR;
Double_t fRConesRSquared;
Int_t fnRCones;
Double_t fRConePhi[50];
Double_t fRConeEta[50];
AliAnalysisTaskHJetSpectra(const AliAnalysisTaskHJetSpectra&);
AliAnalysisTaskHJetSpectra& operator=(const AliAnalysisTaskHJetSpectra&);
ClassDef(AliAnalysisTaskHJetSpectra, 3);
};
#endif
AliAnalysisTaskHJetSpectra.h:1 AliAnalysisTaskHJetSpectra.h:2 AliAnalysisTaskHJetSpectra.h:3 AliAnalysisTaskHJetSpectra.h:4 AliAnalysisTaskHJetSpectra.h:5 AliAnalysisTaskHJetSpectra.h:6 AliAnalysisTaskHJetSpectra.h:7 AliAnalysisTaskHJetSpectra.h:8 AliAnalysisTaskHJetSpectra.h:9 AliAnalysisTaskHJetSpectra.h:10 AliAnalysisTaskHJetSpectra.h:11 AliAnalysisTaskHJetSpectra.h:12 AliAnalysisTaskHJetSpectra.h:13 AliAnalysisTaskHJetSpectra.h:14 AliAnalysisTaskHJetSpectra.h:15 AliAnalysisTaskHJetSpectra.h:16 AliAnalysisTaskHJetSpectra.h:17 AliAnalysisTaskHJetSpectra.h:18 AliAnalysisTaskHJetSpectra.h:19 AliAnalysisTaskHJetSpectra.h:20 AliAnalysisTaskHJetSpectra.h:21 AliAnalysisTaskHJetSpectra.h:22 AliAnalysisTaskHJetSpectra.h:23 AliAnalysisTaskHJetSpectra.h:24 AliAnalysisTaskHJetSpectra.h:25 AliAnalysisTaskHJetSpectra.h:26 AliAnalysisTaskHJetSpectra.h:27 AliAnalysisTaskHJetSpectra.h:28 AliAnalysisTaskHJetSpectra.h:29 AliAnalysisTaskHJetSpectra.h:30 AliAnalysisTaskHJetSpectra.h:31 AliAnalysisTaskHJetSpectra.h:32 AliAnalysisTaskHJetSpectra.h:33 AliAnalysisTaskHJetSpectra.h:34 AliAnalysisTaskHJetSpectra.h:35 AliAnalysisTaskHJetSpectra.h:36 AliAnalysisTaskHJetSpectra.h:37 AliAnalysisTaskHJetSpectra.h:38 AliAnalysisTaskHJetSpectra.h:39 AliAnalysisTaskHJetSpectra.h:40 AliAnalysisTaskHJetSpectra.h:41 AliAnalysisTaskHJetSpectra.h:42 AliAnalysisTaskHJetSpectra.h:43 AliAnalysisTaskHJetSpectra.h:44 AliAnalysisTaskHJetSpectra.h:45 AliAnalysisTaskHJetSpectra.h:46 AliAnalysisTaskHJetSpectra.h:47 AliAnalysisTaskHJetSpectra.h:48 AliAnalysisTaskHJetSpectra.h:49 AliAnalysisTaskHJetSpectra.h:50 AliAnalysisTaskHJetSpectra.h:51 AliAnalysisTaskHJetSpectra.h:52 AliAnalysisTaskHJetSpectra.h:53 AliAnalysisTaskHJetSpectra.h:54 AliAnalysisTaskHJetSpectra.h:55 AliAnalysisTaskHJetSpectra.h:56 AliAnalysisTaskHJetSpectra.h:57 AliAnalysisTaskHJetSpectra.h:58 AliAnalysisTaskHJetSpectra.h:59 AliAnalysisTaskHJetSpectra.h:60 AliAnalysisTaskHJetSpectra.h:61 AliAnalysisTaskHJetSpectra.h:62 AliAnalysisTaskHJetSpectra.h:63 AliAnalysisTaskHJetSpectra.h:64 AliAnalysisTaskHJetSpectra.h:65 AliAnalysisTaskHJetSpectra.h:66 AliAnalysisTaskHJetSpectra.h:67 AliAnalysisTaskHJetSpectra.h:68 AliAnalysisTaskHJetSpectra.h:69 AliAnalysisTaskHJetSpectra.h:70 AliAnalysisTaskHJetSpectra.h:71 AliAnalysisTaskHJetSpectra.h:72 AliAnalysisTaskHJetSpectra.h:73 AliAnalysisTaskHJetSpectra.h:74 AliAnalysisTaskHJetSpectra.h:75 AliAnalysisTaskHJetSpectra.h:76 AliAnalysisTaskHJetSpectra.h:77 AliAnalysisTaskHJetSpectra.h:78 AliAnalysisTaskHJetSpectra.h:79 AliAnalysisTaskHJetSpectra.h:80 AliAnalysisTaskHJetSpectra.h:81 AliAnalysisTaskHJetSpectra.h:82 AliAnalysisTaskHJetSpectra.h:83 AliAnalysisTaskHJetSpectra.h:84 AliAnalysisTaskHJetSpectra.h:85 AliAnalysisTaskHJetSpectra.h:86 AliAnalysisTaskHJetSpectra.h:87 AliAnalysisTaskHJetSpectra.h:88 AliAnalysisTaskHJetSpectra.h:89 AliAnalysisTaskHJetSpectra.h:90 AliAnalysisTaskHJetSpectra.h:91 AliAnalysisTaskHJetSpectra.h:92 AliAnalysisTaskHJetSpectra.h:93 AliAnalysisTaskHJetSpectra.h:94 AliAnalysisTaskHJetSpectra.h:95 AliAnalysisTaskHJetSpectra.h:96 AliAnalysisTaskHJetSpectra.h:97 AliAnalysisTaskHJetSpectra.h:98 AliAnalysisTaskHJetSpectra.h:99 AliAnalysisTaskHJetSpectra.h:100 AliAnalysisTaskHJetSpectra.h:101 AliAnalysisTaskHJetSpectra.h:102 AliAnalysisTaskHJetSpectra.h:103 AliAnalysisTaskHJetSpectra.h:104 AliAnalysisTaskHJetSpectra.h:105 AliAnalysisTaskHJetSpectra.h:106 AliAnalysisTaskHJetSpectra.h:107 AliAnalysisTaskHJetSpectra.h:108 AliAnalysisTaskHJetSpectra.h:109 AliAnalysisTaskHJetSpectra.h:110 AliAnalysisTaskHJetSpectra.h:111 AliAnalysisTaskHJetSpectra.h:112 AliAnalysisTaskHJetSpectra.h:113 AliAnalysisTaskHJetSpectra.h:114 AliAnalysisTaskHJetSpectra.h:115 AliAnalysisTaskHJetSpectra.h:116 AliAnalysisTaskHJetSpectra.h:117 AliAnalysisTaskHJetSpectra.h:118 AliAnalysisTaskHJetSpectra.h:119 AliAnalysisTaskHJetSpectra.h:120 AliAnalysisTaskHJetSpectra.h:121 AliAnalysisTaskHJetSpectra.h:122 AliAnalysisTaskHJetSpectra.h:123 AliAnalysisTaskHJetSpectra.h:124 AliAnalysisTaskHJetSpectra.h:125 AliAnalysisTaskHJetSpectra.h:126 AliAnalysisTaskHJetSpectra.h:127 AliAnalysisTaskHJetSpectra.h:128 AliAnalysisTaskHJetSpectra.h:129 AliAnalysisTaskHJetSpectra.h:130 AliAnalysisTaskHJetSpectra.h:131 AliAnalysisTaskHJetSpectra.h:132 AliAnalysisTaskHJetSpectra.h:133 AliAnalysisTaskHJetSpectra.h:134 AliAnalysisTaskHJetSpectra.h:135 AliAnalysisTaskHJetSpectra.h:136 AliAnalysisTaskHJetSpectra.h:137 AliAnalysisTaskHJetSpectra.h:138 AliAnalysisTaskHJetSpectra.h:139 AliAnalysisTaskHJetSpectra.h:140 AliAnalysisTaskHJetSpectra.h:141 AliAnalysisTaskHJetSpectra.h:142 AliAnalysisTaskHJetSpectra.h:143 AliAnalysisTaskHJetSpectra.h:144 AliAnalysisTaskHJetSpectra.h:145 AliAnalysisTaskHJetSpectra.h:146 AliAnalysisTaskHJetSpectra.h:147 AliAnalysisTaskHJetSpectra.h:148 AliAnalysisTaskHJetSpectra.h:149 AliAnalysisTaskHJetSpectra.h:150 AliAnalysisTaskHJetSpectra.h:151 AliAnalysisTaskHJetSpectra.h:152 AliAnalysisTaskHJetSpectra.h:153 AliAnalysisTaskHJetSpectra.h:154 AliAnalysisTaskHJetSpectra.h:155 AliAnalysisTaskHJetSpectra.h:156 AliAnalysisTaskHJetSpectra.h:157 AliAnalysisTaskHJetSpectra.h:158 AliAnalysisTaskHJetSpectra.h:159 AliAnalysisTaskHJetSpectra.h:160 AliAnalysisTaskHJetSpectra.h:161 AliAnalysisTaskHJetSpectra.h:162 AliAnalysisTaskHJetSpectra.h:163 AliAnalysisTaskHJetSpectra.h:164 AliAnalysisTaskHJetSpectra.h:165 AliAnalysisTaskHJetSpectra.h:166 AliAnalysisTaskHJetSpectra.h:167 AliAnalysisTaskHJetSpectra.h:168 AliAnalysisTaskHJetSpectra.h:169 AliAnalysisTaskHJetSpectra.h:170 AliAnalysisTaskHJetSpectra.h:171 AliAnalysisTaskHJetSpectra.h:172 AliAnalysisTaskHJetSpectra.h:173 AliAnalysisTaskHJetSpectra.h:174 AliAnalysisTaskHJetSpectra.h:175 AliAnalysisTaskHJetSpectra.h:176 AliAnalysisTaskHJetSpectra.h:177 AliAnalysisTaskHJetSpectra.h:178 AliAnalysisTaskHJetSpectra.h:179 AliAnalysisTaskHJetSpectra.h:180 AliAnalysisTaskHJetSpectra.h:181 AliAnalysisTaskHJetSpectra.h:182 AliAnalysisTaskHJetSpectra.h:183 AliAnalysisTaskHJetSpectra.h:184 AliAnalysisTaskHJetSpectra.h:185 AliAnalysisTaskHJetSpectra.h:186 AliAnalysisTaskHJetSpectra.h:187 AliAnalysisTaskHJetSpectra.h:188 AliAnalysisTaskHJetSpectra.h:189 AliAnalysisTaskHJetSpectra.h:190 AliAnalysisTaskHJetSpectra.h:191 AliAnalysisTaskHJetSpectra.h:192 AliAnalysisTaskHJetSpectra.h:193 AliAnalysisTaskHJetSpectra.h:194 AliAnalysisTaskHJetSpectra.h:195 AliAnalysisTaskHJetSpectra.h:196 AliAnalysisTaskHJetSpectra.h:197 AliAnalysisTaskHJetSpectra.h:198 AliAnalysisTaskHJetSpectra.h:199 AliAnalysisTaskHJetSpectra.h:200 AliAnalysisTaskHJetSpectra.h:201 AliAnalysisTaskHJetSpectra.h:202 AliAnalysisTaskHJetSpectra.h:203 AliAnalysisTaskHJetSpectra.h:204 AliAnalysisTaskHJetSpectra.h:205 AliAnalysisTaskHJetSpectra.h:206 AliAnalysisTaskHJetSpectra.h:207 AliAnalysisTaskHJetSpectra.h:208 AliAnalysisTaskHJetSpectra.h:209 AliAnalysisTaskHJetSpectra.h:210 AliAnalysisTaskHJetSpectra.h:211 AliAnalysisTaskHJetSpectra.h:212 AliAnalysisTaskHJetSpectra.h:213 AliAnalysisTaskHJetSpectra.h:214 AliAnalysisTaskHJetSpectra.h:215 AliAnalysisTaskHJetSpectra.h:216 AliAnalysisTaskHJetSpectra.h:217 AliAnalysisTaskHJetSpectra.h:218 AliAnalysisTaskHJetSpectra.h:219 AliAnalysisTaskHJetSpectra.h:220 AliAnalysisTaskHJetSpectra.h:221 AliAnalysisTaskHJetSpectra.h:222 AliAnalysisTaskHJetSpectra.h:223 AliAnalysisTaskHJetSpectra.h:224 AliAnalysisTaskHJetSpectra.h:225 AliAnalysisTaskHJetSpectra.h:226 AliAnalysisTaskHJetSpectra.h:227 AliAnalysisTaskHJetSpectra.h:228 AliAnalysisTaskHJetSpectra.h:229 AliAnalysisTaskHJetSpectra.h:230 AliAnalysisTaskHJetSpectra.h:231 AliAnalysisTaskHJetSpectra.h:232 AliAnalysisTaskHJetSpectra.h:233 AliAnalysisTaskHJetSpectra.h:234 AliAnalysisTaskHJetSpectra.h:235