ROOT logo
#ifndef AliAnalysisTaskJetHadronCorrelation_cxx
#define AliAnalysisTaskJetHadronCorrelation_cxx

/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

class AliJetHeader;
class AliESDEvent;
class AliAODEvent;
class AliAODJet;
class AliGenPythiaEventHeader;
class AliCFManager;

class TList;
class TChain;
class TH2F;
class TH1F;
class TH3F;
class TProfile;


#include "AliAnalysisTaskSE.h"
#include  "THnSparse.h" // cannot forward declare ThnSparseF  
#include <TList.h>
#include <TH1F.h>
#include <TH2F.h>

class AliAnalysisTaskJetHadronCorrelation : public AliAnalysisTaskSE 
{
	public:
		AliAnalysisTaskJetHadronCorrelation();
		AliAnalysisTaskJetHadronCorrelation(const char *name);
		virtual ~AliAnalysisTaskJetHadronCorrelation() {;}

		// Implementation of interface methods
		virtual void   UserCreateOutputObjects();
		virtual void   Init();
		virtual Bool_t Notify();
		virtual void   UserExec(Option_t *option);
		virtual void   Terminate(Option_t *);
		virtual void   SetDebug(Int_t debug = 0)        {fDebug = debug;}
		virtual void   SetAlgorithm(TString jf="ANTIKT"){JFAlg=jf;}
		virtual void   SetRadius(Float_t radius=0.4)    {Radius=radius;}
		virtual void   SetFilterMask(UInt_t filter=256) {Filtermask=filter;}
		virtual void   SetBackSubMode(Int_t backM=0)    {BackM=backM;}
		virtual void   SetTrackPtCut(Float_t tPtcut=0)  {TrackPtcut=tPtcut;}
		virtual void   SetSkipCone(Int_t skipCone=0)    {SkipCone=skipCone;}
		virtual void   SetMC(Bool_t ismc=true)          {IsMC=ismc;}
		virtual void   SetJetEScale  (Float_t JEScale=1.){JetEScale=JEScale;}
		virtual void   SetTrackEScale(Float_t TEScale=1.){TrackEScale=TEScale;}
		virtual void   FinishTaskOutput();

		//enum {kNPTBINS=10};

		// 0 all jets
		// 1 all jet in eta window
		// 2 all jets with partner
		// 3 all jets in eta window with partner
		// 4 all jets with partner in eta window
		//enum {kStep0 = 0, kStep1, kStep2, kStep3, kStep4,kMaxStep};



	private:
		AliAnalysisTaskJetHadronCorrelation(const AliAnalysisTaskJetHadronCorrelation &det); // not implemented
		AliAnalysisTaskJetHadronCorrelation& operator=(const AliAnalysisTaskJetHadronCorrelation &det); // not implemented
		Double_t DeltaPhi(Double_t phi1,Double_t phi2);

		Bool_t          fUseAODInput; // read jets from input AOD
		TString         fJetBranch;   // jet branch to read
		TString         fNonStdFile;

		AliAODEvent     *fAODIn;       // AOD event
		AliAODEvent     *fAODOut;      // AOD event
		AliAODExtension *fAODExtension;
		TString         JFAlg;
		Float_t         Radius;
		UInt_t          Filtermask;
		Int_t           BackM;
		Float_t         TrackPtcut;
		Int_t           SkipCone;
		Bool_t          IsMC;
		Float_t         JetEScale;
		Float_t         TrackEScale;


		Float_t         fxsec;
		Float_t         ftrial;

		TList           *fHistList; // Output list
    Int_t           fIfiles;//!count no. of files


		TH1F            *fH1Events;
		TProfile        *fH1Xsec;
		TH1F            *fH1Trials;

		TH1F            *fH1Track_pt          ;
		TH1F            *fH1Track_phi         ;
		TH1F            *fH1Track_eta         ;
		TH1F            *fH1MCTrack_pt        ;
		TH1F            *fH1MCTrack_phi       ;
		TH1F            *fH1MCTrack_eta       ;
		TH1F            *fH1MCPrimTrack_pt    ;
		TH1F            *fH1MCPrimTrack_phi   ;
		TH1F            *fH1MCPrimTrack_eta   ;
		TH1F            *fH1Jet_pt            ;
		TH1F            *fH1Jet_phi           ;
		TH1F            *fH1Jet_eta           ;
		TH1F            *fH1leadJet_pt        ;
		TH1F            *fH1leadJet_pt_dijet  ;
		TH1F            *fH1subJet_pt_dijet   ;
		TH1F            *fH1JetMC_pt          ;
		TH1F            *fH1leadJetMC_pt      ;
		TH1F            *fH1leadJetMC_pt_dijet;
		TH1F            *fH1subJetMC_pt_dijet ;
		TH2F            *fH2JetsJet_dphi      ;
		TH2F            *fH2JetsJet_deta      ;
		TH2F            *fH2JetsJet_Aj        ;
		TH2F            *fH2JetsJet_pt        ;
		TH2F            *fH2JetsJetMC_dphi    ;
		TH2F            *fH2JetsJetMC_deta    ;
		TH2F            *fH2JetsJetMC_Aj      ;
		TH2F            *fH2JetsJetMC_pt      ;

		TH2F         *fH2Mult_Mtrack          ;
		TH2F         *fH2Mult_Mlead           ;
		TH2F         *fH2Mult_Mjet            ;
		TH2F         *fH2Mult_Njet            ;
		TH2F         *fH2Mult_Aj              ;
		TH2F         *fH2Mlead_Aj             ;
		TH2F         *fH2Jet_pt_Mlead         ;
		TH2F         *fH2Jet_pt_Munder        ;

		TH2F         *fH2leadJetMCptResolution ;
		TH2F         *fH2TrackMCptResolution   ;
		TH2F         *fH2TrackMCptEfficiency   ;
		TH2F         *fH2AjCorrelation_MCRec   ;
		TH2F         *fH2MleadCorrelation_MCRec;

		TH1F         *fH1ndiJ_ediv                     [5];
		TH1F         *fH1Aj                            [5];
		TH1F         *fH1Mlead                         [5];

		TH1F         *fH1leadJetMC_dphiResolution      [5];
		TH1F         *fH1subJetMC_dphiResolution       [5];
		TH1F         *fH1leadJetMC_Efficiency          [5];
		TH1F         *fH1subJetMC_Efficiency           [5];

		TH1F         *fH1JetHadron_dphi_ediv             [5][5];
		TH1F         *fH1JetHadron_dphi_tptweight_ediv   [5][5];
		TH1F         *fH1JetHadron_dphi_tJptweight_ediv  [5][5];
		TH1F         *fH1JetHadronMC_dphi_ediv           [5][5];
		TH1F         *fH1JetHadronMC_dphi_tptweight_ediv [5][5];
		TH1F         *fH1JetHadronMC_dphi_tJptweight_ediv[5][5];
		TH1F         *fH1JetHadronMCPrim_dphi_ediv           [5][5];
		TH1F         *fH1JetHadronMCPrim_dphi_tptweight_ediv [5][5];
		TH1F         *fH1JetHadronMCPrim_dphi_tJptweight_ediv[5][5];
		//TH1F         *fH1JetHadronMCIdeal_dphi_ediv             [5][5];
		//TH1F         *fH1JetHadronMCIdeal_dphi_tptweight_ediv   [5][5];
		//TH1F         *fH1JetHadronMCIdeal_dphi_tJptweight_ediv  [5][5];

		TH1F         *fH1ndiJ_2040Mlead                         [3];
		TH1F         *fH1ndiJ_2040Aj                            [3];
		TH1F         *fH1JetHadron_dphi_tptweight2040_Mleaddep  [3][5];
		TH1F         *fH1JetHadron_dphi_tptweight2040_Ajdep     [3][5];
		TH1F         *fH1JetHadronMC_dphi_tptweight2040_Mleaddep[3][5];
		TH1F         *fH1JetHadronMC_dphi_tptweight2040_Ajdep   [3][5];
		TH1F         *fH1JetHadronMCPrim_dphi_tptweight2040_Mleaddep[3][5];
		TH1F         *fH1JetHadronMCPrim_dphi_tptweight2040_Ajdep   [3][5];
		//TH1F         *fH1JetHadronMCIdeal_dphi_tptweight2040_Mleaddep[3][5];
		//TH1F         *fH1JetHadronMCIdeal_dphi_tptweight2040_Ajdep   [3][5];

		ClassDef(AliAnalysisTaskJetHadronCorrelation, 17); // Analysis task for JetHadronCorrelation
};

#endif
 AliAnalysisTaskJetHadronCorrelation.h:1
 AliAnalysisTaskJetHadronCorrelation.h:2
 AliAnalysisTaskJetHadronCorrelation.h:3
 AliAnalysisTaskJetHadronCorrelation.h:4
 AliAnalysisTaskJetHadronCorrelation.h:5
 AliAnalysisTaskJetHadronCorrelation.h:6
 AliAnalysisTaskJetHadronCorrelation.h:7
 AliAnalysisTaskJetHadronCorrelation.h:8
 AliAnalysisTaskJetHadronCorrelation.h:9
 AliAnalysisTaskJetHadronCorrelation.h:10
 AliAnalysisTaskJetHadronCorrelation.h:11
 AliAnalysisTaskJetHadronCorrelation.h:12
 AliAnalysisTaskJetHadronCorrelation.h:13
 AliAnalysisTaskJetHadronCorrelation.h:14
 AliAnalysisTaskJetHadronCorrelation.h:15
 AliAnalysisTaskJetHadronCorrelation.h:16
 AliAnalysisTaskJetHadronCorrelation.h:17
 AliAnalysisTaskJetHadronCorrelation.h:18
 AliAnalysisTaskJetHadronCorrelation.h:19
 AliAnalysisTaskJetHadronCorrelation.h:20
 AliAnalysisTaskJetHadronCorrelation.h:21
 AliAnalysisTaskJetHadronCorrelation.h:22
 AliAnalysisTaskJetHadronCorrelation.h:23
 AliAnalysisTaskJetHadronCorrelation.h:24
 AliAnalysisTaskJetHadronCorrelation.h:25
 AliAnalysisTaskJetHadronCorrelation.h:26
 AliAnalysisTaskJetHadronCorrelation.h:27
 AliAnalysisTaskJetHadronCorrelation.h:28
 AliAnalysisTaskJetHadronCorrelation.h:29
 AliAnalysisTaskJetHadronCorrelation.h:30
 AliAnalysisTaskJetHadronCorrelation.h:31
 AliAnalysisTaskJetHadronCorrelation.h:32
 AliAnalysisTaskJetHadronCorrelation.h:33
 AliAnalysisTaskJetHadronCorrelation.h:34
 AliAnalysisTaskJetHadronCorrelation.h:35
 AliAnalysisTaskJetHadronCorrelation.h:36
 AliAnalysisTaskJetHadronCorrelation.h:37
 AliAnalysisTaskJetHadronCorrelation.h:38
 AliAnalysisTaskJetHadronCorrelation.h:39
 AliAnalysisTaskJetHadronCorrelation.h:40
 AliAnalysisTaskJetHadronCorrelation.h:41
 AliAnalysisTaskJetHadronCorrelation.h:42
 AliAnalysisTaskJetHadronCorrelation.h:43
 AliAnalysisTaskJetHadronCorrelation.h:44
 AliAnalysisTaskJetHadronCorrelation.h:45
 AliAnalysisTaskJetHadronCorrelation.h:46
 AliAnalysisTaskJetHadronCorrelation.h:47
 AliAnalysisTaskJetHadronCorrelation.h:48
 AliAnalysisTaskJetHadronCorrelation.h:49
 AliAnalysisTaskJetHadronCorrelation.h:50
 AliAnalysisTaskJetHadronCorrelation.h:51
 AliAnalysisTaskJetHadronCorrelation.h:52
 AliAnalysisTaskJetHadronCorrelation.h:53
 AliAnalysisTaskJetHadronCorrelation.h:54
 AliAnalysisTaskJetHadronCorrelation.h:55
 AliAnalysisTaskJetHadronCorrelation.h:56
 AliAnalysisTaskJetHadronCorrelation.h:57
 AliAnalysisTaskJetHadronCorrelation.h:58
 AliAnalysisTaskJetHadronCorrelation.h:59
 AliAnalysisTaskJetHadronCorrelation.h:60
 AliAnalysisTaskJetHadronCorrelation.h:61
 AliAnalysisTaskJetHadronCorrelation.h:62
 AliAnalysisTaskJetHadronCorrelation.h:63
 AliAnalysisTaskJetHadronCorrelation.h:64
 AliAnalysisTaskJetHadronCorrelation.h:65
 AliAnalysisTaskJetHadronCorrelation.h:66
 AliAnalysisTaskJetHadronCorrelation.h:67
 AliAnalysisTaskJetHadronCorrelation.h:68
 AliAnalysisTaskJetHadronCorrelation.h:69
 AliAnalysisTaskJetHadronCorrelation.h:70
 AliAnalysisTaskJetHadronCorrelation.h:71
 AliAnalysisTaskJetHadronCorrelation.h:72
 AliAnalysisTaskJetHadronCorrelation.h:73
 AliAnalysisTaskJetHadronCorrelation.h:74
 AliAnalysisTaskJetHadronCorrelation.h:75
 AliAnalysisTaskJetHadronCorrelation.h:76
 AliAnalysisTaskJetHadronCorrelation.h:77
 AliAnalysisTaskJetHadronCorrelation.h:78
 AliAnalysisTaskJetHadronCorrelation.h:79
 AliAnalysisTaskJetHadronCorrelation.h:80
 AliAnalysisTaskJetHadronCorrelation.h:81
 AliAnalysisTaskJetHadronCorrelation.h:82
 AliAnalysisTaskJetHadronCorrelation.h:83
 AliAnalysisTaskJetHadronCorrelation.h:84
 AliAnalysisTaskJetHadronCorrelation.h:85
 AliAnalysisTaskJetHadronCorrelation.h:86
 AliAnalysisTaskJetHadronCorrelation.h:87
 AliAnalysisTaskJetHadronCorrelation.h:88
 AliAnalysisTaskJetHadronCorrelation.h:89
 AliAnalysisTaskJetHadronCorrelation.h:90
 AliAnalysisTaskJetHadronCorrelation.h:91
 AliAnalysisTaskJetHadronCorrelation.h:92
 AliAnalysisTaskJetHadronCorrelation.h:93
 AliAnalysisTaskJetHadronCorrelation.h:94
 AliAnalysisTaskJetHadronCorrelation.h:95
 AliAnalysisTaskJetHadronCorrelation.h:96
 AliAnalysisTaskJetHadronCorrelation.h:97
 AliAnalysisTaskJetHadronCorrelation.h:98
 AliAnalysisTaskJetHadronCorrelation.h:99
 AliAnalysisTaskJetHadronCorrelation.h:100
 AliAnalysisTaskJetHadronCorrelation.h:101
 AliAnalysisTaskJetHadronCorrelation.h:102
 AliAnalysisTaskJetHadronCorrelation.h:103
 AliAnalysisTaskJetHadronCorrelation.h:104
 AliAnalysisTaskJetHadronCorrelation.h:105
 AliAnalysisTaskJetHadronCorrelation.h:106
 AliAnalysisTaskJetHadronCorrelation.h:107
 AliAnalysisTaskJetHadronCorrelation.h:108
 AliAnalysisTaskJetHadronCorrelation.h:109
 AliAnalysisTaskJetHadronCorrelation.h:110
 AliAnalysisTaskJetHadronCorrelation.h:111
 AliAnalysisTaskJetHadronCorrelation.h:112
 AliAnalysisTaskJetHadronCorrelation.h:113
 AliAnalysisTaskJetHadronCorrelation.h:114
 AliAnalysisTaskJetHadronCorrelation.h:115
 AliAnalysisTaskJetHadronCorrelation.h:116
 AliAnalysisTaskJetHadronCorrelation.h:117
 AliAnalysisTaskJetHadronCorrelation.h:118
 AliAnalysisTaskJetHadronCorrelation.h:119
 AliAnalysisTaskJetHadronCorrelation.h:120
 AliAnalysisTaskJetHadronCorrelation.h:121
 AliAnalysisTaskJetHadronCorrelation.h:122
 AliAnalysisTaskJetHadronCorrelation.h:123
 AliAnalysisTaskJetHadronCorrelation.h:124
 AliAnalysisTaskJetHadronCorrelation.h:125
 AliAnalysisTaskJetHadronCorrelation.h:126
 AliAnalysisTaskJetHadronCorrelation.h:127
 AliAnalysisTaskJetHadronCorrelation.h:128
 AliAnalysisTaskJetHadronCorrelation.h:129
 AliAnalysisTaskJetHadronCorrelation.h:130
 AliAnalysisTaskJetHadronCorrelation.h:131
 AliAnalysisTaskJetHadronCorrelation.h:132
 AliAnalysisTaskJetHadronCorrelation.h:133
 AliAnalysisTaskJetHadronCorrelation.h:134
 AliAnalysisTaskJetHadronCorrelation.h:135
 AliAnalysisTaskJetHadronCorrelation.h:136
 AliAnalysisTaskJetHadronCorrelation.h:137
 AliAnalysisTaskJetHadronCorrelation.h:138
 AliAnalysisTaskJetHadronCorrelation.h:139
 AliAnalysisTaskJetHadronCorrelation.h:140
 AliAnalysisTaskJetHadronCorrelation.h:141
 AliAnalysisTaskJetHadronCorrelation.h:142
 AliAnalysisTaskJetHadronCorrelation.h:143
 AliAnalysisTaskJetHadronCorrelation.h:144
 AliAnalysisTaskJetHadronCorrelation.h:145
 AliAnalysisTaskJetHadronCorrelation.h:146
 AliAnalysisTaskJetHadronCorrelation.h:147
 AliAnalysisTaskJetHadronCorrelation.h:148
 AliAnalysisTaskJetHadronCorrelation.h:149
 AliAnalysisTaskJetHadronCorrelation.h:150
 AliAnalysisTaskJetHadronCorrelation.h:151
 AliAnalysisTaskJetHadronCorrelation.h:152
 AliAnalysisTaskJetHadronCorrelation.h:153
 AliAnalysisTaskJetHadronCorrelation.h:154
 AliAnalysisTaskJetHadronCorrelation.h:155
 AliAnalysisTaskJetHadronCorrelation.h:156
 AliAnalysisTaskJetHadronCorrelation.h:157
 AliAnalysisTaskJetHadronCorrelation.h:158
 AliAnalysisTaskJetHadronCorrelation.h:159
 AliAnalysisTaskJetHadronCorrelation.h:160
 AliAnalysisTaskJetHadronCorrelation.h:161
 AliAnalysisTaskJetHadronCorrelation.h:162
 AliAnalysisTaskJetHadronCorrelation.h:163
 AliAnalysisTaskJetHadronCorrelation.h:164
 AliAnalysisTaskJetHadronCorrelation.h:165
 AliAnalysisTaskJetHadronCorrelation.h:166
 AliAnalysisTaskJetHadronCorrelation.h:167
 AliAnalysisTaskJetHadronCorrelation.h:168
 AliAnalysisTaskJetHadronCorrelation.h:169
 AliAnalysisTaskJetHadronCorrelation.h:170
 AliAnalysisTaskJetHadronCorrelation.h:171
 AliAnalysisTaskJetHadronCorrelation.h:172
 AliAnalysisTaskJetHadronCorrelation.h:173
 AliAnalysisTaskJetHadronCorrelation.h:174
 AliAnalysisTaskJetHadronCorrelation.h:175
 AliAnalysisTaskJetHadronCorrelation.h:176
 AliAnalysisTaskJetHadronCorrelation.h:177