]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGJE/UserTasks/AliAnalysisTaskJetHadronCorrelation.cxx
end-of-line normalization
[u/mrichter/AliRoot.git] / PWGJE / UserTasks / AliAnalysisTaskJetHadronCorrelation.cxx
index 620d780dc78e454fa2fde76fdbc815017b79420f..f833776b6f7960299f4328c1ccb049eae7421384 100755 (executable)
-//#include <string.h>\r
-//#include <TStyle.h>\r
-#include <list>\r
-#include <string>\r
-\r
-#include "TTree.h"\r
-#include "TCanvas.h"\r
-#include "AliAnalysisTask.h"\r
-#include "AliInputEventHandler.h"\r
-#include "AliESDtrack.h"\r
-#include "AliAODVertex.h"\r
-#include "AliAODCluster.h"\r
-\r
-#include <TROOT.h>\r
-#include <TRandom.h>\r
-#include <TSystem.h>\r
-#include <TInterpreter.h>\r
-#include <TChain.h>\r
-#include <TFile.h>\r
-#include <TKey.h>\r
-#include <TH1F.h>\r
-#include <TH2F.h>\r
-#include <TH3F.h>\r
-#include <TProfile.h>\r
-#include <TList.h>\r
-#include <TLorentzVector.h>\r
-#include <TClonesArray.h>\r
-#include <TRefArray.h>\r
-\r
-#include "TDatabasePDG.h"\r
-#include "AliAnalysisManager.h"\r
-#include "AliJetFinder.h"\r
-#include "AliJetHeader.h"\r
-#include "AliJetReader.h"\r
-#include "AliJetReaderHeader.h"\r
-#include "AliUA1JetHeaderV1.h"\r
-#include "AliSISConeJetHeader.h"\r
-#include "AliESDEvent.h"\r
-#include "AliAODEvent.h"\r
-#include "AliAODHandler.h"\r
-#include "AliAODInputHandler.h"\r
-#include "AliAODTrack.h"\r
-#include "AliAODMCParticle.h"\r
-#include "AliAODJet.h"\r
-#include "AliAODJetEventBackground.h"\r
-#include "AliMCParticle.h"\r
-#include "AliAODMCParticle.h"\r
-#include "AliMCEventHandler.h"\r
-#include "AliMCEvent.h"\r
-#include "AliStack.h"\r
-\r
-#include "AliAODHeader.h"\r
-#include "AliAODMCHeader.h"\r
-//#include "AliGenPythiaEventHeader.h"\r
-#include "AliJetKineReaderHeader.h"\r
-#include "AliGenCocktailEventHeader.h"\r
-#include "AliInputEventHandler.h"\r
-#include "AliGenEventHeader.h"\r
-#include "AliGenDPMjetEventHeader.h"\r
-\r
-#include "AliAnalysisTaskJetHadronCorrelation.h"\r
-#include "AliAnalysisTaskPhiCorrelations.h"\r
-//#include "AliAnalysisHelperJetTasks.h"\r
-#include "AliPWG4HighPtQAMC.h"\r
-\r
-using std::cout;\r
-using std::endl;\r
-\r
-ClassImp(AliAnalysisTaskJetHadronCorrelation)\r
-\r
-                               //________________________________________________________________________\r
-                               AliAnalysisTaskJetHadronCorrelation::AliAnalysisTaskJetHadronCorrelation():\r
-                                                               AliAnalysisTaskSE(),\r
-                                                               fUseAODInput(kFALSE),\r
-                                                               fJetBranch("jets"),\r
-                                                               fNonStdFile(""),\r
-                                                               fAODIn(0x0),\r
-                                                               fAODOut(0x0),\r
-                                                               fAODExtension(0x0),\r
-                                                               JFAlg("ANTIKT"),         \r
-                                                               Radius(0.4),\r
-                                                               Filtermask(272),\r
-                                                               BackM(0),\r
-                                                               TrackPtcut(0.15),\r
-                                                               SkipCone(0),\r
-                                                               IsMC(kTRUE),\r
-                                                               JetEScale(1.),\r
-                                                               TrackEScale(1.),\r
-                                                               fxsec(0.),\r
-                                                               ftrial(1.),\r
-                                                               fHistList(0x0), // Output list\r
-  fIfiles(0),\r
-                                                               fH1Events(0x0),\r
-                                                               fH1Xsec(0x0),\r
-                                                               fH1Trials(0x0),\r
-                                                               fH1Track_pt              (0x0),\r
-                                                               fH1Track_phi             (0x0),\r
-                                                               fH1Track_eta             (0x0),\r
-                                                               fH1MCTrack_pt            (0x0),\r
-                                                               fH1MCTrack_phi           (0x0),\r
-                                                               fH1MCTrack_eta           (0x0),\r
-                                                               fH1MCPrimTrack_pt        (0x0),\r
-                                                               fH1MCPrimTrack_phi       (0x0),\r
-                                                               fH1MCPrimTrack_eta       (0x0),\r
-                                                               fH1Jet_pt                (0x0),\r
-                                                               fH1Jet_phi               (0x0),\r
-                                                               fH1Jet_eta               (0x0),\r
-                                                               fH1leadJet_pt            (0x0),\r
-                                                               fH1leadJet_pt_dijet      (0x0),\r
-                                                               fH1subJet_pt_dijet       (0x0),\r
-                                                               fH1JetMC_pt              (0x0),\r
-                                                               fH1leadJetMC_pt          (0x0),\r
-                                                               fH1leadJetMC_pt_dijet    (0x0),\r
-                                                               fH1subJetMC_pt_dijet     (0x0),\r
-                                                               fH2JetsJet_dphi          (0x0),\r
-                                                               fH2JetsJet_deta          (0x0),\r
-                                                               fH2JetsJet_Aj            (0x0),\r
-                                                               fH2JetsJet_pt            (0x0),\r
-                                                               fH2JetsJetMC_dphi        (0x0),\r
-                                                               fH2JetsJetMC_deta        (0x0),\r
-                                                               fH2JetsJetMC_Aj          (0x0),\r
-                                                               fH2JetsJetMC_pt          (0x0),\r
-                                                               fH2Mult_Mtrack           (0x0),\r
-                                                               fH2Mult_Mlead            (0x0),\r
-                                                               fH2Mult_Mjet             (0x0),\r
-                                                               fH2Mult_Njet             (0x0),\r
-                                                               fH2Mult_Aj               (0x0),\r
-                                                               fH2Mlead_Aj              (0x0),\r
-                                                               fH2Jet_pt_Mlead          (0x0),\r
-                                                               fH2Jet_pt_Munder         (0x0),\r
-                                                               fH2leadJetMCptResolution (0x0),\r
-                                                               fH2TrackMCptResolution   (0x0),\r
-                                                               fH2TrackMCptEfficiency   (0x0),\r
-                                                               fH2AjCorrelation_MCRec   (0x0),\r
-                                                               fH2MleadCorrelation_MCRec(0x0)\r
-{\r
-                               for(int j=0;j<5;j++){\r
-                                                               fH1ndiJ_ediv                             [j]=0;\r
-                                                               fH1Aj                                    [j]=0;\r
-                                                               fH1Mlead                                 [j]=0;\r
-                                                               fH1leadJetMC_dphiResolution              [j]=0;\r
-                                                               fH1subJetMC_dphiResolution               [j]=0;\r
-                                                               fH1leadJetMC_Efficiency                  [j]=0;\r
-                                                               fH1subJetMC_Efficiency                   [j]=0;\r
-                                                               for(int k=0;k<5;k++){\r
-                                                                                               fH1JetHadron_dphi_ediv           [j][k]=0;\r
-                                                                                               fH1JetHadron_dphi_tptweight_ediv [j][k]=0;\r
-                                                                                               fH1JetHadron_dphi_tJptweight_ediv[j][k]=0;\r
-                                                                                               fH1JetHadronMC_dphi_ediv           [j][k]=0;\r
-                                                                                               fH1JetHadronMC_dphi_tptweight_ediv [j][k]=0;\r
-                                                                                               fH1JetHadronMC_dphi_tJptweight_ediv[j][k]=0;\r
-                                                                                               fH1JetHadronMCPrim_dphi_ediv           [j][k]=0;\r
-                                                                                               fH1JetHadronMCPrim_dphi_tptweight_ediv [j][k]=0;\r
-                                                                                               fH1JetHadronMCPrim_dphi_tJptweight_ediv[j][k]=0;\r
-                                                               }\r
-                               }\r
-                               for(int j=0;j<3;j++){\r
-                                                               fH1ndiJ_2040Mlead                               [j]=0;\r
-                                                               fH1ndiJ_2040Aj                                  [j]=0;\r
-                                                               for(int k=0;k<5;k++){\r
-                                                                                               fH1JetHadron_dphi_tptweight2040_Mleaddep[j][k]=0;\r
-                                                                                               fH1JetHadron_dphi_tptweight2040_Ajdep   [j][k]=0;\r
-                                                                                               fH1JetHadronMC_dphi_tptweight2040_Mleaddep[j][k]=0;\r
-                                                                                               fH1JetHadronMC_dphi_tptweight2040_Ajdep   [j][k]=0;\r
-                                                                                               fH1JetHadronMCPrim_dphi_tptweight2040_Mleaddep[j][k]=0;\r
-                                                                                               fH1JetHadronMCPrim_dphi_tptweight2040_Ajdep   [j][k]=0;\r
-                                                               }\r
-                               }\r
-                               // Default constructor\r
-}\r
-\r
-//________________________________________________________________________\r
-AliAnalysisTaskJetHadronCorrelation::AliAnalysisTaskJetHadronCorrelation(const char *name):\r
-                               AliAnalysisTaskSE(name),\r
-                               fUseAODInput(kFALSE),\r
-                               fJetBranch("jets"),\r
-                               fNonStdFile(""),\r
-                               fAODIn(0x0), \r
-                               fAODOut(0x0), \r
-                               fAODExtension(0x0),\r
-                               JFAlg("ANTIKT"),         \r
-                               Radius(0.4),\r
-                               Filtermask(272),\r
-                               BackM(0),\r
-                               TrackPtcut(0.15),\r
-                               SkipCone(0),\r
-                               IsMC(kTRUE),\r
-                               JetEScale(1.),\r
-                               TrackEScale(1.),\r
-                               fxsec(0.),\r
-                               ftrial(1.),\r
-                               fHistList(0x0), // Output list\r
-                               fIfiles(0),\r
-                               fH1Events(0x0),\r
-                               fH1Xsec(0x0),\r
-                               fH1Trials(0x0),\r
-                               fH1Track_pt              (0x0),\r
-                               fH1Track_phi             (0x0),\r
-                               fH1Track_eta             (0x0),\r
-                               fH1MCTrack_pt            (0x0),\r
-                               fH1MCTrack_phi           (0x0),\r
-                               fH1MCTrack_eta           (0x0),\r
-                               fH1MCPrimTrack_pt        (0x0),\r
-                               fH1MCPrimTrack_phi       (0x0),\r
-                               fH1MCPrimTrack_eta       (0x0),\r
-                               fH1Jet_pt                (0x0),\r
-                               fH1Jet_phi               (0x0),\r
-                               fH1Jet_eta               (0x0),\r
-                               fH1leadJet_pt            (0x0),\r
-                               fH1leadJet_pt_dijet      (0x0),\r
-                               fH1subJet_pt_dijet       (0x0),\r
-                               fH1JetMC_pt              (0x0),\r
-                               fH1leadJetMC_pt          (0x0),\r
-                               fH1leadJetMC_pt_dijet    (0x0),\r
-                               fH1subJetMC_pt_dijet     (0x0),\r
-                               fH2JetsJet_dphi          (0x0),\r
-                               fH2JetsJet_deta          (0x0),\r
-                               fH2JetsJet_Aj            (0x0),\r
-                               fH2JetsJet_pt            (0x0),\r
-                               fH2JetsJetMC_dphi        (0x0),\r
-                               fH2JetsJetMC_deta        (0x0),\r
-                               fH2JetsJetMC_Aj          (0x0),\r
-                               fH2JetsJetMC_pt          (0x0),\r
-                               fH2Mult_Mtrack           (0x0),\r
-                               fH2Mult_Mlead            (0x0),\r
-                               fH2Mult_Mjet             (0x0),\r
-                               fH2Mult_Njet             (0x0),\r
-                               fH2Mult_Aj               (0x0),\r
-                               fH2Mlead_Aj              (0x0),\r
-                               fH2Jet_pt_Mlead          (0x0),\r
-                               fH2Jet_pt_Munder         (0x0),\r
-                               fH2leadJetMCptResolution (0x0),\r
-                               fH2TrackMCptResolution   (0x0),\r
-                               fH2TrackMCptEfficiency   (0x0),\r
-                               fH2AjCorrelation_MCRec   (0x0),\r
-                               fH2MleadCorrelation_MCRec(0x0)\r
-{\r
-\r
-                               for(int j=0;j<5;j++){\r
-                                                               fH1ndiJ_ediv                             [j]=0;\r
-                                                               fH1Aj                                    [j]=0;\r
-                                                               fH1Mlead                                 [j]=0;\r
-                                                               fH1leadJetMC_dphiResolution              [j]=0;\r
-                                                               fH1subJetMC_dphiResolution               [j]=0;\r
-                                                               fH1leadJetMC_Efficiency                  [j]=0;\r
-                                                               fH1subJetMC_Efficiency                   [j]=0;\r
-                                                               for(int k=0;k<5;k++){\r
-                                                                                               fH1JetHadron_dphi_ediv           [j][k]=0;\r
-                                                                                               fH1JetHadron_dphi_tptweight_ediv [j][k]=0;\r
-                                                                                               fH1JetHadron_dphi_tJptweight_ediv[j][k]=0;\r
-                                                                                               fH1JetHadronMC_dphi_ediv           [j][k]=0;\r
-                                                                                               fH1JetHadronMC_dphi_tptweight_ediv [j][k]=0;\r
-                                                                                               fH1JetHadronMC_dphi_tJptweight_ediv[j][k]=0;\r
-                                                                                               fH1JetHadronMCPrim_dphi_ediv           [j][k]=0;\r
-                                                                                               fH1JetHadronMCPrim_dphi_tptweight_ediv [j][k]=0;\r
-                                                                                               fH1JetHadronMCPrim_dphi_tJptweight_ediv[j][k]=0;\r
-                                                               }\r
-                               }\r
-                               for(int j=0;j<3;j++){\r
-                                                               fH1ndiJ_2040Mlead                               [j]=0;\r
-                                                               fH1ndiJ_2040Aj                                  [j]=0;\r
-                                                               for(int k=0;k<5;k++){\r
-                                                                                               fH1JetHadron_dphi_tptweight2040_Mleaddep[j][k]=0;\r
-                                                                                               fH1JetHadron_dphi_tptweight2040_Ajdep   [j][k]=0;\r
-                                                                                               fH1JetHadronMC_dphi_tptweight2040_Mleaddep[j][k]=0;\r
-                                                                                               fH1JetHadronMC_dphi_tptweight2040_Ajdep   [j][k]=0;\r
-                                                                                               fH1JetHadronMCPrim_dphi_tptweight2040_Mleaddep[j][k]=0;\r
-                                                                                               fH1JetHadronMCPrim_dphi_tptweight2040_Ajdep   [j][k]=0;\r
-                                                               }\r
-                               }\r
-\r
-                               // Default constructor\r
-                               // Constructor\r
-                               // Define input and output slots here\r
-                               // Input slot #0 works with a TChain\r
-                               DefineInput(0, TChain::Class());\r
-                               // Output slot #0 id reserved by the base class for AOD\r
-                               // Output slot #1 writes into a TH1 container\r
-                               DefineOutput(1, TList::Class());\r
-}\r
-\r
-//________________________________________________________________________\r
-void AliAnalysisTaskJetHadronCorrelation::UserCreateOutputObjects()\r
-{\r
-                               // Create histograms\r
-                               // Called once\r
-\r
-                               fHistList = new TList();fHistList->SetOwner(kTRUE); cout<<"TList is created for output "<<endl;\r
-                               //if (!fHistList){ fHistList = new TList();fHistList->SetOwner(kTRUE); cout<<"TList is created for output "<<endl;}\r
-\r
-                               Bool_t oldStatus = TH1::AddDirectoryStatus();\r
-                               TH1::AddDirectory(kFALSE);\r
-                               Float_t pi=TMath::Pi();\r
-\r
-\r
-                               char *histname;\r
-\r
-                               fH1Events                  = new TH1F    ("Events"        ,"Events"            ,1,0,1);\r
-                               fH1Xsec                    = new TProfile("Xsec"          ,"Xsec"              ,1,0,1);\r
-                               fH1Trials                  = new TH1F    ("Trials"        ,"Trials"            ,1,0,1);\r
-\r
-                               fH1Track_pt                = new TH1F("Track_pt"          ,"Track_pt"          ,200,0,200);\r
-                               fH1Track_phi               = new TH1F("Track_phi"         ,"Track_phi"         ,100,0,2*pi);\r
-                               fH1Track_eta               = new TH1F("Track_eta"         ,"Track_eta"         ,100,-1.,1);\r
-                               fH1MCTrack_pt              = new TH1F("MCTrack_pt"        ,"MCTrack_pt"        ,200,0,200);\r
-                               fH1MCTrack_phi             = new TH1F("MCTrack_phi"       ,"MCTrack_phi"       ,100,0,2*pi);\r
-                               fH1MCTrack_eta             = new TH1F("MCTrack_eta"       ,"MCTrack_eta"       ,100,-1.,1);\r
-                               fH1MCPrimTrack_pt          = new TH1F("MCPrimTrack_pt"    ,"MCPrimTrack_pt"    ,200,0,200);\r
-                               fH1MCPrimTrack_phi         = new TH1F("MCPrimTrack_phi"   ,"MCPrimTrack_phi"   ,100,0,2*pi);\r
-                               fH1MCPrimTrack_eta         = new TH1F("MCPrimTrack_eta"   ,"MCPrimTrack_eta"   ,100,-1.,1);\r
-                               fH1Jet_pt                  = new TH1F("Jet_pt"            ,"Jet_pt"            ,200,0,200);\r
-                               fH1Jet_phi                 = new TH1F("Jet_phi"           ,"Jet_pt"            ,100,0,2*pi);\r
-                               fH1Jet_eta                 = new TH1F("Jet_eta"           ,"Jet_pt"            ,100,-1.,1);\r
-                               fH1leadJet_pt              = new TH1F("leadJet_pt"        ,"leadJet_pt"        ,200,0,200);\r
-                               fH1leadJet_pt_dijet        = new TH1F("leadJet_pt_dijet"  ,"leadJet_pt_dijet"  ,200,0,200);\r
-                               fH1subJet_pt_dijet         = new TH1F("subJet_pt_dijet"   ,"subJet_pt_dijet"   ,200,0,200);\r
-                               fH1JetMC_pt                = new TH1F("JetMC_pt"          ,"JetMC_pt"          ,200,0,200);\r
-                               fH1leadJetMC_pt            = new TH1F("leadJetMC_pt"      ,"leadJetMC_pt"      ,200,0,200);\r
-                               fH1leadJetMC_pt_dijet      = new TH1F("leadJetMC_pt_dijet","leadJetMC_pt_dijet",200,0,200);\r
-                               fH1subJetMC_pt_dijet       = new TH1F("subJetMC_pt_dijet" ,"subJetMC_pt_dijet" ,200,0,200);\r
-                               fH2JetsJet_dphi            = new TH2F("JetsJet_dphi"      ,"JetsJet_dphi"      ,200,0,200,100,-2*pi,2*pi);\r
-                               fH2JetsJet_deta            = new TH2F("JetsJet_deta"      ,"JetsJet_deta"      ,200,0,200,100,-1.5,1.5);\r
-                               fH2JetsJet_Aj              = new TH2F("JetsJet_Aj"        ,"JetsJet_Aj"        ,200,0,200,100,0,1.2);\r
-                               fH2JetsJet_pt              = new TH2F("JetsJet_pt"        ,"JetsJet_pt"        ,200,0,200,200,0,200);\r
-                               fH2JetsJetMC_dphi          = new TH2F("JetsJetMC_dphi"    ,"JetsJetMC_dphi"    ,200,0,200,100,-2*pi,2*pi);\r
-                               fH2JetsJetMC_deta          = new TH2F("JetsJetMC_deta"    ,"JetsJetMC_deta"    ,200,0,200,100,-1.5,1.5);\r
-                               fH2JetsJetMC_Aj            = new TH2F("JetsJetMC_Aj"      ,"JetsJetMC_Aj"      ,200,0,200,100,0,1.2);\r
-                               fH2JetsJetMC_pt            = new TH2F("JetsJetMC_pt"      ,"JetsJetMC_pt"      ,200,0,200,200,0,200);\r
-                               fH2Mult_Mtrack             = new TH2F("Mult_Mtrack"       ,"Mult_Mtrack"       ,50,0,250,50,0,250); \r
-                               fH2Mult_Mlead              = new TH2F("Mult_Mlead"        ,"Mult_Mlead"        ,50,0,250,25,0,25);   \r
-                               fH2Mult_Mjet               = new TH2F("Mult_Mjet"         ,"Mult_Mjet"         ,50,0,250,50,0,100);  \r
-                               fH2Mult_Njet               = new TH2F("Mult_Njet"         ,"Mult_Njet"         ,50,0,250,50,0,50);   \r
-                               fH2Mult_Aj                 = new TH2F("Mult_Aj"           ,"Mult_Aj"           ,50,0,250,25,0,1.2);  \r
-                               fH2Mlead_Aj                = new TH2F("Mlead_Aj"          ,"Mlead_Aj"          ,25,0,25,25,0,1.2);   \r
-                               fH2Jet_pt_Mlead            = new TH2F("Jet_pt_Mlead"      ,"Jet_pt_Mlead"      ,50,0,200,25,0,25);   \r
-                               fH2Jet_pt_Munder           = new TH2F("Jet_pt_Munder"     ,"Jet_pt_Munder"     ,50,0,200,25,0,5);    \r
-                               fH2leadJetMCptResolution   = new TH2F("leadJetMCptResolution" ,"leadJetMCptResolution" ,200,0,200,200,0,200);    \r
-                               fH2TrackMCptResolution     = new TH2F("TrackMCptResolution"   ,"TrackMCptResolution"   ,200,0,200,200,0,200);    \r
-                               fH2TrackMCptEfficiency     = new TH2F("TrackMCptEfficiency"   ,"TrackMCptEfficiency"   ,200,0,200,100,0,1.2);    \r
-                               fH2AjCorrelation_MCRec     = new TH2F("AjCorrelation_MCRec"   ,"AjCorrelation_MCRec"   ,60,0,1.2,60,0,1.2);    \r
-                               fH2MleadCorrelation_MCRec  = new TH2F("MleadCorrelation_MCRec","MleadCorrelation_MCRec",60,0,60,60,0,60);    \r
-\r
-                               for(int j=0;j<5;j++){\r
-                                                               histname = Form("ndiJ_ediv%d",j);\r
-                                                               fH1ndiJ_ediv[j]= new TH1F(histname,histname,1,1,2);\r
-                                                               histname        = Form("Aj%d",j);                    \r
-                                                               fH1Aj[j]    = new TH1F(histname,histname,50,0,1.2);  \r
-                                                               histname        = Form("Mlead%d",j);                 \r
-                                                               fH1Mlead[j] = new TH1F(histname,histname,50,0,50);   \r
-                                                               histname = Form("leadJetMC_dphiResolution%d",j);\r
-                                                               fH1leadJetMC_dphiResolution[j] = new TH1F(histname,histname,200,-2*pi,2*pi);\r
-                                                               histname = Form("subJetMC_dphiResolution%d",j);\r
-                                                               fH1subJetMC_dphiResolution[j] = new TH1F(histname,histname,200,-2*pi,2*pi);\r
-                                                               histname = Form("leadJetMC_Efficiency%d",j);\r
-                                                               fH1leadJetMC_Efficiency[j] = new TH1F(histname,histname,100,0,1.2);\r
-                                                               histname = Form("subJetMC_Efficiency%d",j);\r
-                                                               fH1subJetMC_Efficiency[j] = new TH1F(histname,histname,100,0,1.2);\r
-                                                               for(int k=0;k<5;k++){\r
-                                                                                               histname = Form("JetHadron_dphi_ediv%d%d",j,k);\r
-                                                                                               fH1JetHadron_dphi_ediv             [j][k]= new TH1F(histname,histname,200,-1./2.*pi,3./2.*pi);\r
-                                                                                               histname = Form("JetHadron_dphi_tptweight_ediv%d%d",j,k);\r
-                                                                                               fH1JetHadron_dphi_tptweight_ediv   [j][k]= new TH1F(histname,histname,200,-1./2.*pi,3./2.*pi);\r
-                                                                                               histname = Form("JetHadron_dphi_tJptweight_ediv%d%d",j,k);\r
-                                                                                               fH1JetHadron_dphi_tJptweight_ediv  [j][k]= new TH1F(histname,histname,200,-1./2.*pi,3./2.*pi);\r
-                                                                                               histname = Form("JetHadronMC_dphi_ediv%d%d",j,k);\r
-                                                                                               fH1JetHadronMC_dphi_ediv             [j][k]= new TH1F(histname,histname,200,-1./2.*pi,3./2.*pi);\r
-                                                                                               histname = Form("JetHadronMC_dphi_tptweight_ediv%d%d",j,k);\r
-                                                                                               fH1JetHadronMC_dphi_tptweight_ediv   [j][k]= new TH1F(histname,histname,200,-1./2.*pi,3./2.*pi);\r
-                                                                                               histname = Form("JetHadronMC_dphi_tJptweight_ediv%d%d",j,k);\r
-                                                                                               fH1JetHadronMC_dphi_tJptweight_ediv  [j][k]= new TH1F(histname,histname,200,-1./2.*pi,3./2.*pi);\r
-                                                                                               histname = Form("JetHadronMCPrim_dphi_ediv%d%d",j,k);\r
-                                                                                               fH1JetHadronMCPrim_dphi_ediv             [j][k]= new TH1F(histname,histname,200,-1./2.*pi,3./2.*pi);\r
-                                                                                               histname = Form("JetHadronMCPrim_dphi_tptweight_ediv%d%d",j,k);\r
-                                                                                               fH1JetHadronMCPrim_dphi_tptweight_ediv   [j][k]= new TH1F(histname,histname,200,-1./2.*pi,3./2.*pi);\r
-                                                                                               histname = Form("JetHadronMCPrim_dphi_tJptweight_ediv%d%d",j,k);\r
-                                                                                               fH1JetHadronMCPrim_dphi_tJptweight_ediv  [j][k]= new TH1F(histname,histname,200,-1./2.*pi,3./2.*pi);\r
-                                                               }\r
-                               }\r
-                               for(int j=0;j<3;j++){\r
-                                                               histname = Form("ndiJ_2040Mlead%d",j);\r
-                                                               fH1ndiJ_2040Mlead[j]= new TH1F(histname,histname,1,1,2);\r
-                                                               histname = Form("ndiJ_2040Aj%d",j);\r
-                                                               fH1ndiJ_2040Aj[j]= new TH1F(histname,histname,1,1,2);\r
-                                                               for(int k=0;k<5;k++){\r
-                                                                                               histname = Form("JetHadron_dphi_tptweight2040_Mleaddep%d%d",j,k);\r
-                                                                                               fH1JetHadron_dphi_tptweight2040_Mleaddep   [j][k]= new TH1F(histname,histname,200,-1./2.*pi,3./2.*pi);\r
-                                                                                               histname = Form("JetHadron_dphi_tptweight2040_Ajdep%d%d",j,k);\r
-                                                                                               fH1JetHadron_dphi_tptweight2040_Ajdep      [j][k]= new TH1F(histname,histname,200,-1./2.*pi,3./2.*pi);\r
-                                                                                               histname = Form("JetHadronMC_dphi_tptweight2040_Mleaddep%d%d",j,k);\r
-                                                                                               fH1JetHadronMC_dphi_tptweight2040_Mleaddep   [j][k]= new TH1F(histname,histname,200,-1./2.*pi,3./2.*pi);\r
-                                                                                               histname = Form("JetHadronMC_dphi_tptweight2040_Ajdep%d%d",j,k);\r
-                                                                                               fH1JetHadronMC_dphi_tptweight2040_Ajdep      [j][k]= new TH1F(histname,histname,200,-1./2.*pi,3./2.*pi);\r
-                                                                                               histname = Form("JetHadronMCPrim_dphi_tptweight2040_Mleaddep%d%d",j,k);\r
-                                                                                               fH1JetHadronMCPrim_dphi_tptweight2040_Mleaddep   [j][k]= new TH1F(histname,histname,200,-1./2.*pi,3./2.*pi);\r
-                                                                                               histname = Form("JetHadronMCPrim_dphi_tptweight2040_Ajdep%d%d",j,k);\r
-                                                                                               fH1JetHadronMCPrim_dphi_tptweight2040_Ajdep      [j][k]= new TH1F(histname,histname,200,-1./2.*pi,3./2.*pi);\r
-                                                               }\r
-                               }\r
-\r
-\r
-                               if(IsMC){\r
-                                                               fHistList->Add(fH1Events            );\r
-                                                               fHistList->Add(fH1Xsec              );\r
-                                                               fHistList->Add(fH1Trials            );\r
-                                                               fHistList->Add(fH1Track_pt          );\r
-                                                               fHistList->Add(fH1Track_phi         );\r
-                                                               fHistList->Add(fH1Track_eta         );\r
-                                                               fHistList->Add(fH1MCTrack_pt        );\r
-                                                               fHistList->Add(fH1MCTrack_phi       );\r
-                                                               fHistList->Add(fH1MCTrack_eta       );\r
-                                                               fHistList->Add(fH1MCPrimTrack_pt    );\r
-                                                               fHistList->Add(fH1MCPrimTrack_phi   );\r
-                                                               fHistList->Add(fH1MCPrimTrack_eta   );\r
-                                                               fHistList->Add(fH1Jet_pt            );\r
-                                                               fHistList->Add(fH1Jet_phi           );\r
-                                                               fHistList->Add(fH1Jet_eta           );\r
-                                                               fHistList->Add(fH1leadJet_pt        );\r
-                                                               fHistList->Add(fH1leadJet_pt_dijet  );\r
-                                                               fHistList->Add(fH1subJet_pt_dijet   );\r
-                                                               fHistList->Add(fH1JetMC_pt          );\r
-                                                               fHistList->Add(fH1leadJetMC_pt      );\r
-                                                               fHistList->Add(fH1leadJetMC_pt_dijet);\r
-                                                               fHistList->Add(fH1subJetMC_pt_dijet );\r
-                                                               fHistList->Add(fH2JetsJet_dphi      );\r
-                                                               fHistList->Add(fH2JetsJet_deta      );\r
-                                                               fHistList->Add(fH2JetsJet_Aj        );\r
-                                                               fHistList->Add(fH2JetsJet_pt        );\r
-                                                               fHistList->Add(fH2JetsJetMC_dphi    );\r
-                                                               fHistList->Add(fH2JetsJetMC_deta    );\r
-                                                               fHistList->Add(fH2JetsJetMC_Aj      );\r
-                                                               fHistList->Add(fH2JetsJetMC_pt      );\r
-                                                               fHistList->Add(fH2Mult_Mtrack       );\r
-                                                               fHistList->Add(fH2Mult_Mlead        ); \r
-                                                               fHistList->Add(fH2Mult_Mjet         );  \r
-                                                               fHistList->Add(fH2Mult_Njet         );  \r
-                                                               fHistList->Add(fH2Mult_Aj           );    \r
-                                                               fHistList->Add(fH2Mlead_Aj          );   \r
-                                                               fHistList->Add(fH2Jet_pt_Mlead      );   \r
-                                                               fHistList->Add(fH2Jet_pt_Munder     );  \r
-                                                               fHistList->Add(fH2leadJetMCptResolution );\r
-                                                               fHistList->Add(fH2TrackMCptResolution   );\r
-                                                               fHistList->Add(fH2TrackMCptEfficiency   );\r
-                                                               fHistList->Add(fH2AjCorrelation_MCRec   );\r
-                                                               fHistList->Add(fH2MleadCorrelation_MCRec);\r
-                                                               for(int j=0;j<5;j++){\r
-                                                                                               fHistList->Add(fH1ndiJ_ediv                        [j]);\r
-                                                                                               fHistList->Add(fH1Aj                               [j]);\r
-                                                                                               fHistList->Add(fH1Mlead                            [j]);\r
-                                                                                               fHistList->Add(fH1leadJetMC_dphiResolution         [j]);\r
-                                                                                               fHistList->Add(fH1subJetMC_dphiResolution          [j]);\r
-                                                                                               fHistList->Add(fH1leadJetMC_Efficiency             [j]);\r
-                                                                                               fHistList->Add(fH1subJetMC_Efficiency              [j]);\r
-                                                                                               for(int k=0;k<5;k++){\r
-                                                                                                                               fHistList->Add(fH1JetHadron_dphi_ediv               [j][k]);\r
-                                                                                                                               fHistList->Add(fH1JetHadron_dphi_tptweight_ediv     [j][k]);\r
-                                                                                                                               fHistList->Add(fH1JetHadron_dphi_tJptweight_ediv    [j][k]);\r
-                                                                                                                               fHistList->Add(fH1JetHadronMC_dphi_ediv               [j][k]);\r
-                                                                                                                               fHistList->Add(fH1JetHadronMC_dphi_tptweight_ediv     [j][k]);\r
-                                                                                                                               fHistList->Add(fH1JetHadronMC_dphi_tJptweight_ediv    [j][k]);\r
-                                                                                                                               fHistList->Add(fH1JetHadronMCPrim_dphi_ediv               [j][k]);\r
-                                                                                                                               fHistList->Add(fH1JetHadronMCPrim_dphi_tptweight_ediv     [j][k]);\r
-                                                                                                                               fHistList->Add(fH1JetHadronMCPrim_dphi_tJptweight_ediv    [j][k]);\r
-                                                                                               }\r
-                                                               }\r
-                                                               for(int j=0;j<3;j++){\r
-                                                                                               fHistList->Add(fH1ndiJ_2040Mlead    [j]);\r
-                                                                                               fHistList->Add(fH1ndiJ_2040Aj       [j]);\r
-                                                                                               for(int k=0;k<5;k++){\r
-                                                                                                                               fHistList->Add(fH1JetHadron_dphi_tptweight2040_Mleaddep     [j][k]);\r
-                                                                                                                               fHistList->Add(fH1JetHadron_dphi_tptweight2040_Ajdep        [j][k]);\r
-                                                                                                                               fHistList->Add(fH1JetHadronMC_dphi_tptweight2040_Mleaddep     [j][k]);\r
-                                                                                                                               fHistList->Add(fH1JetHadronMC_dphi_tptweight2040_Ajdep        [j][k]);\r
-                                                                                                                               fHistList->Add(fH1JetHadronMCPrim_dphi_tptweight2040_Mleaddep     [j][k]);\r
-                                                                                                                               fHistList->Add(fH1JetHadronMCPrim_dphi_tptweight2040_Ajdep        [j][k]);\r
-                                                                                               }\r
-                                                               }\r
-                               }\r
-                               else{\r
-                                                               fHistList->Add(fH1Events            );\r
-                                                               fHistList->Add(fH1Track_pt          );\r
-                                                               fHistList->Add(fH1Track_phi         );\r
-                                                               fHistList->Add(fH1Track_eta         );\r
-                                                               fHistList->Add(fH1Jet_pt            );\r
-                                                               fHistList->Add(fH1Jet_phi           );\r
-                                                               fHistList->Add(fH1Jet_eta           );\r
-                                                               fHistList->Add(fH1leadJet_pt        );\r
-                                                               fHistList->Add(fH1leadJet_pt_dijet  );\r
-                                                               fHistList->Add(fH1subJet_pt_dijet   );\r
-                                                               fHistList->Add(fH2JetsJet_dphi      );\r
-                                                               fHistList->Add(fH2JetsJet_deta      );\r
-                                                               fHistList->Add(fH2JetsJet_Aj        );\r
-                                                               fHistList->Add(fH2JetsJet_pt        );\r
-                                                               fHistList->Add(fH2Mult_Mtrack       );\r
-                                                               fHistList->Add(fH2Mult_Mlead        ); \r
-                                                               fHistList->Add(fH2Mult_Mjet         );  \r
-                                                               fHistList->Add(fH2Mult_Njet         );  \r
-                                                               fHistList->Add(fH2Mult_Aj           );    \r
-                                                               fHistList->Add(fH2Mlead_Aj          );   \r
-                                                               fHistList->Add(fH2Jet_pt_Mlead      );   \r
-                                                               fHistList->Add(fH2Jet_pt_Munder     );  \r
-                                                               for(int j=0;j<5;j++){\r
-                                                                                               fHistList->Add(fH1ndiJ_ediv                        [j]);\r
-                                                                                               fHistList->Add(fH1Aj                               [j]);\r
-                                                                                               fHistList->Add(fH1Mlead                            [j]);\r
-                                                                                               for(int k=0;k<5;k++){\r
-                                                                                                                               fHistList->Add(fH1JetHadron_dphi_ediv               [j][k]);\r
-                                                                                                                               fHistList->Add(fH1JetHadron_dphi_tptweight_ediv     [j][k]);\r
-                                                                                                                               fHistList->Add(fH1JetHadron_dphi_tJptweight_ediv    [j][k]);\r
-                                                                                               }\r
-                                                               }\r
-                                                               for(int j=0;j<3;j++){\r
-                                                                                               fHistList->Add(fH1ndiJ_2040Mlead    [j]);\r
-                                                                                               fHistList->Add(fH1ndiJ_2040Aj       [j]);\r
-                                                                                               for(int k=0;k<5;k++){\r
-                                                                                                                               fHistList->Add(fH1JetHadron_dphi_tptweight2040_Mleaddep     [j][k]);\r
-                                                                                                                               fHistList->Add(fH1JetHadron_dphi_tptweight2040_Ajdep        [j][k]);\r
-                                                                                               }\r
-                                                               }\r
-                               }\r
-\r
-                               // =========== Switch on Sumw2 for all histos ===========\r
-                               for (Int_t i=0; i<fHistList->GetEntries(); ++i) \r
-                               {\r
-                                                               TH1 *h1 = dynamic_cast<TH1*>(fHistList->At(i));\r
-                                                               if (h1)\r
-                                                               {\r
-                                                                                               h1->Sumw2();\r
-                                                                                               continue;\r
-                                                               }\r
-                                                               THnSparse *hn = dynamic_cast<THnSparse*>(fHistList->At(i));\r
-                                                               if(hn)hn->Sumw2();\r
-                               }\r
-                               TH1::AddDirectory(oldStatus);\r
-\r
-                               PostData(1,fHistList);\r
-}\r
-\r
-\r
-//----------------------------------------------------------------------                                                 \r
-void AliAnalysisTaskJetHadronCorrelation::Init()\r
-{\r
-                               // Initialization                                                                                                    \r
-                               if (fDebug) printf("AnalysisTaskJetHadronCorrelation::Init() \n");\r
-\r
-}\r
-\r
-Bool_t AliAnalysisTaskJetHadronCorrelation::Notify()\r
-{\r
-\r
-\r
-                               fAODIn = dynamic_cast<AliAODEvent*>(InputEvent());\r
-                               fAODOut = AODEvent();\r
-                               if(fNonStdFile.Length()!=0){\r
-                                                               AliAODHandler *aodH = dynamic_cast<AliAODHandler*>(AliAnalysisManager::GetAnalysisManager()->GetOutputEventHandler());\r
-                                                               fAODExtension = (aodH?aodH->GetExtension(fNonStdFile.Data()):0);\r
-                                                               if(fAODExtension){\r
-                                                                                               if(fDebug>1)Printf("AODExtension found for %s ",fNonStdFile.Data());\r
-                                                               }\r
-                               }\r
-\r
-                               TTree *tree = AliAnalysisManager::GetAnalysisManager()->GetTree();\r
-                               fxsec=0;\r
-                               ftrial=1;\r
-\r
-                               if(tree){\r
-                                                               TFile *curfile = tree->GetCurrentFile();\r
-                                                               if(!curfile){\r
-                                                                                               Error("Notify","No current file");\r
-                                                                                               return kFALSE;\r
-                                                               }\r
-                                                               if(IsMC){\r
-                                                                                               AliPWG4HighPtQAMC::PythiaInfoFromFile(curfile->GetName(),fxsec,ftrial);\r
-                                                                                               fH1Xsec  ->Fill(0.,fxsec);\r
-                                                                                               fH1Trials->Fill(0.,ftrial);\r
-                                                               }\r
-\r
-                               }\r
-\r
-                               printf("Reading File %s ",fInputHandler->GetTree()->GetCurrentFile()->GetName());\r
-                               return kTRUE;\r
-}\r
-void AliAnalysisTaskJetHadronCorrelation::FinishTaskOutput()\r
-{\r
-}\r
-\r
-\r
-\r
-//________________________________________________________________________\r
-void AliAnalysisTaskJetHadronCorrelation::UserExec(Option_t *) \r
-{\r
-\r
-\r
-                               // Main loop (called each event)\r
-                               // Execute analysis for current event\r
-\r
-                               AliAODEvent *fAOD;\r
-                               TObject* handler = AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler();\r
-                               if( handler && handler->InheritsFrom("AliAODInputHandler") ) {\r
-                                                               fAOD  =  ((AliAODInputHandler*)handler)->GetEvent();\r
-                                                               if(fUseAODInput) fAODIn = fAOD;\r
-                                                               if (fDebug > 1)  Printf("%s:%d AOD event from input", (char*)__FILE__,__LINE__);\r
-                               }\r
-                               else {\r
-                                                               handler = AliAnalysisManager::GetAnalysisManager()->GetOutputEventHandler();\r
-                                                               if( handler && handler->InheritsFrom("AliAODHandler") ) {\r
-                                                                                               fAOD = ((AliAODHandler*)handler)->GetAOD();\r
-                                                                                               fAODIn = fAOD;\r
-                                                                                               if (fDebug > 1)  Printf("%s:%d AOD event from output", (char*)__FILE__,__LINE__);\r
-                                                               }\r
-                               }\r
-\r
-                               if(!fAODIn && !fUseAODInput){ // case we have AOD in input & output and want jets from output\r
-                                                               TObject* outHandler = AliAnalysisManager::GetAnalysisManager()->GetOutputEventHandler();\r
-                                                               if( outHandler && outHandler->InheritsFrom("AliAODHandler") ) {\r
-                                                                                               fAODIn = ((AliAODHandler*)outHandler)->GetAOD();\r
-                                                                                               if (fDebug > 1)  Printf("%s:%d jets from output AOD", (char*)__FILE__,__LINE__);\r
-                                                               }\r
-                               }\r
-                               if (!fAODIn) {\r
-                                                               Printf("ERROR %s : fAODIn not available",(char*)__FILE__);\r
-                                                               return;\r
-                               }\r
-\r
-                               AliInputEventHandler* inputHandler = (AliInputEventHandler*)\r
-                                                               ((AliAnalysisManager::GetAnalysisManager())->GetInputEventHandler());\r
-                               if(!(inputHandler->IsEventSelected() & AliVEvent::kMB)){\r
-                                                               if (fDebug > 1 ) Printf(" Trigger Selection: event REJECTED ... ");\r
-                                                               return;\r
-                               }\r
-                               fH1Events->Fill(0);\r
-\r
-                               AliAODHeader* aliH = dynamic_cast <AliAODHeader*> (fAODIn->GetHeader());\r
-                               if(!aliH){\r
-                                                               Printf("ERROR: AliAODHeader not available");\r
-                                                               return;\r
-                               }\r
-                               double Mult = aliH->GetRefMultiplicity();\r
-\r
-                               // start jet analysis  -------------------------Init.\r
-                               Float_t pi=TMath::Pi();\r
-\r
-                               Double_t Jet_pt   [20][5000];\r
-                               Double_t Jet_phi  [20][5000];\r
-                               Double_t Jet_eta  [20][5000];\r
-                               Double_t Jet_area [20][5000];\r
-                               Double_t subJet_pt [20][5000];\r
-                               Double_t subJet_eta[20][5000];\r
-                               Double_t Track_n  ;\r
-                               Double_t Track_pt [5000];\r
-                               Double_t Track_eta[5000];\r
-                               Double_t Track_phi[5000];\r
-                               Double_t MCTrack_n  ;\r
-                               Double_t MCTrack_pt [5000];\r
-                               Double_t MCTrack_eta[5000];\r
-                               Double_t MCTrack_phi[5000];\r
-\r
-                               Track_n=0;MCTrack_n=0;\r
-                               for(int i=0;i<20;i++){\r
-                                                               for(int j=0;j<1000;j++){\r
-                                                                                               Jet_pt[i][j]=0.;\r
-                                                                                               Jet_phi[i][j]=999.;\r
-                                                                                               Jet_eta[i][j]=999.;\r
-                                                                                               Jet_area[i][j]=999.;\r
-                                                                                               subJet_pt[i][j]=0.;\r
-                                                                                               subJet_eta[i][j]=999.;\r
-                                                                                               Track_pt [j]=0.;\r
-                                                                                               Track_phi[j]=999.;\r
-                                                                                               Track_eta[j]=999.;\r
-                                                                                               MCTrack_pt [j]=0.;\r
-                                                                                               MCTrack_phi[j]=999.;\r
-                                                                                               MCTrack_eta[j]=999.;\r
-                                                               }\r
-                               }\r
-\r
-                               int nLJetAOD=999; double ptLJetAOD=0;double phiLJetAOD=999.;double etaLJetAOD=999.;double ptsLJetAOD=0;double phisLJetAOD=900.;double etasLJetAOD=900.;\r
-                               int nLJetMC2=999; double ptLJetMC2=0;double phiLJetMC2=999.;double etaLJetMC2=999.;double ptsLJetMC2=0;double phisLJetMC2=900.;double etasLJetMC2=900.;\r
-                               int nLJetMC =999; double ptLJetMC =0;double phiLJetMC =999.;double etaLJetMC =999.;double ptsLJetMC =0;double phisLJetMC =900.;double etasLJetMC =900.;\r
-                               bool findLJetAOD=false;\r
-                               bool findLJetMC2=false;\r
-                               bool findDiJet=false,findDiJetMC=false;\r
-                               int nLJet = 999;\r
-                               int Mjet_tot =0;\r
-                               int Njet_tot =0;\r
-\r
-                               double Aj=99.,AjMC=99.;\r
-                               double Mlead=99.,MleadMC=99.;\r
-                               int    Munder=99.;\r
-\r
-                               ////--------------------------------------------------------------------Init.\r
-\r
-                               TString cAdd = "";\r
-                               TString Branchname_gen,Branchname_gen2,Branchname_rec;\r
-                               if((JFAlg=="ANTIKT")||(JFAlg=="KT")){\r
-                                                               cAdd += Form("%02d_",(int)((Radius+0.01)*10.));\r
-                                                               cAdd += Form("B%d",(int)BackM);\r
-                                                               cAdd += Form("_Filter%05d",Filtermask);\r
-                                                               cAdd += Form("_Cut%05d",(int)(1000.*TrackPtcut));\r
-                                                               cAdd += Form("_Skip%02d",SkipCone);\r
-                                                               Branchname_gen  = Form("clustersAODMC_%s%s",JFAlg.Data(),cAdd.Data());\r
-                                                               Branchname_gen2 = Form("clustersAODMC2_%s%s",JFAlg.Data(),cAdd.Data());\r
-                                                               Branchname_rec  = Form("clustersAOD_%s%s",JFAlg.Data(),cAdd.Data());\r
-                               }\r
-                               else{\r
-                                                               cAdd += Form("%02d_",(int)((Radius+0.01)*10.));\r
-                                                               cAdd += Form("B%d",(int)BackM);\r
-                                                               cAdd += Form("_Filter%05d",Filtermask);\r
-                                                               cAdd += Form("_Cut%05d",(int)(1000.*TrackPtcut));\r
-                                                               Branchname_gen  = Form("jetsAODMC_%s%s",JFAlg.Data(),cAdd.Data());\r
-                                                               Branchname_gen2 = Form("jetsAODMC2_%s%s",JFAlg.Data(),cAdd.Data());\r
-                                                               Branchname_rec  = Form("jetsAOD_%s%s",JFAlg.Data(),cAdd.Data());\r
-                               }\r
-\r
-\r
-\r
-                               //count number of tracks@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ \r
-                               //Reconstructed Track\r
-                               TClonesArray* tracks = dynamic_cast <TClonesArray*> (fAODIn->GetTracks());\r
-                               if(!tracks){\r
-                                                               if (fDebug > 1)  Printf("%s:%d could not get AODtracks", (char*)__FILE__,__LINE__);\r
-                                                               return;\r
-                               }\r
-\r
-                               Bool_t TrackEff[5000];\r
-                               for(int i=0;i<5000;i++){\r
-                                                               TrackEff[i]=false;\r
-                               }\r
-                               Int_t nt = fAODIn->GetNumberOfTracks();\r
-                               AliAODTrack* trackAOD=NULL;\r
-                               for(int ntrack =0;ntrack<nt;ntrack++){\r
-                                                               trackAOD = (AliAODTrack*) (tracks->At(ntrack));\r
-                                                               Bool_t bgoodT=false;\r
-                                                               if(Filtermask!=272){if(trackAOD->TestFilterMask(Filtermask))bgoodT=true;}\r
-                                                               else               {if(trackAOD->IsHybridGlobalConstrainedGlobal())bgoodT=true;} //for hybrid Track cuts\r
-                                                               if(!bgoodT)continue;\r
-                                                               if(TMath::Abs(trackAOD->Eta())<0.9){\r
-                                                                                               Track_n++;\r
-                                                                                               fH1Track_pt ->Fill(trackAOD->Pt()*TrackEScale);\r
-                                                                                               fH1Track_phi->Fill(trackAOD->Phi());\r
-                                                                                               fH1Track_eta->Fill(trackAOD->Eta());\r
-                                                                                               //cout<<"Scale "<<TrackEScale<<"  org pt "<<trackAOD->Pt()<< " scaled pt "<< trackAOD->Pt()*TrackEScale <<endl;\r
-                                                                                               if(IsMC){\r
-                                                                                                                               // track pt resplution-------------------\r
-                                                                                                                               Int_t MCID = TMath::Abs(trackAOD->GetLabel());\r
-                                                                                                                               TClonesArray* mctracks = dynamic_cast <TClonesArray*> (fAODIn->GetList()->FindObject(AliAODMCParticle::StdBranchName()));\r
-                                                                                                                               if(!mctracks){\r
-                                                                                                                                                               if (fDebug > 1)  Printf("%s:%d could not get AODMCtracks", (char*)__FILE__,__LINE__);\r
-                                                                                                                                                               continue;\r
-                                                                                                                               }\r
-                                                                                                                               AliAODMCParticle *trackMCAOD = (AliAODMCParticle*) mctracks->At(MCID);\r
-                                                                                                                               fH2TrackMCptResolution->Fill(trackMCAOD->Pt(),trackAOD->Pt());\r
-                                                                                                                               TrackEff[MCID]=true;\r
-                                                                                                                               // --------------------------------------\r
-                                                                                               }\r
-                                                               }\r
-                               }\r
-                               if(IsMC){\r
-                                                               //MC Track\r
-                                                               TClonesArray* mctracks = dynamic_cast <TClonesArray*> (fAODIn->GetList()->FindObject(AliAODMCParticle::StdBranchName()));\r
-                                                               if(!mctracks){\r
-                                                                                               if (fDebug > 1)  Printf("%s:%d could not get AODMCtracks", (char*)__FILE__,__LINE__);\r
-                                                                                               return;\r
-                                                               }\r
-                                                               Int_t ntmc = mctracks->GetEntriesFast();\r
-                                                               AliAODMCParticle* trackMCAOD;\r
-                                                               int lastprim=0;\r
-                                                               for(int ntrack =0;ntrack<ntmc;ntrack++){\r
-                                                                                               trackMCAOD = (AliAODMCParticle*) (mctracks->At(ntrack));\r
-                                                                                               if((trackMCAOD->IsPhysicalPrimary())==1)lastprim=ntrack;\r
-                                                               }\r
-                                                               for(int ntrack =0;ntrack<ntmc;ntrack++){\r
-                                                                                               trackMCAOD = (AliAODMCParticle*) (mctracks->At(ntrack));\r
-                                                                                               if((trackMCAOD->GetPdgCode()>10)&&((trackMCAOD->GetMother())>1)&&(ntrack>lastprim)&&(trackMCAOD->Charge())){// for Decay particles\r
-                                                                                                                               if(TMath::Abs(trackMCAOD->Eta())<0.9){\r
-                                                                                                                                                               fH1MCTrack_pt ->Fill(trackMCAOD->Pt());\r
-                                                                                                                                                               fH1MCTrack_phi->Fill(trackMCAOD->Phi());\r
-                                                                                                                                                               fH1MCTrack_eta->Fill(trackMCAOD->Eta());\r
-                                                                                                                                                               if(TrackEff[ntrack])fH2TrackMCptEfficiency->Fill(trackMCAOD->Pt(),1);\r
-                                                                                                                                                               else                fH2TrackMCptEfficiency->Fill(trackMCAOD->Pt(),0);\r
-                                                                                                                               }\r
-                                                                                               }\r
-                                                                                               if((trackMCAOD->IsPhysicalPrimary())&&(trackMCAOD->Charge())){// for Physical particles\r
-                                                                                                                               if(TMath::Abs(trackMCAOD->Eta())<0.9){\r
-                                                                                                                                                               MCTrack_n++;\r
-                                                                                                                                                               fH1MCTrack_pt ->Fill(trackMCAOD->Pt());\r
-                                                                                                                                                               fH1MCTrack_phi->Fill(trackMCAOD->Phi());\r
-                                                                                                                                                               fH1MCTrack_eta->Fill(trackMCAOD->Eta());\r
-                                                                                                                                                               fH1MCPrimTrack_pt ->Fill(trackMCAOD->Pt());\r
-                                                                                                                                                               fH1MCPrimTrack_phi->Fill(trackMCAOD->Phi());\r
-                                                                                                                                                               fH1MCPrimTrack_eta->Fill(trackMCAOD->Eta());\r
-                                                                                                                                                               if(TrackEff[ntrack])fH2TrackMCptEfficiency->Fill(trackMCAOD->Pt(),1);\r
-                                                                                                                                                               else                fH2TrackMCptEfficiency->Fill(trackMCAOD->Pt(),0);\r
-                                                                                                                               }\r
-                                                                                               }\r
-                                                               }\r
-                               }\r
-                               //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  count number of tracks\r
-\r
-\r
-\r
-\r
-                               for(int algorithm=0;algorithm<3;algorithm++){\r
-\r
-                                                               if(algorithm==0)fJetBranch   = Branchname_rec.Data();\r
-                                                               if(algorithm==1)fJetBranch   = Branchname_gen2.Data();\r
-                                                               if(algorithm==2)fJetBranch   = Branchname_gen.Data();\r
-\r
-                                                               if((!IsMC&&(algorithm==1||algorithm==2)))continue;\r
-\r
-                                                               TClonesArray* jets = dynamic_cast <TClonesArray*> (fAODIn->FindListObject(fJetBranch.Data()));\r
-                                                               if(!jets){\r
-                                                                                               printf(" Tere are no Branch named %s \n",fJetBranch.Data());\r
-                                                                                               continue;\r
-                                                               }\r
-                                                               Int_t nj = jets->GetEntriesFast();\r
-                                                               if (fDebug) printf("There are %5d jets in the event \n", nj);\r
-                                                               AliAODJet* jetsAOD;\r
-                                                               //Find Leading Jet -------------------------------------------------------\r
-                                                               for(int njet =0;njet<nj;njet++){\r
-                                                                                               jetsAOD = (AliAODJet*) (jets->At(njet));\r
-                                                                                               Jet_pt   [algorithm][njet] = jetsAOD->Pt()*JetEScale;\r
-                                                                                               Jet_phi  [algorithm][njet] = jetsAOD->Phi();  \r
-                                                                                               Jet_eta  [algorithm][njet] = jetsAOD->Eta();\r
-                                                                                               Jet_area [algorithm][njet] = jetsAOD->EffectiveAreaCharged();\r
-\r
-\r
-                                                                                               TRefArray *reftracks = jetsAOD->GetRefTracks();\r
-                                                                                               if(algorithm==0){if(Jet_pt[algorithm][njet]>1.)Mjet_tot +=  reftracks->GetEntriesFast();Njet_tot++;}\r
-                                                                                               double eta_cut_Jet=0.5;\r
-                                                                                               if((TMath::Abs(Jet_eta[algorithm][njet])<eta_cut_Jet)&&(Jet_pt[algorithm][njet]>10.)){\r
-                                                                                                                               if(algorithm==0){\r
-                                                                                                                                                               fH1Jet_pt ->Fill(Jet_pt [algorithm][njet]);  \r
-                                                                                                                                                               fH1Jet_phi->Fill(Jet_phi[algorithm][njet]);  \r
-                                                                                                                                                               fH1Jet_eta->Fill(Jet_eta[algorithm][njet]);  \r
-                                                                                                                                                               if(Jet_pt[algorithm][njet]>ptLJetAOD){\r
-                                                                                                                                                                                               findLJetAOD=true;\r
-                                                                                                                                                                                               nLJetAOD=njet;ptLJetAOD=Jet_pt[algorithm][njet];phiLJetAOD=Jet_phi[algorithm][njet];etaLJetAOD=Jet_eta[algorithm][njet];\r
-                                                                                                                                                               }\r
-                                                                                                                               }\r
-                                                                                                                               if(algorithm==1){\r
-                                                                                                                                                               fH1JetMC_pt->Fill(Jet_pt[algorithm][njet]);  \r
-                                                                                                                                                               if(Jet_pt[algorithm][njet]>ptLJetMC2){\r
-                                                                                                                                                                                               findLJetMC2=true;\r
-                                                                                                                                                                                               nLJetMC2=njet;ptLJetMC2=Jet_pt[algorithm][njet];phiLJetMC2=Jet_phi[algorithm][njet];etaLJetMC2=Jet_eta[algorithm][njet];\r
-                                                                                                                                                               }\r
-                                                                                                                               }\r
-                                                                                                                               if(algorithm==2){\r
-                                                                                                                                                               if(Jet_pt[algorithm][njet]>ptLJetMC){\r
-                                                                                                                                                                                               nLJetMC=njet;ptLJetMC=Jet_pt[algorithm][njet];phiLJetMC=Jet_phi[algorithm][njet];etaLJetMC=Jet_eta[algorithm][njet];\r
-                                                                                                                                                               }\r
-                                                                                                                               }\r
-                                                                                               }\r
-                                                               }//njet loop\r
-                                                               if(algorithm==0){nLJet=nLJetAOD;fH1leadJet_pt  ->Fill(Jet_pt[algorithm][nLJet]);}\r
-                                                               if(algorithm==1){nLJet=nLJetMC2;fH1leadJetMC_pt->Fill(Jet_pt[algorithm][nLJet]);}\r
-                                                               if(algorithm==2){nLJet=nLJetMC;}\r
-                                                               if(findLJetAOD&&(algorithm==0)){\r
-                                                                                               jetsAOD = (AliAODJet*) (jets->At(nLJet));\r
-                                                                                               TRefArray *reftracks = jetsAOD->GetRefTracks();\r
-                                                                                               Mlead = reftracks->GetEntriesFast();\r
-                                                               }\r
-                                                               if(findLJetMC2&&(algorithm==1)){\r
-                                                                                               jetsAOD = (AliAODJet*) (jets->At(nLJetMC2));\r
-                                                                                               TRefArray *reftracks = jetsAOD->GetRefTracks();\r
-                                                                                               MleadMC = reftracks->GetEntriesFast();\r
-                                                               }\r
-                                                               //----------------------------------------------------------- Leading Jet\r
-                                                               if(nj<2)continue;\r
-                                                               //Find Sub leading Jet ==================================================\r
-                                                               for(int njet=0;njet<nj;njet++){\r
-                                                                                               if(njet==nLJet)continue;\r
-                                                                                               jetsAOD = (AliAODJet *)jets->At(njet);\r
-                                                                                               subJet_pt [algorithm][njet] = jetsAOD->Pt()*JetEScale;\r
-                                                                                               subJet_eta[algorithm][njet] = jetsAOD->Eta();\r
-                                                                                               double eta_cut_Jet=0.5;\r
-                                                                                               if((TMath::Abs(subJet_eta[algorithm][njet])<eta_cut_Jet) && (subJet_pt[algorithm][njet]>10.)){\r
-                                                                                                                               if(subJet_pt[algorithm][njet]>ptsLJetAOD&&algorithm==0){\r
-                                                                                                                                                               ptsLJetAOD=Jet_pt[algorithm][njet];phisLJetAOD=Jet_phi[algorithm][njet];etasLJetAOD=Jet_eta[algorithm][njet];\r
-                                                                                                                               }\r
-                                                                                                                               if(subJet_pt[algorithm][njet]>ptsLJetMC2 &&algorithm==1){\r
-                                                                                                                                                               ptsLJetMC2=Jet_pt[algorithm][njet];phisLJetMC2=Jet_phi[algorithm][njet];etasLJetMC2=Jet_eta[algorithm][njet];\r
-                                                                                                                               }\r
-                                                                                                                               if(subJet_pt[algorithm][njet]>ptsLJetMC &&algorithm==2){\r
-                                                                                                                                                               ptsLJetMC =Jet_pt[algorithm][njet];phisLJetMC =Jet_phi[algorithm][njet];etasLJetMC =Jet_eta[algorithm][njet];\r
-                                                                                                                               }\r
-                                                                                               }\r
-                                                               }\r
-                                                               //====================================================== Sub leading Jet \r
-\r
-                                                               double Leading_pt=0.;double Leading_phi=999.;double Leading_eta=999.;double sLeading_pt=0.;double sLeading_phi=999.;double sLeading_eta=999.;\r
-                                                               if(algorithm==0){Leading_pt=ptLJetAOD;Leading_phi=phiLJetAOD;Leading_eta=etaLJetAOD;sLeading_pt=ptsLJetAOD;sLeading_phi=phisLJetAOD;sLeading_eta=etasLJetAOD;}\r
-                                                               if(algorithm==1){Leading_pt=ptLJetMC2;Leading_phi=phiLJetMC2;Leading_eta=etaLJetMC2;sLeading_pt=ptsLJetMC2;sLeading_phi=phisLJetMC2;sLeading_eta=etasLJetMC2;}\r
-                                                               if(algorithm==2){Leading_pt=ptLJetMC ;Leading_phi=phiLJetMC ;Leading_eta=etaLJetMC ;sLeading_pt=ptsLJetMC ;sLeading_phi=phisLJetMC ;sLeading_eta=etasLJetMC ;}\r
-\r
-                                                               ////Di-Jet event trigger +++++++++++++++++++++++++++++++++++++++++++++++\r
-                                                               double DPhi = DeltaPhi(Leading_phi,sLeading_phi);\r
-                                                               double DEta = Leading_eta-sLeading_eta;\r
-                                                               if(algorithm==0){\r
-                                                                                               fH2JetsJet_dphi->Fill(Leading_pt,DPhi);\r
-                                                                                               fH2JetsJet_deta->Fill(Leading_pt,DEta);\r
-                                                               }\r
-                                                               if(algorithm==1){\r
-                                                                                               fH2JetsJetMC_dphi->Fill(Leading_pt,DPhi);\r
-                                                                                               fH2JetsJetMC_deta->Fill(Leading_pt,DEta);\r
-                                                               }\r
-                                                               if((TMath::Cos(DPhi)<-0.5)&&(Leading_pt>10.)&&(sLeading_pt>10.)){\r
-                                                                                               if(algorithm==0)Aj   = (Leading_pt-sLeading_pt)/(Leading_pt+sLeading_pt);\r
-                                                                                               if(algorithm==1)AjMC = (Leading_pt-sLeading_pt)/(Leading_pt+sLeading_pt);\r
-                                                                                               if(algorithm==0){\r
-                                                                                                                               fH1subJet_pt_dijet ->Fill(sLeading_pt);\r
-                                                                                                                               fH1leadJet_pt_dijet->Fill(Leading_pt);\r
-                                                                                                                               fH2JetsJet_Aj      ->Fill(Leading_pt,Aj);\r
-                                                                                                                               fH2JetsJet_pt      ->Fill(Leading_pt,sLeading_pt);\r
-                                                                                                                               fH2Mult_Aj         ->Fill(Mult,Aj); \r
-                                                                                                                               fH2Mlead_Aj        ->Fill(Mlead,Aj);\r
-                                                                                                                               for(int eb=0;eb<5;eb++){\r
-                                                                                                                                                               if(TMath::Abs(Leading_pt -10.-20.*(eb))<10.){\r
-                                                                                                                                                                                               fH1Aj[eb]   ->Fill(Aj);\r
-                                                                                                                                                               }\r
-                                                                                                                               }\r
-                                                                                               }\r
-                                                                                               if(algorithm==1){\r
-                                                                                                                               fH1leadJetMC_pt_dijet->Fill(Leading_pt);\r
-                                                                                                                               fH1subJetMC_pt_dijet ->Fill(sLeading_pt);\r
-                                                                                                                               fH2JetsJetMC_Aj      ->Fill(Leading_pt,AjMC);\r
-                                                                                                                               fH2JetsJetMC_pt      ->Fill(Leading_pt,sLeading_pt);\r
-                                                                                                                               findDiJetMC=true;\r
-                                                                                               }\r
-                                                                                               findDiJet=true;\r
-\r
-                                                               }\r
-                                                               ////+++++++++++++++++++++++++++++++++++++++++++++++ Di-Jet event trigger \r
-\r
-                                                               if(algorithm!=0)continue;// for only data & reconstructed Jets\r
-\r
-\r
-                                                               //Jet-Hadron Correlation###############################################\r
-                                                               if((findDiJet)&&(Leading_pt>10.)&&(sLeading_pt>10.)){\r
-                                                                                               double eta_cut_Jet=0.5;\r
-                                                                                               if(TMath::Abs(Leading_eta)<eta_cut_Jet){\r
-                                                                                                                               for(int eb=0;eb<5;eb++){\r
-                                                                                                                                                               if(TMath::Abs(Leading_pt -10.-20.*(eb))<10.){\r
-                                                                                                                                                                                               fH1ndiJ_ediv[eb]->Fill(1);\r
-                                                                                                                                                                                               if(eb==1){\r
-                                                                                                                                                                                                                               if((0<Mlead)&&Mlead<7)              {fH1ndiJ_2040Mlead[0]->Fill(1);}\r
-                                                                                                                                                                                                                               else if((7<=Mlead)&&(Mlead<10))     {fH1ndiJ_2040Mlead[1]->Fill(1);}\r
-                                                                                                                                                                                                                               else                                {fH1ndiJ_2040Mlead[2]->Fill(1);}\r
-                                                                                                                                                                                                                               if((0<Aj)&&(Aj<0.19))               {fH1ndiJ_2040Aj   [0]->Fill(1);}\r
-                                                                                                                                                                                                                               else if((0.19<=Aj)&&(Aj<0.38))      {fH1ndiJ_2040Aj   [1]->Fill(1);}\r
-                                                                                                                                                                                                                               else                                {fH1ndiJ_2040Aj   [2]->Fill(1);}\r
-                                                                                                                                                                                               }\r
-                                                                                                                                                                                               fH1Mlead[eb]->Fill(Mlead);\r
-                                                                                                                                                                                               for(int ntrack =0;ntrack<nt;ntrack++){\r
-                                                                                                                                                                                                                               trackAOD = (AliAODTrack*) (fAODIn->GetTrack(ntrack));\r
-                                                                                                                                                                                                                               Bool_t bgoodT=false;\r
-                                                                                                                                                                                                                               if(Filtermask!=272){if(trackAOD->TestFilterMask(Filtermask))bgoodT=true;}\r
-                                                                                                                                                                                                                               else{               if(trackAOD->IsHybridGlobalConstrainedGlobal())bgoodT=true;} //for hybrid Track cuts\r
-                                                                                                                                                                                                                               if(!bgoodT)continue;\r
-                                                                                                                                                                                                                               Track_pt   [ntrack]      = (trackAOD->Pt()*TrackEScale);\r
-                                                                                                                                                                                                                               Track_phi  [ntrack]      = trackAOD->Phi();\r
-                                                                                                                                                                                                                               Track_eta  [ntrack]      = trackAOD->Eta();\r
-\r
-                                                                                                                                                                                                                               //cout<<"Scale "<<TrackEScale<<"  org pt "<<trackAOD->Pt()<< " scaled pt "<< trackAOD->Pt()*TrackEScale <<endl;\r
-\r
-                                                                                                                                                                                                                               double DelPhi = DeltaPhi(Leading_phi,Track_phi[ntrack]);\r
-                                                                                                                                                                                                                               if(TMath::Abs(Track_eta[ntrack])<0.9){\r
-                                                                                                                                                                                                                                                               if((TMath::Abs(DelPhi-pi/2.)<pi/8.)||((DelPhi+pi/2.)<pi/8.)||(TMath::Abs(DelPhi-3./2.*pi)<pi/8.))Munder++;\r
-                                                                                                                                                                                                                                                               for(int teb=0;teb<5;teb++){\r
-                                                                                                                                                                                                                                                                                               if(teb==0){if(!( Track_pt[ntrack]>0.15))continue;}\r
-                                                                                                                                                                                                                                                                                               if(teb==1){if(!((Track_pt[ntrack]<1.5)&&(Track_pt[ntrack]>0.15)))continue;}\r
-                                                                                                                                                                                                                                                                                               if(teb==2){if(!((Track_pt[ntrack]<3.0)&&(Track_pt[ntrack]>1.5)))continue;}\r
-                                                                                                                                                                                                                                                                                               if(teb==3){if(!((Track_pt[ntrack]<4.5)&&(Track_pt[ntrack]>3.0)))continue;}\r
-                                                                                                                                                                                                                                                                                               if(teb==4){if(!( Track_pt[ntrack]>4.5))continue;}\r
-                                                                                                                                                                                                                                                                                               fH1JetHadron_dphi_ediv                [eb][teb]->Fill(DelPhi); \r
-                                                                                                                                                                                                                                                                                               fH1JetHadron_dphi_tptweight_ediv      [eb][teb]->Fill(DelPhi,Track_pt[ntrack]);\r
-                                                                                                                                                                                                                                                                                               fH1JetHadron_dphi_tJptweight_ediv     [eb][teb]->Fill(DelPhi,Track_pt[ntrack]/Leading_pt);\r
-                                                                                                                                                                                                                                                                                               if(eb==1){\r
-                                                                                                                                                                                                                                                                                                                               if((0<Mlead)&&Mlead<7)         {fH1JetHadron_dphi_tptweight2040_Mleaddep[0][teb]->Fill(DelPhi,Track_pt[ntrack]);}\r
-                                                                                                                                                                                                                                                                                                                               else if((7<=Mlead)&&(Mlead<10)){fH1JetHadron_dphi_tptweight2040_Mleaddep[1][teb]->Fill(DelPhi,Track_pt[ntrack]);}\r
-                                                                                                                                                                                                                                                                                                                               else                           {fH1JetHadron_dphi_tptweight2040_Mleaddep[2][teb]->Fill(DelPhi,Track_pt[ntrack]);}\r
-                                                                                                                                                                                                                                                                                                                               if((0<Aj)&&(Aj<0.19))          {fH1JetHadron_dphi_tptweight2040_Ajdep   [0][teb]->Fill(DelPhi,Track_pt[ntrack]);}\r
-                                                                                                                                                                                                                                                                                                                               else if((0.19<=Aj)&&(Aj<0.38)) {fH1JetHadron_dphi_tptweight2040_Ajdep   [1][teb]->Fill(DelPhi,Track_pt[ntrack]);}\r
-                                                                                                                                                                                                                                                                                                                               else                           {fH1JetHadron_dphi_tptweight2040_Ajdep   [2][teb]->Fill(DelPhi,Track_pt[ntrack]);}\r
-                                                                                                                                                                                                                                                                                               }\r
-                                                                                                                                                                                                                                                               }\r
-                                                                                                                                                                                                                               }\r
-                                                                                                                                                                                               }//Track Loop\r
-                                                                                                                                                                                               if(IsMC){\r
-                                                                                                                                                                                                                               //MC Track\r
-                                                                                                                                                                                                                               TClonesArray* mctracks = dynamic_cast <TClonesArray*> (fAODIn->GetList()->FindObject(AliAODMCParticle::StdBranchName()));\r
-                                                                                                                                                                                                                               if(!mctracks){\r
-                                                                                                                                                                                                                                                               if (fDebug > 1)  Printf("%s:%d could not get AODMCtracks", (char*)__FILE__,__LINE__);\r
-                                                                                                                                                                                                                                                               continue;\r
-                                                                                                                                                                                                                               }\r
-                                                                                                                                                                                                                               Int_t ntmc = mctracks->GetEntriesFast();\r
-                                                                                                                                                                                                                               AliAODMCParticle* trackMCAOD;\r
-                                                                                                                                                                                                                               int lastprim=0;\r
-                                                                                                                                                                                                                               for(int ntrack =0;ntrack<ntmc;ntrack++){\r
-                                                                                                                                                                                                                                                               trackMCAOD = (AliAODMCParticle*) (mctracks->At(ntrack));\r
-                                                                                                                                                                                                                                                               if((trackMCAOD->IsPhysicalPrimary())==1)lastprim=ntrack;\r
-                                                                                                                                                                                                                               }\r
-                                                                                                                                                                                                                               for(int ntrack =0;ntrack<ntmc;ntrack++){\r
-                                                                                                                                                                                                                                                               trackMCAOD = (AliAODMCParticle*) (mctracks->At(ntrack));\r
-                                                                                                                                                                                                                                                               if((trackMCAOD->GetPdgCode()>10)&&((trackMCAOD->GetMother())>1)&&(ntrack>lastprim)&&(trackMCAOD->Charge())){// for Decay particles\r
-                                                                                                                                                                                                                                                                                               MCTrack_pt   [ntrack]      = trackMCAOD->Pt();\r
-                                                                                                                                                                                                                                                                                               MCTrack_phi  [ntrack]      = trackMCAOD->Phi();\r
-                                                                                                                                                                                                                                                                                               MCTrack_eta  [ntrack]      = trackMCAOD->Eta();\r
-                                                                                                                                                                                                                                                                                               double DelPhi = DeltaPhi(Leading_phi,MCTrack_phi[ntrack]);\r
-                                                                                                                                                                                                                                                                                               if(TMath::Abs(MCTrack_eta[ntrack])<0.9){\r
-                                                                                                                                                                                                                                                                                                                               for(int teb=0;teb<5;teb++){\r
-                                                                                                                                                                                                                                                                                                                                                               if(teb==0){if(!( MCTrack_pt[ntrack]>0.15))continue;}\r
-                                                                                                                                                                                                                                                                                                                                                               if(teb==1){if(!((MCTrack_pt[ntrack]<1.5)&&(MCTrack_pt[ntrack]>0.15)))continue;}\r
-                                                                                                                                                                                                                                                                                                                                                               if(teb==2){if(!((MCTrack_pt[ntrack]<3.0)&&(MCTrack_pt[ntrack]>1.5)))continue;}\r
-                                                                                                                                                                                                                                                                                                                                                               if(teb==3){if(!((MCTrack_pt[ntrack]<4.5)&&(MCTrack_pt[ntrack]>3.0)))continue;}\r
-                                                                                                                                                                                                                                                                                                                                                               if(teb==4){if(!( MCTrack_pt[ntrack]>4.5))continue;}\r
-                                                                                                                                                                                                                                                                                                                                                               fH1JetHadronMC_dphi_ediv                [eb][teb]->Fill(DelPhi); \r
-                                                                                                                                                                                                                                                                                                                                                               fH1JetHadronMC_dphi_tptweight_ediv      [eb][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);\r
-                                                                                                                                                                                                                                                                                                                                                               fH1JetHadronMC_dphi_tJptweight_ediv     [eb][teb]->Fill(DelPhi,MCTrack_pt[ntrack]/Leading_pt);\r
-                                                                                                                                                                                                                                                                                                                                                               if(eb==1){\r
-                                                                                                                                                                                                                                                                                                                                                                                               if((0<Mlead)&&Mlead<7)         {fH1JetHadronMC_dphi_tptweight2040_Mleaddep[0][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}\r
-                                                                                                                                                                                                                                                                                                                                                                                               else if((7<=Mlead)&&(Mlead<10)){fH1JetHadronMC_dphi_tptweight2040_Mleaddep[1][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}\r
-                                                                                                                                                                                                                                                                                                                                                                                               else                           {fH1JetHadronMC_dphi_tptweight2040_Mleaddep[2][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}\r
-                                                                                                                                                                                                                                                                                                                                                                                               if((0<Aj)&&(Aj<0.19))          {fH1JetHadronMC_dphi_tptweight2040_Ajdep   [0][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}\r
-                                                                                                                                                                                                                                                                                                                                                                                               else if((0.19<=Aj)&&(Aj<0.38)) {fH1JetHadronMC_dphi_tptweight2040_Ajdep   [1][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}\r
-                                                                                                                                                                                                                                                                                                                                                                                               else                           {fH1JetHadronMC_dphi_tptweight2040_Ajdep   [2][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}\r
-                                                                                                                                                                                                                                                                                                                                                               }\r
-                                                                                                                                                                                                                                                                                                                               }\r
-                                                                                                                                                                                                                                                                                               }\r
-                                                                                                                                                                                                                                                               }\r
-                                                                                                                                                                                                                                                               if((trackMCAOD->IsPhysicalPrimary())&&(trackMCAOD->Charge())){// for Physical particles\r
-                                                                                                                                                                                                                                                                                               MCTrack_pt   [ntrack]      = trackMCAOD->Pt();\r
-                                                                                                                                                                                                                                                                                               MCTrack_phi  [ntrack]      = trackMCAOD->Phi();\r
-                                                                                                                                                                                                                                                                                               MCTrack_eta  [ntrack]      = trackMCAOD->Eta();\r
-                                                                                                                                                                                                                                                                                               double DelPhi = DeltaPhi(Leading_phi,MCTrack_phi[ntrack]);\r
-                                                                                                                                                                                                                                                                                               if(TMath::Abs(MCTrack_eta[ntrack])<0.9){\r
-                                                                                                                                                                                                                                                                                                                               for(int teb=0;teb<5;teb++){\r
-                                                                                                                                                                                                                                                                                                                                                               if(teb==0){if(!( MCTrack_pt[ntrack]>0.15))continue;}\r
-                                                                                                                                                                                                                                                                                                                                                               if(teb==1){if(!((MCTrack_pt[ntrack]<1.5)&&(MCTrack_pt[ntrack]>0.15)))continue;}\r
-                                                                                                                                                                                                                                                                                                                                                               if(teb==2){if(!((MCTrack_pt[ntrack]<3.0)&&(MCTrack_pt[ntrack]>1.5)))continue;}\r
-                                                                                                                                                                                                                                                                                                                                                               if(teb==3){if(!((MCTrack_pt[ntrack]<4.5)&&(MCTrack_pt[ntrack]>3.0)))continue;}\r
-                                                                                                                                                                                                                                                                                                                                                               if(teb==4){if(!( MCTrack_pt[ntrack]>4.5))continue;}\r
-                                                                                                                                                                                                                                                                                                                                                               fH1JetHadronMC_dphi_ediv                [eb][teb]->Fill(DelPhi); \r
-                                                                                                                                                                                                                                                                                                                                                               fH1JetHadronMC_dphi_tptweight_ediv      [eb][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);\r
-                                                                                                                                                                                                                                                                                                                                                               fH1JetHadronMC_dphi_tJptweight_ediv     [eb][teb]->Fill(DelPhi,MCTrack_pt[ntrack]/Leading_pt);\r
-                                                                                                                                                                                                                                                                                                                                                               fH1JetHadronMCPrim_dphi_ediv                [eb][teb]->Fill(DelPhi); \r
-                                                                                                                                                                                                                                                                                                                                                               fH1JetHadronMCPrim_dphi_tptweight_ediv      [eb][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);\r
-                                                                                                                                                                                                                                                                                                                                                               fH1JetHadronMCPrim_dphi_tJptweight_ediv     [eb][teb]->Fill(DelPhi,MCTrack_pt[ntrack]/Leading_pt);\r
-                                                                                                                                                                                                                                                                                                                                                               if(eb==1){\r
-                                                                                                                                                                                                                                                                                                                                                                                               if((0<Mlead)&&Mlead<7)         {fH1JetHadronMC_dphi_tptweight2040_Mleaddep[0][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}\r
-                                                                                                                                                                                                                                                                                                                                                                                               else if((7<=Mlead)&&(Mlead<10)){fH1JetHadronMC_dphi_tptweight2040_Mleaddep[1][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}\r
-                                                                                                                                                                                                                                                                                                                                                                                               else                           {fH1JetHadronMC_dphi_tptweight2040_Mleaddep[2][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}\r
-                                                                                                                                                                                                                                                                                                                                                                                               if((0<Aj)&&(Aj<0.19))          {fH1JetHadronMC_dphi_tptweight2040_Ajdep   [0][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}\r
-                                                                                                                                                                                                                                                                                                                                                                                               else if((0.19<=Aj)&&(Aj<0.38)) {fH1JetHadronMC_dphi_tptweight2040_Ajdep   [1][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}\r
-                                                                                                                                                                                                                                                                                                                                                                                               else                           {fH1JetHadronMC_dphi_tptweight2040_Ajdep   [2][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}\r
-\r
-                                                                                                                                                                                                                                                                                                                                                                                               if((0<Mlead)&&Mlead<7)         {fH1JetHadronMCPrim_dphi_tptweight2040_Mleaddep[0][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}\r
-                                                                                                                                                                                                                                                                                                                                                                                               else if((7<=Mlead)&&(Mlead<10)){fH1JetHadronMCPrim_dphi_tptweight2040_Mleaddep[1][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}\r
-                                                                                                                                                                                                                                                                                                                                                                                               else                           {fH1JetHadronMCPrim_dphi_tptweight2040_Mleaddep[2][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}\r
-                                                                                                                                                                                                                                                                                                                                                                                               if((0<Aj)&&(Aj<0.19))          {fH1JetHadronMCPrim_dphi_tptweight2040_Ajdep   [0][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}\r
-                                                                                                                                                                                                                                                                                                                                                                                               else if((0.19<=Aj)&&(Aj<0.38)) {fH1JetHadronMCPrim_dphi_tptweight2040_Ajdep   [1][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}\r
-                                                                                                                                                                                                                                                                                                                                                                                               else                           {fH1JetHadronMCPrim_dphi_tptweight2040_Ajdep   [2][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}\r
-                                                                                                                                                                                                                                                                                                                                                               }\r
-                                                                                                                                                                                                                                                                                                                               }\r
-                                                                                                                                                                                                                                                                                               }\r
-                                                                                                                                                                                                                                                               }\r
-                                                                                                                                                                                                                               }\r
-                                                                                                                                                                                               }\r
-                                                                                                                                                               }\r
-                                                                                                                               }// Momentum Loop Jet\r
-                                                                                                                               fH2Jet_pt_Munder   ->Fill(Leading_pt,(double)Munder/(1.8*pi/2.)*Jet_area[0][nLJet]);\r
-                                                                                                                               fH2Jet_pt_Mlead    ->Fill(Leading_pt,Mlead);\r
-                                                                                               }//eta cut\r
-                                                               }// Di-Jet\r
-                                                               //############################################### Jet-Hadron Correlation\r
-                               }// algorithm LOOP\r
-                               if(IsMC){\r
-                                                               for(int eb=0;eb<5;eb++){\r
-                                                                                               double DPhi,DEta;\r
-                                                                                               if(TMath::Abs(ptLJetAOD -10.-20.*(eb))<10.){\r
-                                                                                                                               DPhi = DeltaPhi(phiLJetMC,phiLJetAOD);\r
-                                                                                                                               DEta = etaLJetMC-etaLJetAOD;\r
-                                                                                                                               fH1leadJetMC_dphiResolution[eb]->Fill(DPhi);\r
-                                                                                                                               if(sqrt(pow(DPhi,2)+pow(DEta,2))<0.4)fH1leadJetMC_Efficiency[eb]->Fill(1);\r
-                                                                                                                               else                                 fH1leadJetMC_Efficiency[eb]->Fill(0);\r
-                                                                                                                               DPhi = DeltaPhi(phisLJetMC,phisLJetAOD);\r
-                                                                                                                               DEta = etasLJetMC-etasLJetAOD;\r
-                                                                                                                               fH1subJetMC_dphiResolution[eb]->Fill(DPhi);\r
-                                                                                                                               if(sqrt(pow(DPhi,2)+pow(DEta,2))<0.4)fH1subJetMC_Efficiency[eb]->Fill(1);\r
-                                                                                                                               else                                 fH1subJetMC_Efficiency[eb]->Fill(0);\r
-                                                                                                                               DPhi = DeltaPhi(phiLJetMC2,phiLJetAOD);\r
-                                                                                                                               DEta = etaLJetMC2-etaLJetAOD;\r
-\r
-                                                                                                                               if(sqrt(pow(DPhi,2)+pow(DEta,2))<0.4)fH2leadJetMCptResolution->Fill(ptLJetMC2,ptLJetAOD);\r
-                                                                                                                               if(findDiJetMC)fH2AjCorrelation_MCRec   ->Fill(AjMC,Aj);\r
-                                                                                                                               if(findDiJetMC)fH2MleadCorrelation_MCRec->Fill(MleadMC,Mlead);\r
-                                                                                               }\r
-                                                               }\r
-                                                               fH2Mult_Mtrack->Fill(Mult,Track_n); \r
-                                                               fH2Mult_Mjet  ->Fill(Mult,Mjet_tot);\r
-                                                               fH2Mult_Njet  ->Fill(Mult,Njet_tot);\r
-                                                               if(findLJetAOD)fH2Mult_Mlead ->Fill(Mult,Mlead);   \r
-                               }\r
-                               else{\r
-                                                               fH2Mult_Mtrack->Fill(Mult,Track_n); \r
-                                                               fH2Mult_Mjet  ->Fill(Mult,Mjet_tot);\r
-                                                               fH2Mult_Njet  ->Fill(Mult,Njet_tot);\r
-                                                               if(findLJetAOD)fH2Mult_Mlead ->Fill(Mult,Mlead);   \r
-                               }\r
-\r
-                               PostData(1, fHistList);\r
-                               return;\r
-}      \r
-\r
-//________________________________________________________________________\r
-void AliAnalysisTaskJetHadronCorrelation::Terminate(Option_t *){\r
-                               // Terminate analysis\r
-                               if (fDebug) printf("AnalysisTaskPt: Terminate() \n");\r
-}\r
-\r
-Double_t AliAnalysisTaskJetHadronCorrelation::DeltaPhi(Double_t phi1,Double_t phi2){\r
-                               Float_t pi=TMath::Pi();\r
-                               Double_t dphi = phi1-phi2;\r
-                               if     (dphi<(-1./2*pi))dphi = dphi +2*pi;\r
-                               else if(dphi>( 3./2*pi))dphi = dphi -2*pi;\r
-                               return dphi;\r
-}\r
+//#include <string.h>
+//#include <TStyle.h>
+#include <list>
+#include <string>
+
+#include "TTree.h"
+#include "TCanvas.h"
+#include "AliAnalysisTask.h"
+#include "AliInputEventHandler.h"
+#include "AliESDtrack.h"
+#include "AliAODVertex.h"
+#include "AliAODCluster.h"
+
+#include <TROOT.h>
+#include <TRandom.h>
+#include <TSystem.h>
+#include <TInterpreter.h>
+#include <TChain.h>
+#include <TFile.h>
+#include <TKey.h>
+#include <TH1F.h>
+#include <TH2F.h>
+#include <TH3F.h>
+#include <TProfile.h>
+#include <TList.h>
+#include <TLorentzVector.h>
+#include <TClonesArray.h>
+#include <TRefArray.h>
+
+#include "TDatabasePDG.h"
+#include "AliAnalysisManager.h"
+#include "AliJetFinder.h"
+#include "AliJetHeader.h"
+#include "AliJetReader.h"
+#include "AliJetReaderHeader.h"
+#include "AliUA1JetHeaderV1.h"
+#include "AliSISConeJetHeader.h"
+#include "AliESDEvent.h"
+#include "AliAODEvent.h"
+#include "AliAODHandler.h"
+#include "AliAODInputHandler.h"
+#include "AliAODTrack.h"
+#include "AliAODMCParticle.h"
+#include "AliAODJet.h"
+#include "AliAODJetEventBackground.h"
+#include "AliMCParticle.h"
+#include "AliAODMCParticle.h"
+#include "AliMCEventHandler.h"
+#include "AliMCEvent.h"
+#include "AliStack.h"
+
+#include "AliAODHeader.h"
+#include "AliAODMCHeader.h"
+//#include "AliGenPythiaEventHeader.h"
+#include "AliJetKineReaderHeader.h"
+#include "AliGenCocktailEventHeader.h"
+#include "AliInputEventHandler.h"
+#include "AliGenEventHeader.h"
+#include "AliGenDPMjetEventHeader.h"
+
+#include "AliAnalysisTaskJetHadronCorrelation.h"
+#include "AliAnalysisTaskPhiCorrelations.h"
+//#include "AliAnalysisHelperJetTasks.h"
+#include "AliPWG4HighPtQAMC.h"
+
+using std::cout;
+using std::endl;
+
+ClassImp(AliAnalysisTaskJetHadronCorrelation)
+
+                               //________________________________________________________________________
+                               AliAnalysisTaskJetHadronCorrelation::AliAnalysisTaskJetHadronCorrelation():
+                                                               AliAnalysisTaskSE(),
+                                                               fUseAODInput(kFALSE),
+                                                               fJetBranch("jets"),
+                                                               fNonStdFile(""),
+                                                               fAODIn(0x0),
+                                                               fAODOut(0x0),
+                                                               fAODExtension(0x0),
+                                                               JFAlg("ANTIKT"),         
+                                                               Radius(0.4),
+                                                               Filtermask(272),
+                                                               BackM(0),
+                                                               TrackPtcut(0.15),
+                                                               SkipCone(0),
+                                                               IsMC(kTRUE),
+                                                               JetEScale(1.),
+                                                               TrackEScale(1.),
+                                                               fxsec(0.),
+                                                               ftrial(1.),
+                                                               fHistList(0x0), // Output list
+  fIfiles(0),
+                                                               fH1Events(0x0),
+                                                               fH1Xsec(0x0),
+                                                               fH1Trials(0x0),
+                                                               fH1Track_pt              (0x0),
+                                                               fH1Track_phi             (0x0),
+                                                               fH1Track_eta             (0x0),
+                                                               fH1MCTrack_pt            (0x0),
+                                                               fH1MCTrack_phi           (0x0),
+                                                               fH1MCTrack_eta           (0x0),
+                                                               fH1MCPrimTrack_pt        (0x0),
+                                                               fH1MCPrimTrack_phi       (0x0),
+                                                               fH1MCPrimTrack_eta       (0x0),
+                                                               fH1Jet_pt                (0x0),
+                                                               fH1Jet_phi               (0x0),
+                                                               fH1Jet_eta               (0x0),
+                                                               fH1leadJet_pt            (0x0),
+                                                               fH1leadJet_pt_dijet      (0x0),
+                                                               fH1subJet_pt_dijet       (0x0),
+                                                               fH1JetMC_pt              (0x0),
+                                                               fH1leadJetMC_pt          (0x0),
+                                                               fH1leadJetMC_pt_dijet    (0x0),
+                                                               fH1subJetMC_pt_dijet     (0x0),
+                                                               fH2JetsJet_dphi          (0x0),
+                                                               fH2JetsJet_deta          (0x0),
+                                                               fH2JetsJet_Aj            (0x0),
+                                                               fH2JetsJet_pt            (0x0),
+                                                               fH2JetsJetMC_dphi        (0x0),
+                                                               fH2JetsJetMC_deta        (0x0),
+                                                               fH2JetsJetMC_Aj          (0x0),
+                                                               fH2JetsJetMC_pt          (0x0),
+                                                               fH2Mult_Mtrack           (0x0),
+                                                               fH2Mult_Mlead            (0x0),
+                                                               fH2Mult_Mjet             (0x0),
+                                                               fH2Mult_Njet             (0x0),
+                                                               fH2Mult_Aj               (0x0),
+                                                               fH2Mlead_Aj              (0x0),
+                                                               fH2Jet_pt_Mlead          (0x0),
+                                                               fH2Jet_pt_Munder         (0x0),
+                                                               fH2leadJetMCptResolution (0x0),
+                                                               fH2TrackMCptResolution   (0x0),
+                                                               fH2TrackMCptEfficiency   (0x0),
+                                                               fH2AjCorrelation_MCRec   (0x0),
+                                                               fH2MleadCorrelation_MCRec(0x0)
+{
+                               for(int j=0;j<5;j++){
+                                                               fH1ndiJ_ediv                             [j]=0;
+                                                               fH1Aj                                    [j]=0;
+                                                               fH1Mlead                                 [j]=0;
+                                                               fH1leadJetMC_dphiResolution              [j]=0;
+                                                               fH1subJetMC_dphiResolution               [j]=0;
+                                                               fH1leadJetMC_Efficiency                  [j]=0;
+                                                               fH1subJetMC_Efficiency                   [j]=0;
+                                                               for(int k=0;k<5;k++){
+                                                                                               fH1JetHadron_dphi_ediv           [j][k]=0;
+                                                                                               fH1JetHadron_dphi_tptweight_ediv [j][k]=0;
+                                                                                               fH1JetHadron_dphi_tJptweight_ediv[j][k]=0;
+                                                                                               fH1JetHadronMC_dphi_ediv           [j][k]=0;
+                                                                                               fH1JetHadronMC_dphi_tptweight_ediv [j][k]=0;
+                                                                                               fH1JetHadronMC_dphi_tJptweight_ediv[j][k]=0;
+                                                                                               fH1JetHadronMCPrim_dphi_ediv           [j][k]=0;
+                                                                                               fH1JetHadronMCPrim_dphi_tptweight_ediv [j][k]=0;
+                                                                                               fH1JetHadronMCPrim_dphi_tJptweight_ediv[j][k]=0;
+                                                               }
+                               }
+                               for(int j=0;j<3;j++){
+                                                               fH1ndiJ_2040Mlead                               [j]=0;
+                                                               fH1ndiJ_2040Aj                                  [j]=0;
+                                                               for(int k=0;k<5;k++){
+                                                                                               fH1JetHadron_dphi_tptweight2040_Mleaddep[j][k]=0;
+                                                                                               fH1JetHadron_dphi_tptweight2040_Ajdep   [j][k]=0;
+                                                                                               fH1JetHadronMC_dphi_tptweight2040_Mleaddep[j][k]=0;
+                                                                                               fH1JetHadronMC_dphi_tptweight2040_Ajdep   [j][k]=0;
+                                                                                               fH1JetHadronMCPrim_dphi_tptweight2040_Mleaddep[j][k]=0;
+                                                                                               fH1JetHadronMCPrim_dphi_tptweight2040_Ajdep   [j][k]=0;
+                                                               }
+                               }
+                               // Default constructor
+}
+
+//________________________________________________________________________
+AliAnalysisTaskJetHadronCorrelation::AliAnalysisTaskJetHadronCorrelation(const char *name):
+                               AliAnalysisTaskSE(name),
+                               fUseAODInput(kFALSE),
+                               fJetBranch("jets"),
+                               fNonStdFile(""),
+                               fAODIn(0x0), 
+                               fAODOut(0x0), 
+                               fAODExtension(0x0),
+                               JFAlg("ANTIKT"),         
+                               Radius(0.4),
+                               Filtermask(272),
+                               BackM(0),
+                               TrackPtcut(0.15),
+                               SkipCone(0),
+                               IsMC(kTRUE),
+                               JetEScale(1.),
+                               TrackEScale(1.),
+                               fxsec(0.),
+                               ftrial(1.),
+                               fHistList(0x0), // Output list
+                               fIfiles(0),
+                               fH1Events(0x0),
+                               fH1Xsec(0x0),
+                               fH1Trials(0x0),
+                               fH1Track_pt              (0x0),
+                               fH1Track_phi             (0x0),
+                               fH1Track_eta             (0x0),
+                               fH1MCTrack_pt            (0x0),
+                               fH1MCTrack_phi           (0x0),
+                               fH1MCTrack_eta           (0x0),
+                               fH1MCPrimTrack_pt        (0x0),
+                               fH1MCPrimTrack_phi       (0x0),
+                               fH1MCPrimTrack_eta       (0x0),
+                               fH1Jet_pt                (0x0),
+                               fH1Jet_phi               (0x0),
+                               fH1Jet_eta               (0x0),
+                               fH1leadJet_pt            (0x0),
+                               fH1leadJet_pt_dijet      (0x0),
+                               fH1subJet_pt_dijet       (0x0),
+                               fH1JetMC_pt              (0x0),
+                               fH1leadJetMC_pt          (0x0),
+                               fH1leadJetMC_pt_dijet    (0x0),
+                               fH1subJetMC_pt_dijet     (0x0),
+                               fH2JetsJet_dphi          (0x0),
+                               fH2JetsJet_deta          (0x0),
+                               fH2JetsJet_Aj            (0x0),
+                               fH2JetsJet_pt            (0x0),
+                               fH2JetsJetMC_dphi        (0x0),
+                               fH2JetsJetMC_deta        (0x0),
+                               fH2JetsJetMC_Aj          (0x0),
+                               fH2JetsJetMC_pt          (0x0),
+                               fH2Mult_Mtrack           (0x0),
+                               fH2Mult_Mlead            (0x0),
+                               fH2Mult_Mjet             (0x0),
+                               fH2Mult_Njet             (0x0),
+                               fH2Mult_Aj               (0x0),
+                               fH2Mlead_Aj              (0x0),
+                               fH2Jet_pt_Mlead          (0x0),
+                               fH2Jet_pt_Munder         (0x0),
+                               fH2leadJetMCptResolution (0x0),
+                               fH2TrackMCptResolution   (0x0),
+                               fH2TrackMCptEfficiency   (0x0),
+                               fH2AjCorrelation_MCRec   (0x0),
+                               fH2MleadCorrelation_MCRec(0x0)
+{
+
+                               for(int j=0;j<5;j++){
+                                                               fH1ndiJ_ediv                             [j]=0;
+                                                               fH1Aj                                    [j]=0;
+                                                               fH1Mlead                                 [j]=0;
+                                                               fH1leadJetMC_dphiResolution              [j]=0;
+                                                               fH1subJetMC_dphiResolution               [j]=0;
+                                                               fH1leadJetMC_Efficiency                  [j]=0;
+                                                               fH1subJetMC_Efficiency                   [j]=0;
+                                                               for(int k=0;k<5;k++){
+                                                                                               fH1JetHadron_dphi_ediv           [j][k]=0;
+                                                                                               fH1JetHadron_dphi_tptweight_ediv [j][k]=0;
+                                                                                               fH1JetHadron_dphi_tJptweight_ediv[j][k]=0;
+                                                                                               fH1JetHadronMC_dphi_ediv           [j][k]=0;
+                                                                                               fH1JetHadronMC_dphi_tptweight_ediv [j][k]=0;
+                                                                                               fH1JetHadronMC_dphi_tJptweight_ediv[j][k]=0;
+                                                                                               fH1JetHadronMCPrim_dphi_ediv           [j][k]=0;
+                                                                                               fH1JetHadronMCPrim_dphi_tptweight_ediv [j][k]=0;
+                                                                                               fH1JetHadronMCPrim_dphi_tJptweight_ediv[j][k]=0;
+                                                               }
+                               }
+                               for(int j=0;j<3;j++){
+                                                               fH1ndiJ_2040Mlead                               [j]=0;
+                                                               fH1ndiJ_2040Aj                                  [j]=0;
+                                                               for(int k=0;k<5;k++){
+                                                                                               fH1JetHadron_dphi_tptweight2040_Mleaddep[j][k]=0;
+                                                                                               fH1JetHadron_dphi_tptweight2040_Ajdep   [j][k]=0;
+                                                                                               fH1JetHadronMC_dphi_tptweight2040_Mleaddep[j][k]=0;
+                                                                                               fH1JetHadronMC_dphi_tptweight2040_Ajdep   [j][k]=0;
+                                                                                               fH1JetHadronMCPrim_dphi_tptweight2040_Mleaddep[j][k]=0;
+                                                                                               fH1JetHadronMCPrim_dphi_tptweight2040_Ajdep   [j][k]=0;
+                                                               }
+                               }
+
+                               // Default constructor
+                               // Constructor
+                               // Define input and output slots here
+                               // Input slot #0 works with a TChain
+                               DefineInput(0, TChain::Class());
+                               // Output slot #0 id reserved by the base class for AOD
+                               // Output slot #1 writes into a TH1 container
+                               DefineOutput(1, TList::Class());
+}
+
+//________________________________________________________________________
+void AliAnalysisTaskJetHadronCorrelation::UserCreateOutputObjects()
+{
+                               // Create histograms
+                               // Called once
+
+                               fHistList = new TList();fHistList->SetOwner(kTRUE); cout<<"TList is created for output "<<endl;
+                               //if (!fHistList){ fHistList = new TList();fHistList->SetOwner(kTRUE); cout<<"TList is created for output "<<endl;}
+
+                               Bool_t oldStatus = TH1::AddDirectoryStatus();
+                               TH1::AddDirectory(kFALSE);
+                               Float_t pi=TMath::Pi();
+
+
+                               char *histname;
+
+                               fH1Events                  = new TH1F    ("Events"        ,"Events"            ,1,0,1);
+                               fH1Xsec                    = new TProfile("Xsec"          ,"Xsec"              ,1,0,1);
+                               fH1Trials                  = new TH1F    ("Trials"        ,"Trials"            ,1,0,1);
+
+                               fH1Track_pt                = new TH1F("Track_pt"          ,"Track_pt"          ,200,0,200);
+                               fH1Track_phi               = new TH1F("Track_phi"         ,"Track_phi"         ,100,0,2*pi);
+                               fH1Track_eta               = new TH1F("Track_eta"         ,"Track_eta"         ,100,-1.,1);
+                               fH1MCTrack_pt              = new TH1F("MCTrack_pt"        ,"MCTrack_pt"        ,200,0,200);
+                               fH1MCTrack_phi             = new TH1F("MCTrack_phi"       ,"MCTrack_phi"       ,100,0,2*pi);
+                               fH1MCTrack_eta             = new TH1F("MCTrack_eta"       ,"MCTrack_eta"       ,100,-1.,1);
+                               fH1MCPrimTrack_pt          = new TH1F("MCPrimTrack_pt"    ,"MCPrimTrack_pt"    ,200,0,200);
+                               fH1MCPrimTrack_phi         = new TH1F("MCPrimTrack_phi"   ,"MCPrimTrack_phi"   ,100,0,2*pi);
+                               fH1MCPrimTrack_eta         = new TH1F("MCPrimTrack_eta"   ,"MCPrimTrack_eta"   ,100,-1.,1);
+                               fH1Jet_pt                  = new TH1F("Jet_pt"            ,"Jet_pt"            ,200,0,200);
+                               fH1Jet_phi                 = new TH1F("Jet_phi"           ,"Jet_pt"            ,100,0,2*pi);
+                               fH1Jet_eta                 = new TH1F("Jet_eta"           ,"Jet_pt"            ,100,-1.,1);
+                               fH1leadJet_pt              = new TH1F("leadJet_pt"        ,"leadJet_pt"        ,200,0,200);
+                               fH1leadJet_pt_dijet        = new TH1F("leadJet_pt_dijet"  ,"leadJet_pt_dijet"  ,200,0,200);
+                               fH1subJet_pt_dijet         = new TH1F("subJet_pt_dijet"   ,"subJet_pt_dijet"   ,200,0,200);
+                               fH1JetMC_pt                = new TH1F("JetMC_pt"          ,"JetMC_pt"          ,200,0,200);
+                               fH1leadJetMC_pt            = new TH1F("leadJetMC_pt"      ,"leadJetMC_pt"      ,200,0,200);
+                               fH1leadJetMC_pt_dijet      = new TH1F("leadJetMC_pt_dijet","leadJetMC_pt_dijet",200,0,200);
+                               fH1subJetMC_pt_dijet       = new TH1F("subJetMC_pt_dijet" ,"subJetMC_pt_dijet" ,200,0,200);
+                               fH2JetsJet_dphi            = new TH2F("JetsJet_dphi"      ,"JetsJet_dphi"      ,200,0,200,100,-2*pi,2*pi);
+                               fH2JetsJet_deta            = new TH2F("JetsJet_deta"      ,"JetsJet_deta"      ,200,0,200,100,-1.5,1.5);
+                               fH2JetsJet_Aj              = new TH2F("JetsJet_Aj"        ,"JetsJet_Aj"        ,200,0,200,100,0,1.2);
+                               fH2JetsJet_pt              = new TH2F("JetsJet_pt"        ,"JetsJet_pt"        ,200,0,200,200,0,200);
+                               fH2JetsJetMC_dphi          = new TH2F("JetsJetMC_dphi"    ,"JetsJetMC_dphi"    ,200,0,200,100,-2*pi,2*pi);
+                               fH2JetsJetMC_deta          = new TH2F("JetsJetMC_deta"    ,"JetsJetMC_deta"    ,200,0,200,100,-1.5,1.5);
+                               fH2JetsJetMC_Aj            = new TH2F("JetsJetMC_Aj"      ,"JetsJetMC_Aj"      ,200,0,200,100,0,1.2);
+                               fH2JetsJetMC_pt            = new TH2F("JetsJetMC_pt"      ,"JetsJetMC_pt"      ,200,0,200,200,0,200);
+                               fH2Mult_Mtrack             = new TH2F("Mult_Mtrack"       ,"Mult_Mtrack"       ,50,0,250,50,0,250); 
+                               fH2Mult_Mlead              = new TH2F("Mult_Mlead"        ,"Mult_Mlead"        ,50,0,250,25,0,25);   
+                               fH2Mult_Mjet               = new TH2F("Mult_Mjet"         ,"Mult_Mjet"         ,50,0,250,50,0,100);  
+                               fH2Mult_Njet               = new TH2F("Mult_Njet"         ,"Mult_Njet"         ,50,0,250,50,0,50);   
+                               fH2Mult_Aj                 = new TH2F("Mult_Aj"           ,"Mult_Aj"           ,50,0,250,25,0,1.2);  
+                               fH2Mlead_Aj                = new TH2F("Mlead_Aj"          ,"Mlead_Aj"          ,25,0,25,25,0,1.2);   
+                               fH2Jet_pt_Mlead            = new TH2F("Jet_pt_Mlead"      ,"Jet_pt_Mlead"      ,50,0,200,25,0,25);   
+                               fH2Jet_pt_Munder           = new TH2F("Jet_pt_Munder"     ,"Jet_pt_Munder"     ,50,0,200,25,0,5);    
+                               fH2leadJetMCptResolution   = new TH2F("leadJetMCptResolution" ,"leadJetMCptResolution" ,200,0,200,200,0,200);    
+                               fH2TrackMCptResolution     = new TH2F("TrackMCptResolution"   ,"TrackMCptResolution"   ,200,0,200,200,0,200);    
+                               fH2TrackMCptEfficiency     = new TH2F("TrackMCptEfficiency"   ,"TrackMCptEfficiency"   ,200,0,200,100,0,1.2);    
+                               fH2AjCorrelation_MCRec     = new TH2F("AjCorrelation_MCRec"   ,"AjCorrelation_MCRec"   ,60,0,1.2,60,0,1.2);    
+                               fH2MleadCorrelation_MCRec  = new TH2F("MleadCorrelation_MCRec","MleadCorrelation_MCRec",60,0,60,60,0,60);    
+
+                               for(int j=0;j<5;j++){
+                                                               histname = Form("ndiJ_ediv%d",j);
+                                                               fH1ndiJ_ediv[j]= new TH1F(histname,histname,1,1,2);
+                                                               histname        = Form("Aj%d",j);                    
+                                                               fH1Aj[j]    = new TH1F(histname,histname,50,0,1.2);  
+                                                               histname        = Form("Mlead%d",j);                 
+                                                               fH1Mlead[j] = new TH1F(histname,histname,50,0,50);   
+                                                               histname = Form("leadJetMC_dphiResolution%d",j);
+                                                               fH1leadJetMC_dphiResolution[j] = new TH1F(histname,histname,200,-2*pi,2*pi);
+                                                               histname = Form("subJetMC_dphiResolution%d",j);
+                                                               fH1subJetMC_dphiResolution[j] = new TH1F(histname,histname,200,-2*pi,2*pi);
+                                                               histname = Form("leadJetMC_Efficiency%d",j);
+                                                               fH1leadJetMC_Efficiency[j] = new TH1F(histname,histname,100,0,1.2);
+                                                               histname = Form("subJetMC_Efficiency%d",j);
+                                                               fH1subJetMC_Efficiency[j] = new TH1F(histname,histname,100,0,1.2);
+                                                               for(int k=0;k<5;k++){
+                                                                                               histname = Form("JetHadron_dphi_ediv%d%d",j,k);
+                                                                                               fH1JetHadron_dphi_ediv             [j][k]= new TH1F(histname,histname,200,-1./2.*pi,3./2.*pi);
+                                                                                               histname = Form("JetHadron_dphi_tptweight_ediv%d%d",j,k);
+                                                                                               fH1JetHadron_dphi_tptweight_ediv   [j][k]= new TH1F(histname,histname,200,-1./2.*pi,3./2.*pi);
+                                                                                               histname = Form("JetHadron_dphi_tJptweight_ediv%d%d",j,k);
+                                                                                               fH1JetHadron_dphi_tJptweight_ediv  [j][k]= new TH1F(histname,histname,200,-1./2.*pi,3./2.*pi);
+                                                                                               histname = Form("JetHadronMC_dphi_ediv%d%d",j,k);
+                                                                                               fH1JetHadronMC_dphi_ediv             [j][k]= new TH1F(histname,histname,200,-1./2.*pi,3./2.*pi);
+                                                                                               histname = Form("JetHadronMC_dphi_tptweight_ediv%d%d",j,k);
+                                                                                               fH1JetHadronMC_dphi_tptweight_ediv   [j][k]= new TH1F(histname,histname,200,-1./2.*pi,3./2.*pi);
+                                                                                               histname = Form("JetHadronMC_dphi_tJptweight_ediv%d%d",j,k);
+                                                                                               fH1JetHadronMC_dphi_tJptweight_ediv  [j][k]= new TH1F(histname,histname,200,-1./2.*pi,3./2.*pi);
+                                                                                               histname = Form("JetHadronMCPrim_dphi_ediv%d%d",j,k);
+                                                                                               fH1JetHadronMCPrim_dphi_ediv             [j][k]= new TH1F(histname,histname,200,-1./2.*pi,3./2.*pi);
+                                                                                               histname = Form("JetHadronMCPrim_dphi_tptweight_ediv%d%d",j,k);
+                                                                                               fH1JetHadronMCPrim_dphi_tptweight_ediv   [j][k]= new TH1F(histname,histname,200,-1./2.*pi,3./2.*pi);
+                                                                                               histname = Form("JetHadronMCPrim_dphi_tJptweight_ediv%d%d",j,k);
+                                                                                               fH1JetHadronMCPrim_dphi_tJptweight_ediv  [j][k]= new TH1F(histname,histname,200,-1./2.*pi,3./2.*pi);
+                                                               }
+                               }
+                               for(int j=0;j<3;j++){
+                                                               histname = Form("ndiJ_2040Mlead%d",j);
+                                                               fH1ndiJ_2040Mlead[j]= new TH1F(histname,histname,1,1,2);
+                                                               histname = Form("ndiJ_2040Aj%d",j);
+                                                               fH1ndiJ_2040Aj[j]= new TH1F(histname,histname,1,1,2);
+                                                               for(int k=0;k<5;k++){
+                                                                                               histname = Form("JetHadron_dphi_tptweight2040_Mleaddep%d%d",j,k);
+                                                                                               fH1JetHadron_dphi_tptweight2040_Mleaddep   [j][k]= new TH1F(histname,histname,200,-1./2.*pi,3./2.*pi);
+                                                                                               histname = Form("JetHadron_dphi_tptweight2040_Ajdep%d%d",j,k);
+                                                                                               fH1JetHadron_dphi_tptweight2040_Ajdep      [j][k]= new TH1F(histname,histname,200,-1./2.*pi,3./2.*pi);
+                                                                                               histname = Form("JetHadronMC_dphi_tptweight2040_Mleaddep%d%d",j,k);
+                                                                                               fH1JetHadronMC_dphi_tptweight2040_Mleaddep   [j][k]= new TH1F(histname,histname,200,-1./2.*pi,3./2.*pi);
+                                                                                               histname = Form("JetHadronMC_dphi_tptweight2040_Ajdep%d%d",j,k);
+                                                                                               fH1JetHadronMC_dphi_tptweight2040_Ajdep      [j][k]= new TH1F(histname,histname,200,-1./2.*pi,3./2.*pi);
+                                                                                               histname = Form("JetHadronMCPrim_dphi_tptweight2040_Mleaddep%d%d",j,k);
+                                                                                               fH1JetHadronMCPrim_dphi_tptweight2040_Mleaddep   [j][k]= new TH1F(histname,histname,200,-1./2.*pi,3./2.*pi);
+                                                                                               histname = Form("JetHadronMCPrim_dphi_tptweight2040_Ajdep%d%d",j,k);
+                                                                                               fH1JetHadronMCPrim_dphi_tptweight2040_Ajdep      [j][k]= new TH1F(histname,histname,200,-1./2.*pi,3./2.*pi);
+                                                               }
+                               }
+
+
+                               if(IsMC){
+                                                               fHistList->Add(fH1Events            );
+                                                               fHistList->Add(fH1Xsec              );
+                                                               fHistList->Add(fH1Trials            );
+                                                               fHistList->Add(fH1Track_pt          );
+                                                               fHistList->Add(fH1Track_phi         );
+                                                               fHistList->Add(fH1Track_eta         );
+                                                               fHistList->Add(fH1MCTrack_pt        );
+                                                               fHistList->Add(fH1MCTrack_phi       );
+                                                               fHistList->Add(fH1MCTrack_eta       );
+                                                               fHistList->Add(fH1MCPrimTrack_pt    );
+                                                               fHistList->Add(fH1MCPrimTrack_phi   );
+                                                               fHistList->Add(fH1MCPrimTrack_eta   );
+                                                               fHistList->Add(fH1Jet_pt            );
+                                                               fHistList->Add(fH1Jet_phi           );
+                                                               fHistList->Add(fH1Jet_eta           );
+                                                               fHistList->Add(fH1leadJet_pt        );
+                                                               fHistList->Add(fH1leadJet_pt_dijet  );
+                                                               fHistList->Add(fH1subJet_pt_dijet   );
+                                                               fHistList->Add(fH1JetMC_pt          );
+                                                               fHistList->Add(fH1leadJetMC_pt      );
+                                                               fHistList->Add(fH1leadJetMC_pt_dijet);
+                                                               fHistList->Add(fH1subJetMC_pt_dijet );
+                                                               fHistList->Add(fH2JetsJet_dphi      );
+                                                               fHistList->Add(fH2JetsJet_deta      );
+                                                               fHistList->Add(fH2JetsJet_Aj        );
+                                                               fHistList->Add(fH2JetsJet_pt        );
+                                                               fHistList->Add(fH2JetsJetMC_dphi    );
+                                                               fHistList->Add(fH2JetsJetMC_deta    );
+                                                               fHistList->Add(fH2JetsJetMC_Aj      );
+                                                               fHistList->Add(fH2JetsJetMC_pt      );
+                                                               fHistList->Add(fH2Mult_Mtrack       );
+                                                               fHistList->Add(fH2Mult_Mlead        ); 
+                                                               fHistList->Add(fH2Mult_Mjet         );  
+                                                               fHistList->Add(fH2Mult_Njet         );  
+                                                               fHistList->Add(fH2Mult_Aj           );    
+                                                               fHistList->Add(fH2Mlead_Aj          );   
+                                                               fHistList->Add(fH2Jet_pt_Mlead      );   
+                                                               fHistList->Add(fH2Jet_pt_Munder     );  
+                                                               fHistList->Add(fH2leadJetMCptResolution );
+                                                               fHistList->Add(fH2TrackMCptResolution   );
+                                                               fHistList->Add(fH2TrackMCptEfficiency   );
+                                                               fHistList->Add(fH2AjCorrelation_MCRec   );
+                                                               fHistList->Add(fH2MleadCorrelation_MCRec);
+                                                               for(int j=0;j<5;j++){
+                                                                                               fHistList->Add(fH1ndiJ_ediv                        [j]);
+                                                                                               fHistList->Add(fH1Aj                               [j]);
+                                                                                               fHistList->Add(fH1Mlead                            [j]);
+                                                                                               fHistList->Add(fH1leadJetMC_dphiResolution         [j]);
+                                                                                               fHistList->Add(fH1subJetMC_dphiResolution          [j]);
+                                                                                               fHistList->Add(fH1leadJetMC_Efficiency             [j]);
+                                                                                               fHistList->Add(fH1subJetMC_Efficiency              [j]);
+                                                                                               for(int k=0;k<5;k++){
+                                                                                                                               fHistList->Add(fH1JetHadron_dphi_ediv               [j][k]);
+                                                                                                                               fHistList->Add(fH1JetHadron_dphi_tptweight_ediv     [j][k]);
+                                                                                                                               fHistList->Add(fH1JetHadron_dphi_tJptweight_ediv    [j][k]);
+                                                                                                                               fHistList->Add(fH1JetHadronMC_dphi_ediv               [j][k]);
+                                                                                                                               fHistList->Add(fH1JetHadronMC_dphi_tptweight_ediv     [j][k]);
+                                                                                                                               fHistList->Add(fH1JetHadronMC_dphi_tJptweight_ediv    [j][k]);
+                                                                                                                               fHistList->Add(fH1JetHadronMCPrim_dphi_ediv               [j][k]);
+                                                                                                                               fHistList->Add(fH1JetHadronMCPrim_dphi_tptweight_ediv     [j][k]);
+                                                                                                                               fHistList->Add(fH1JetHadronMCPrim_dphi_tJptweight_ediv    [j][k]);
+                                                                                               }
+                                                               }
+                                                               for(int j=0;j<3;j++){
+                                                                                               fHistList->Add(fH1ndiJ_2040Mlead    [j]);
+                                                                                               fHistList->Add(fH1ndiJ_2040Aj       [j]);
+                                                                                               for(int k=0;k<5;k++){
+                                                                                                                               fHistList->Add(fH1JetHadron_dphi_tptweight2040_Mleaddep     [j][k]);
+                                                                                                                               fHistList->Add(fH1JetHadron_dphi_tptweight2040_Ajdep        [j][k]);
+                                                                                                                               fHistList->Add(fH1JetHadronMC_dphi_tptweight2040_Mleaddep     [j][k]);
+                                                                                                                               fHistList->Add(fH1JetHadronMC_dphi_tptweight2040_Ajdep        [j][k]);
+                                                                                                                               fHistList->Add(fH1JetHadronMCPrim_dphi_tptweight2040_Mleaddep     [j][k]);
+                                                                                                                               fHistList->Add(fH1JetHadronMCPrim_dphi_tptweight2040_Ajdep        [j][k]);
+                                                                                               }
+                                                               }
+                               }
+                               else{
+                                                               fHistList->Add(fH1Events            );
+                                                               fHistList->Add(fH1Track_pt          );
+                                                               fHistList->Add(fH1Track_phi         );
+                                                               fHistList->Add(fH1Track_eta         );
+                                                               fHistList->Add(fH1Jet_pt            );
+                                                               fHistList->Add(fH1Jet_phi           );
+                                                               fHistList->Add(fH1Jet_eta           );
+                                                               fHistList->Add(fH1leadJet_pt        );
+                                                               fHistList->Add(fH1leadJet_pt_dijet  );
+                                                               fHistList->Add(fH1subJet_pt_dijet   );
+                                                               fHistList->Add(fH2JetsJet_dphi      );
+                                                               fHistList->Add(fH2JetsJet_deta      );
+                                                               fHistList->Add(fH2JetsJet_Aj        );
+                                                               fHistList->Add(fH2JetsJet_pt        );
+                                                               fHistList->Add(fH2Mult_Mtrack       );
+                                                               fHistList->Add(fH2Mult_Mlead        ); 
+                                                               fHistList->Add(fH2Mult_Mjet         );  
+                                                               fHistList->Add(fH2Mult_Njet         );  
+                                                               fHistList->Add(fH2Mult_Aj           );    
+                                                               fHistList->Add(fH2Mlead_Aj          );   
+                                                               fHistList->Add(fH2Jet_pt_Mlead      );   
+                                                               fHistList->Add(fH2Jet_pt_Munder     );  
+                                                               for(int j=0;j<5;j++){
+                                                                                               fHistList->Add(fH1ndiJ_ediv                        [j]);
+                                                                                               fHistList->Add(fH1Aj                               [j]);
+                                                                                               fHistList->Add(fH1Mlead                            [j]);
+                                                                                               for(int k=0;k<5;k++){
+                                                                                                                               fHistList->Add(fH1JetHadron_dphi_ediv               [j][k]);
+                                                                                                                               fHistList->Add(fH1JetHadron_dphi_tptweight_ediv     [j][k]);
+                                                                                                                               fHistList->Add(fH1JetHadron_dphi_tJptweight_ediv    [j][k]);
+                                                                                               }
+                                                               }
+                                                               for(int j=0;j<3;j++){
+                                                                                               fHistList->Add(fH1ndiJ_2040Mlead    [j]);
+                                                                                               fHistList->Add(fH1ndiJ_2040Aj       [j]);
+                                                                                               for(int k=0;k<5;k++){
+                                                                                                                               fHistList->Add(fH1JetHadron_dphi_tptweight2040_Mleaddep     [j][k]);
+                                                                                                                               fHistList->Add(fH1JetHadron_dphi_tptweight2040_Ajdep        [j][k]);
+                                                                                               }
+                                                               }
+                               }
+
+                               // =========== Switch on Sumw2 for all histos ===========
+                               for (Int_t i=0; i<fHistList->GetEntries(); ++i) 
+                               {
+                                                               TH1 *h1 = dynamic_cast<TH1*>(fHistList->At(i));
+                                                               if (h1)
+                                                               {
+                                                                                               h1->Sumw2();
+                                                                                               continue;
+                                                               }
+                                                               THnSparse *hn = dynamic_cast<THnSparse*>(fHistList->At(i));
+                                                               if(hn)hn->Sumw2();
+                               }
+                               TH1::AddDirectory(oldStatus);
+
+                               PostData(1,fHistList);
+}
+
+
+//----------------------------------------------------------------------                                                 
+void AliAnalysisTaskJetHadronCorrelation::Init()
+{
+                               // Initialization                                                                                                    
+                               if (fDebug) printf("AnalysisTaskJetHadronCorrelation::Init() \n");
+
+}
+
+Bool_t AliAnalysisTaskJetHadronCorrelation::Notify()
+{
+
+
+                               fAODIn = dynamic_cast<AliAODEvent*>(InputEvent());
+                               fAODOut = AODEvent();
+                               if(fNonStdFile.Length()!=0){
+                                                               AliAODHandler *aodH = dynamic_cast<AliAODHandler*>(AliAnalysisManager::GetAnalysisManager()->GetOutputEventHandler());
+                                                               fAODExtension = (aodH?aodH->GetExtension(fNonStdFile.Data()):0);
+                                                               if(fAODExtension){
+                                                                                               if(fDebug>1)Printf("AODExtension found for %s ",fNonStdFile.Data());
+                                                               }
+                               }
+
+                               TTree *tree = AliAnalysisManager::GetAnalysisManager()->GetTree();
+                               fxsec=0;
+                               ftrial=1;
+
+                               if(tree){
+                                                               TFile *curfile = tree->GetCurrentFile();
+                                                               if(!curfile){
+                                                                                               Error("Notify","No current file");
+                                                                                               return kFALSE;
+                                                               }
+                                                               if(IsMC){
+                                                                                               AliPWG4HighPtQAMC::PythiaInfoFromFile(curfile->GetName(),fxsec,ftrial);
+                                                                                               fH1Xsec  ->Fill(0.,fxsec);
+                                                                                               fH1Trials->Fill(0.,ftrial);
+                                                               }
+
+                               }
+
+                               printf("Reading File %s ",fInputHandler->GetTree()->GetCurrentFile()->GetName());
+                               return kTRUE;
+}
+void AliAnalysisTaskJetHadronCorrelation::FinishTaskOutput()
+{
+}
+
+
+
+//________________________________________________________________________
+void AliAnalysisTaskJetHadronCorrelation::UserExec(Option_t *) 
+{
+
+
+                               // Main loop (called each event)
+                               // Execute analysis for current event
+
+                               AliAODEvent *fAOD;
+                               TObject* handler = AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler();
+                               if( handler && handler->InheritsFrom("AliAODInputHandler") ) {
+                                                               fAOD  =  ((AliAODInputHandler*)handler)->GetEvent();
+                                                               if(fUseAODInput) fAODIn = fAOD;
+                                                               if (fDebug > 1)  Printf("%s:%d AOD event from input", (char*)__FILE__,__LINE__);
+                               }
+                               else {
+                                                               handler = AliAnalysisManager::GetAnalysisManager()->GetOutputEventHandler();
+                                                               if( handler && handler->InheritsFrom("AliAODHandler") ) {
+                                                                                               fAOD = ((AliAODHandler*)handler)->GetAOD();
+                                                                                               fAODIn = fAOD;
+                                                                                               if (fDebug > 1)  Printf("%s:%d AOD event from output", (char*)__FILE__,__LINE__);
+                                                               }
+                               }
+
+                               if(!fAODIn && !fUseAODInput){ // case we have AOD in input & output and want jets from output
+                                                               TObject* outHandler = AliAnalysisManager::GetAnalysisManager()->GetOutputEventHandler();
+                                                               if( outHandler && outHandler->InheritsFrom("AliAODHandler") ) {
+                                                                                               fAODIn = ((AliAODHandler*)outHandler)->GetAOD();
+                                                                                               if (fDebug > 1)  Printf("%s:%d jets from output AOD", (char*)__FILE__,__LINE__);
+                                                               }
+                               }
+                               if (!fAODIn) {
+                                                               Printf("ERROR %s : fAODIn not available",(char*)__FILE__);
+                                                               return;
+                               }
+
+                               AliInputEventHandler* inputHandler = (AliInputEventHandler*)
+                                                               ((AliAnalysisManager::GetAnalysisManager())->GetInputEventHandler());
+                               if(!(inputHandler->IsEventSelected() & AliVEvent::kMB)){
+                                                               if (fDebug > 1 ) Printf(" Trigger Selection: event REJECTED ... ");
+                                                               return;
+                               }
+                               fH1Events->Fill(0);
+
+                               AliAODHeader* aliH = dynamic_cast <AliAODHeader*> (fAODIn->GetHeader());
+                               if(!aliH){
+                                                               Printf("ERROR: AliAODHeader not available");
+                                                               return;
+                               }
+                               double Mult = aliH->GetRefMultiplicity();
+
+                               // start jet analysis  -------------------------Init.
+                               Float_t pi=TMath::Pi();
+
+                               Double_t Jet_pt   [20][5000];
+                               Double_t Jet_phi  [20][5000];
+                               Double_t Jet_eta  [20][5000];
+                               Double_t Jet_area [20][5000];
+                               Double_t subJet_pt [20][5000];
+                               Double_t subJet_eta[20][5000];
+                               Double_t Track_n  ;
+                               Double_t Track_pt [5000];
+                               Double_t Track_eta[5000];
+                               Double_t Track_phi[5000];
+                               Double_t MCTrack_n  ;
+                               Double_t MCTrack_pt [5000];
+                               Double_t MCTrack_eta[5000];
+                               Double_t MCTrack_phi[5000];
+
+                               Track_n=0;MCTrack_n=0;
+                               for(int i=0;i<20;i++){
+                                                               for(int j=0;j<1000;j++){
+                                                                                               Jet_pt[i][j]=0.;
+                                                                                               Jet_phi[i][j]=999.;
+                                                                                               Jet_eta[i][j]=999.;
+                                                                                               Jet_area[i][j]=999.;
+                                                                                               subJet_pt[i][j]=0.;
+                                                                                               subJet_eta[i][j]=999.;
+                                                                                               Track_pt [j]=0.;
+                                                                                               Track_phi[j]=999.;
+                                                                                               Track_eta[j]=999.;
+                                                                                               MCTrack_pt [j]=0.;
+                                                                                               MCTrack_phi[j]=999.;
+                                                                                               MCTrack_eta[j]=999.;
+                                                               }
+                               }
+
+                               int nLJetAOD=999; double ptLJetAOD=0;double phiLJetAOD=999.;double etaLJetAOD=999.;double ptsLJetAOD=0;double phisLJetAOD=900.;double etasLJetAOD=900.;
+                               int nLJetMC2=999; double ptLJetMC2=0;double phiLJetMC2=999.;double etaLJetMC2=999.;double ptsLJetMC2=0;double phisLJetMC2=900.;double etasLJetMC2=900.;
+                               int nLJetMC =999; double ptLJetMC =0;double phiLJetMC =999.;double etaLJetMC =999.;double ptsLJetMC =0;double phisLJetMC =900.;double etasLJetMC =900.;
+                               bool findLJetAOD=false;
+                               bool findLJetMC2=false;
+                               bool findDiJet=false,findDiJetMC=false;
+                               int nLJet = 999;
+                               int Mjet_tot =0;
+                               int Njet_tot =0;
+
+                               double Aj=99.,AjMC=99.;
+                               double Mlead=99.,MleadMC=99.;
+                               int    Munder=99.;
+
+                               ////--------------------------------------------------------------------Init.
+
+                               TString cAdd = "";
+                               TString Branchname_gen,Branchname_gen2,Branchname_rec;
+                               if((JFAlg=="ANTIKT")||(JFAlg=="KT")){
+                                                               cAdd += Form("%02d_",(int)((Radius+0.01)*10.));
+                                                               cAdd += Form("B%d",(int)BackM);
+                                                               cAdd += Form("_Filter%05d",Filtermask);
+                                                               cAdd += Form("_Cut%05d",(int)(1000.*TrackPtcut));
+                                                               cAdd += Form("_Skip%02d",SkipCone);
+                                                               Branchname_gen  = Form("clustersAODMC_%s%s",JFAlg.Data(),cAdd.Data());
+                                                               Branchname_gen2 = Form("clustersAODMC2_%s%s",JFAlg.Data(),cAdd.Data());
+                                                               Branchname_rec  = Form("clustersAOD_%s%s",JFAlg.Data(),cAdd.Data());
+                               }
+                               else{
+                                                               cAdd += Form("%02d_",(int)((Radius+0.01)*10.));
+                                                               cAdd += Form("B%d",(int)BackM);
+                                                               cAdd += Form("_Filter%05d",Filtermask);
+                                                               cAdd += Form("_Cut%05d",(int)(1000.*TrackPtcut));
+                                                               Branchname_gen  = Form("jetsAODMC_%s%s",JFAlg.Data(),cAdd.Data());
+                                                               Branchname_gen2 = Form("jetsAODMC2_%s%s",JFAlg.Data(),cAdd.Data());
+                                                               Branchname_rec  = Form("jetsAOD_%s%s",JFAlg.Data(),cAdd.Data());
+                               }
+
+
+
+                               //count number of tracks@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
+                               //Reconstructed Track
+                               TClonesArray* tracks = dynamic_cast <TClonesArray*> (fAODIn->GetTracks());
+                               if(!tracks){
+                                                               if (fDebug > 1)  Printf("%s:%d could not get AODtracks", (char*)__FILE__,__LINE__);
+                                                               return;
+                               }
+
+                               Bool_t TrackEff[5000];
+                               for(int i=0;i<5000;i++){
+                                                               TrackEff[i]=false;
+                               }
+                               Int_t nt = fAODIn->GetNumberOfTracks();
+                               AliAODTrack* trackAOD=NULL;
+                               for(int ntrack =0;ntrack<nt;ntrack++){
+                                                               trackAOD = (AliAODTrack*) (tracks->At(ntrack));
+                                                               Bool_t bgoodT=false;
+                                                               if(Filtermask!=272){if(trackAOD->TestFilterMask(Filtermask))bgoodT=true;}
+                                                               else               {if(trackAOD->IsHybridGlobalConstrainedGlobal())bgoodT=true;} //for hybrid Track cuts
+                                                               if(!bgoodT)continue;
+                                                               if(TMath::Abs(trackAOD->Eta())<0.9){
+                                                                                               Track_n++;
+                                                                                               fH1Track_pt ->Fill(trackAOD->Pt()*TrackEScale);
+                                                                                               fH1Track_phi->Fill(trackAOD->Phi());
+                                                                                               fH1Track_eta->Fill(trackAOD->Eta());
+                                                                                               //cout<<"Scale "<<TrackEScale<<"  org pt "<<trackAOD->Pt()<< " scaled pt "<< trackAOD->Pt()*TrackEScale <<endl;
+                                                                                               if(IsMC){
+                                                                                                                               // track pt resplution-------------------
+                                                                                                                               Int_t MCID = TMath::Abs(trackAOD->GetLabel());
+                                                                                                                               TClonesArray* mctracks = dynamic_cast <TClonesArray*> (fAODIn->GetList()->FindObject(AliAODMCParticle::StdBranchName()));
+                                                                                                                               if(!mctracks){
+                                                                                                                                                               if (fDebug > 1)  Printf("%s:%d could not get AODMCtracks", (char*)__FILE__,__LINE__);
+                                                                                                                                                               continue;
+                                                                                                                               }
+                                                                                                                               AliAODMCParticle *trackMCAOD = (AliAODMCParticle*) mctracks->At(MCID);
+                                                                                                                               fH2TrackMCptResolution->Fill(trackMCAOD->Pt(),trackAOD->Pt());
+                                                                                                                               TrackEff[MCID]=true;
+                                                                                                                               // --------------------------------------
+                                                                                               }
+                                                               }
+                               }
+                               if(IsMC){
+                                                               //MC Track
+                                                               TClonesArray* mctracks = dynamic_cast <TClonesArray*> (fAODIn->GetList()->FindObject(AliAODMCParticle::StdBranchName()));
+                                                               if(!mctracks){
+                                                                                               if (fDebug > 1)  Printf("%s:%d could not get AODMCtracks", (char*)__FILE__,__LINE__);
+                                                                                               return;
+                                                               }
+                                                               Int_t ntmc = mctracks->GetEntriesFast();
+                                                               AliAODMCParticle* trackMCAOD;
+                                                               int lastprim=0;
+                                                               for(int ntrack =0;ntrack<ntmc;ntrack++){
+                                                                                               trackMCAOD = (AliAODMCParticle*) (mctracks->At(ntrack));
+                                                                                               if((trackMCAOD->IsPhysicalPrimary())==1)lastprim=ntrack;
+                                                               }
+                                                               for(int ntrack =0;ntrack<ntmc;ntrack++){
+                                                                                               trackMCAOD = (AliAODMCParticle*) (mctracks->At(ntrack));
+                                                                                               if((trackMCAOD->GetPdgCode()>10)&&((trackMCAOD->GetMother())>1)&&(ntrack>lastprim)&&(trackMCAOD->Charge())){// for Decay particles
+                                                                                                                               if(TMath::Abs(trackMCAOD->Eta())<0.9){
+                                                                                                                                                               fH1MCTrack_pt ->Fill(trackMCAOD->Pt());
+                                                                                                                                                               fH1MCTrack_phi->Fill(trackMCAOD->Phi());
+                                                                                                                                                               fH1MCTrack_eta->Fill(trackMCAOD->Eta());
+                                                                                                                                                               if(TrackEff[ntrack])fH2TrackMCptEfficiency->Fill(trackMCAOD->Pt(),1);
+                                                                                                                                                               else                fH2TrackMCptEfficiency->Fill(trackMCAOD->Pt(),0);
+                                                                                                                               }
+                                                                                               }
+                                                                                               if((trackMCAOD->IsPhysicalPrimary())&&(trackMCAOD->Charge())){// for Physical particles
+                                                                                                                               if(TMath::Abs(trackMCAOD->Eta())<0.9){
+                                                                                                                                                               MCTrack_n++;
+                                                                                                                                                               fH1MCTrack_pt ->Fill(trackMCAOD->Pt());
+                                                                                                                                                               fH1MCTrack_phi->Fill(trackMCAOD->Phi());
+                                                                                                                                                               fH1MCTrack_eta->Fill(trackMCAOD->Eta());
+                                                                                                                                                               fH1MCPrimTrack_pt ->Fill(trackMCAOD->Pt());
+                                                                                                                                                               fH1MCPrimTrack_phi->Fill(trackMCAOD->Phi());
+                                                                                                                                                               fH1MCPrimTrack_eta->Fill(trackMCAOD->Eta());
+                                                                                                                                                               if(TrackEff[ntrack])fH2TrackMCptEfficiency->Fill(trackMCAOD->Pt(),1);
+                                                                                                                                                               else                fH2TrackMCptEfficiency->Fill(trackMCAOD->Pt(),0);
+                                                                                                                               }
+                                                                                               }
+                                                               }
+                               }
+                               //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  count number of tracks
+
+
+
+
+                               for(int algorithm=0;algorithm<3;algorithm++){
+
+                                                               if(algorithm==0)fJetBranch   = Branchname_rec.Data();
+                                                               if(algorithm==1)fJetBranch   = Branchname_gen2.Data();
+                                                               if(algorithm==2)fJetBranch   = Branchname_gen.Data();
+
+                                                               if((!IsMC&&(algorithm==1||algorithm==2)))continue;
+
+                                                               TClonesArray* jets = dynamic_cast <TClonesArray*> (fAODIn->FindListObject(fJetBranch.Data()));
+                                                               if(!jets){
+                                                                                               printf(" Tere are no Branch named %s \n",fJetBranch.Data());
+                                                                                               continue;
+                                                               }
+                                                               Int_t nj = jets->GetEntriesFast();
+                                                               if (fDebug) printf("There are %5d jets in the event \n", nj);
+                                                               AliAODJet* jetsAOD;
+                                                               //Find Leading Jet -------------------------------------------------------
+                                                               for(int njet =0;njet<nj;njet++){
+                                                                                               jetsAOD = (AliAODJet*) (jets->At(njet));
+                                                                                               Jet_pt   [algorithm][njet] = jetsAOD->Pt()*JetEScale;
+                                                                                               Jet_phi  [algorithm][njet] = jetsAOD->Phi();  
+                                                                                               Jet_eta  [algorithm][njet] = jetsAOD->Eta();
+                                                                                               Jet_area [algorithm][njet] = jetsAOD->EffectiveAreaCharged();
+
+
+                                                                                               TRefArray *reftracks = jetsAOD->GetRefTracks();
+                                                                                               if(algorithm==0){if(Jet_pt[algorithm][njet]>1.)Mjet_tot +=  reftracks->GetEntriesFast();Njet_tot++;}
+                                                                                               double eta_cut_Jet=0.5;
+                                                                                               if((TMath::Abs(Jet_eta[algorithm][njet])<eta_cut_Jet)&&(Jet_pt[algorithm][njet]>10.)){
+                                                                                                                               if(algorithm==0){
+                                                                                                                                                               fH1Jet_pt ->Fill(Jet_pt [algorithm][njet]);  
+                                                                                                                                                               fH1Jet_phi->Fill(Jet_phi[algorithm][njet]);  
+                                                                                                                                                               fH1Jet_eta->Fill(Jet_eta[algorithm][njet]);  
+                                                                                                                                                               if(Jet_pt[algorithm][njet]>ptLJetAOD){
+                                                                                                                                                                                               findLJetAOD=true;
+                                                                                                                                                                                               nLJetAOD=njet;ptLJetAOD=Jet_pt[algorithm][njet];phiLJetAOD=Jet_phi[algorithm][njet];etaLJetAOD=Jet_eta[algorithm][njet];
+                                                                                                                                                               }
+                                                                                                                               }
+                                                                                                                               if(algorithm==1){
+                                                                                                                                                               fH1JetMC_pt->Fill(Jet_pt[algorithm][njet]);  
+                                                                                                                                                               if(Jet_pt[algorithm][njet]>ptLJetMC2){
+                                                                                                                                                                                               findLJetMC2=true;
+                                                                                                                                                                                               nLJetMC2=njet;ptLJetMC2=Jet_pt[algorithm][njet];phiLJetMC2=Jet_phi[algorithm][njet];etaLJetMC2=Jet_eta[algorithm][njet];
+                                                                                                                                                               }
+                                                                                                                               }
+                                                                                                                               if(algorithm==2){
+                                                                                                                                                               if(Jet_pt[algorithm][njet]>ptLJetMC){
+                                                                                                                                                                                               nLJetMC=njet;ptLJetMC=Jet_pt[algorithm][njet];phiLJetMC=Jet_phi[algorithm][njet];etaLJetMC=Jet_eta[algorithm][njet];
+                                                                                                                                                               }
+                                                                                                                               }
+                                                                                               }
+                                                               }//njet loop
+                                                               if(algorithm==0){nLJet=nLJetAOD;fH1leadJet_pt  ->Fill(Jet_pt[algorithm][nLJet]);}
+                                                               if(algorithm==1){nLJet=nLJetMC2;fH1leadJetMC_pt->Fill(Jet_pt[algorithm][nLJet]);}
+                                                               if(algorithm==2){nLJet=nLJetMC;}
+                                                               if(findLJetAOD&&(algorithm==0)){
+                                                                                               jetsAOD = (AliAODJet*) (jets->At(nLJet));
+                                                                                               TRefArray *reftracks = jetsAOD->GetRefTracks();
+                                                                                               Mlead = reftracks->GetEntriesFast();
+                                                               }
+                                                               if(findLJetMC2&&(algorithm==1)){
+                                                                                               jetsAOD = (AliAODJet*) (jets->At(nLJetMC2));
+                                                                                               TRefArray *reftracks = jetsAOD->GetRefTracks();
+                                                                                               MleadMC = reftracks->GetEntriesFast();
+                                                               }
+                                                               //----------------------------------------------------------- Leading Jet
+                                                               if(nj<2)continue;
+                                                               //Find Sub leading Jet ==================================================
+                                                               for(int njet=0;njet<nj;njet++){
+                                                                                               if(njet==nLJet)continue;
+                                                                                               jetsAOD = (AliAODJet *)jets->At(njet);
+                                                                                               subJet_pt [algorithm][njet] = jetsAOD->Pt()*JetEScale;
+                                                                                               subJet_eta[algorithm][njet] = jetsAOD->Eta();
+                                                                                               double eta_cut_Jet=0.5;
+                                                                                               if((TMath::Abs(subJet_eta[algorithm][njet])<eta_cut_Jet) && (subJet_pt[algorithm][njet]>10.)){
+                                                                                                                               if(subJet_pt[algorithm][njet]>ptsLJetAOD&&algorithm==0){
+                                                                                                                                                               ptsLJetAOD=Jet_pt[algorithm][njet];phisLJetAOD=Jet_phi[algorithm][njet];etasLJetAOD=Jet_eta[algorithm][njet];
+                                                                                                                               }
+                                                                                                                               if(subJet_pt[algorithm][njet]>ptsLJetMC2 &&algorithm==1){
+                                                                                                                                                               ptsLJetMC2=Jet_pt[algorithm][njet];phisLJetMC2=Jet_phi[algorithm][njet];etasLJetMC2=Jet_eta[algorithm][njet];
+                                                                                                                               }
+                                                                                                                               if(subJet_pt[algorithm][njet]>ptsLJetMC &&algorithm==2){
+                                                                                                                                                               ptsLJetMC =Jet_pt[algorithm][njet];phisLJetMC =Jet_phi[algorithm][njet];etasLJetMC =Jet_eta[algorithm][njet];
+                                                                                                                               }
+                                                                                               }
+                                                               }
+                                                               //====================================================== Sub leading Jet 
+
+                                                               double Leading_pt=0.;double Leading_phi=999.;double Leading_eta=999.;double sLeading_pt=0.;double sLeading_phi=999.;double sLeading_eta=999.;
+                                                               if(algorithm==0){Leading_pt=ptLJetAOD;Leading_phi=phiLJetAOD;Leading_eta=etaLJetAOD;sLeading_pt=ptsLJetAOD;sLeading_phi=phisLJetAOD;sLeading_eta=etasLJetAOD;}
+                                                               if(algorithm==1){Leading_pt=ptLJetMC2;Leading_phi=phiLJetMC2;Leading_eta=etaLJetMC2;sLeading_pt=ptsLJetMC2;sLeading_phi=phisLJetMC2;sLeading_eta=etasLJetMC2;}
+                                                               if(algorithm==2){Leading_pt=ptLJetMC ;Leading_phi=phiLJetMC ;Leading_eta=etaLJetMC ;sLeading_pt=ptsLJetMC ;sLeading_phi=phisLJetMC ;sLeading_eta=etasLJetMC ;}
+
+                                                               ////Di-Jet event trigger +++++++++++++++++++++++++++++++++++++++++++++++
+                                                               double DPhi = DeltaPhi(Leading_phi,sLeading_phi);
+                                                               double DEta = Leading_eta-sLeading_eta;
+                                                               if(algorithm==0){
+                                                                                               fH2JetsJet_dphi->Fill(Leading_pt,DPhi);
+                                                                                               fH2JetsJet_deta->Fill(Leading_pt,DEta);
+                                                               }
+                                                               if(algorithm==1){
+                                                                                               fH2JetsJetMC_dphi->Fill(Leading_pt,DPhi);
+                                                                                               fH2JetsJetMC_deta->Fill(Leading_pt,DEta);
+                                                               }
+                                                               if((TMath::Cos(DPhi)<-0.5)&&(Leading_pt>10.)&&(sLeading_pt>10.)){
+                                                                                               if(algorithm==0)Aj   = (Leading_pt-sLeading_pt)/(Leading_pt+sLeading_pt);
+                                                                                               if(algorithm==1)AjMC = (Leading_pt-sLeading_pt)/(Leading_pt+sLeading_pt);
+                                                                                               if(algorithm==0){
+                                                                                                                               fH1subJet_pt_dijet ->Fill(sLeading_pt);
+                                                                                                                               fH1leadJet_pt_dijet->Fill(Leading_pt);
+                                                                                                                               fH2JetsJet_Aj      ->Fill(Leading_pt,Aj);
+                                                                                                                               fH2JetsJet_pt      ->Fill(Leading_pt,sLeading_pt);
+                                                                                                                               fH2Mult_Aj         ->Fill(Mult,Aj); 
+                                                                                                                               fH2Mlead_Aj        ->Fill(Mlead,Aj);
+                                                                                                                               for(int eb=0;eb<5;eb++){
+                                                                                                                                                               if(TMath::Abs(Leading_pt -10.-20.*(eb))<10.){
+                                                                                                                                                                                               fH1Aj[eb]   ->Fill(Aj);
+                                                                                                                                                               }
+                                                                                                                               }
+                                                                                               }
+                                                                                               if(algorithm==1){
+                                                                                                                               fH1leadJetMC_pt_dijet->Fill(Leading_pt);
+                                                                                                                               fH1subJetMC_pt_dijet ->Fill(sLeading_pt);
+                                                                                                                               fH2JetsJetMC_Aj      ->Fill(Leading_pt,AjMC);
+                                                                                                                               fH2JetsJetMC_pt      ->Fill(Leading_pt,sLeading_pt);
+                                                                                                                               findDiJetMC=true;
+                                                                                               }
+                                                                                               findDiJet=true;
+
+                                                               }
+                                                               ////+++++++++++++++++++++++++++++++++++++++++++++++ Di-Jet event trigger 
+
+                                                               if(algorithm!=0)continue;// for only data & reconstructed Jets
+
+
+                                                               //Jet-Hadron Correlation###############################################
+                                                               if((findDiJet)&&(Leading_pt>10.)&&(sLeading_pt>10.)){
+                                                                                               double eta_cut_Jet=0.5;
+                                                                                               if(TMath::Abs(Leading_eta)<eta_cut_Jet){
+                                                                                                                               for(int eb=0;eb<5;eb++){
+                                                                                                                                                               if(TMath::Abs(Leading_pt -10.-20.*(eb))<10.){
+                                                                                                                                                                                               fH1ndiJ_ediv[eb]->Fill(1);
+                                                                                                                                                                                               if(eb==1){
+                                                                                                                                                                                                                               if((0<Mlead)&&Mlead<7)              {fH1ndiJ_2040Mlead[0]->Fill(1);}
+                                                                                                                                                                                                                               else if((7<=Mlead)&&(Mlead<10))     {fH1ndiJ_2040Mlead[1]->Fill(1);}
+                                                                                                                                                                                                                               else                                {fH1ndiJ_2040Mlead[2]->Fill(1);}
+                                                                                                                                                                                                                               if((0<Aj)&&(Aj<0.19))               {fH1ndiJ_2040Aj   [0]->Fill(1);}
+                                                                                                                                                                                                                               else if((0.19<=Aj)&&(Aj<0.38))      {fH1ndiJ_2040Aj   [1]->Fill(1);}
+                                                                                                                                                                                                                               else                                {fH1ndiJ_2040Aj   [2]->Fill(1);}
+                                                                                                                                                                                               }
+                                                                                                                                                                                               fH1Mlead[eb]->Fill(Mlead);
+                                                                                                                                                                                               for(int ntrack =0;ntrack<nt;ntrack++){
+                                                                                                                                                                                                                               trackAOD = (AliAODTrack*) (fAODIn->GetTrack(ntrack));
+                                                                                                                                                                                                                               Bool_t bgoodT=false;
+                                                                                                                                                                                                                               if(Filtermask!=272){if(trackAOD->TestFilterMask(Filtermask))bgoodT=true;}
+                                                                                                                                                                                                                               else{               if(trackAOD->IsHybridGlobalConstrainedGlobal())bgoodT=true;} //for hybrid Track cuts
+                                                                                                                                                                                                                               if(!bgoodT)continue;
+                                                                                                                                                                                                                               Track_pt   [ntrack]      = (trackAOD->Pt()*TrackEScale);
+                                                                                                                                                                                                                               Track_phi  [ntrack]      = trackAOD->Phi();
+                                                                                                                                                                                                                               Track_eta  [ntrack]      = trackAOD->Eta();
+
+                                                                                                                                                                                                                               //cout<<"Scale "<<TrackEScale<<"  org pt "<<trackAOD->Pt()<< " scaled pt "<< trackAOD->Pt()*TrackEScale <<endl;
+
+                                                                                                                                                                                                                               double DelPhi = DeltaPhi(Leading_phi,Track_phi[ntrack]);
+                                                                                                                                                                                                                               if(TMath::Abs(Track_eta[ntrack])<0.9){
+                                                                                                                                                                                                                                                               if((TMath::Abs(DelPhi-pi/2.)<pi/8.)||((DelPhi+pi/2.)<pi/8.)||(TMath::Abs(DelPhi-3./2.*pi)<pi/8.))Munder++;
+                                                                                                                                                                                                                                                               for(int teb=0;teb<5;teb++){
+                                                                                                                                                                                                                                                                                               if(teb==0){if(!( Track_pt[ntrack]>0.15))continue;}
+                                                                                                                                                                                                                                                                                               if(teb==1){if(!((Track_pt[ntrack]<1.5)&&(Track_pt[ntrack]>0.15)))continue;}
+                                                                                                                                                                                                                                                                                               if(teb==2){if(!((Track_pt[ntrack]<3.0)&&(Track_pt[ntrack]>1.5)))continue;}
+                                                                                                                                                                                                                                                                                               if(teb==3){if(!((Track_pt[ntrack]<4.5)&&(Track_pt[ntrack]>3.0)))continue;}
+                                                                                                                                                                                                                                                                                               if(teb==4){if(!( Track_pt[ntrack]>4.5))continue;}
+                                                                                                                                                                                                                                                                                               fH1JetHadron_dphi_ediv                [eb][teb]->Fill(DelPhi); 
+                                                                                                                                                                                                                                                                                               fH1JetHadron_dphi_tptweight_ediv      [eb][teb]->Fill(DelPhi,Track_pt[ntrack]);
+                                                                                                                                                                                                                                                                                               fH1JetHadron_dphi_tJptweight_ediv     [eb][teb]->Fill(DelPhi,Track_pt[ntrack]/Leading_pt);
+                                                                                                                                                                                                                                                                                               if(eb==1){
+                                                                                                                                                                                                                                                                                                                               if((0<Mlead)&&Mlead<7)         {fH1JetHadron_dphi_tptweight2040_Mleaddep[0][teb]->Fill(DelPhi,Track_pt[ntrack]);}
+                                                                                                                                                                                                                                                                                                                               else if((7<=Mlead)&&(Mlead<10)){fH1JetHadron_dphi_tptweight2040_Mleaddep[1][teb]->Fill(DelPhi,Track_pt[ntrack]);}
+                                                                                                                                                                                                                                                                                                                               else                           {fH1JetHadron_dphi_tptweight2040_Mleaddep[2][teb]->Fill(DelPhi,Track_pt[ntrack]);}
+                                                                                                                                                                                                                                                                                                                               if((0<Aj)&&(Aj<0.19))          {fH1JetHadron_dphi_tptweight2040_Ajdep   [0][teb]->Fill(DelPhi,Track_pt[ntrack]);}
+                                                                                                                                                                                                                                                                                                                               else if((0.19<=Aj)&&(Aj<0.38)) {fH1JetHadron_dphi_tptweight2040_Ajdep   [1][teb]->Fill(DelPhi,Track_pt[ntrack]);}
+                                                                                                                                                                                                                                                                                                                               else                           {fH1JetHadron_dphi_tptweight2040_Ajdep   [2][teb]->Fill(DelPhi,Track_pt[ntrack]);}
+                                                                                                                                                                                                                                                                                               }
+                                                                                                                                                                                                                                                               }
+                                                                                                                                                                                                                               }
+                                                                                                                                                                                               }//Track Loop
+                                                                                                                                                                                               if(IsMC){
+                                                                                                                                                                                                                               //MC Track
+                                                                                                                                                                                                                               TClonesArray* mctracks = dynamic_cast <TClonesArray*> (fAODIn->GetList()->FindObject(AliAODMCParticle::StdBranchName()));
+                                                                                                                                                                                                                               if(!mctracks){
+                                                                                                                                                                                                                                                               if (fDebug > 1)  Printf("%s:%d could not get AODMCtracks", (char*)__FILE__,__LINE__);
+                                                                                                                                                                                                                                                               continue;
+                                                                                                                                                                                                                               }
+                                                                                                                                                                                                                               Int_t ntmc = mctracks->GetEntriesFast();
+                                                                                                                                                                                                                               AliAODMCParticle* trackMCAOD;
+                                                                                                                                                                                                                               int lastprim=0;
+                                                                                                                                                                                                                               for(int ntrack =0;ntrack<ntmc;ntrack++){
+                                                                                                                                                                                                                                                               trackMCAOD = (AliAODMCParticle*) (mctracks->At(ntrack));
+                                                                                                                                                                                                                                                               if((trackMCAOD->IsPhysicalPrimary())==1)lastprim=ntrack;
+                                                                                                                                                                                                                               }
+                                                                                                                                                                                                                               for(int ntrack =0;ntrack<ntmc;ntrack++){
+                                                                                                                                                                                                                                                               trackMCAOD = (AliAODMCParticle*) (mctracks->At(ntrack));
+                                                                                                                                                                                                                                                               if((trackMCAOD->GetPdgCode()>10)&&((trackMCAOD->GetMother())>1)&&(ntrack>lastprim)&&(trackMCAOD->Charge())){// for Decay particles
+                                                                                                                                                                                                                                                                                               MCTrack_pt   [ntrack]      = trackMCAOD->Pt();
+                                                                                                                                                                                                                                                                                               MCTrack_phi  [ntrack]      = trackMCAOD->Phi();
+                                                                                                                                                                                                                                                                                               MCTrack_eta  [ntrack]      = trackMCAOD->Eta();
+                                                                                                                                                                                                                                                                                               double DelPhi = DeltaPhi(Leading_phi,MCTrack_phi[ntrack]);
+                                                                                                                                                                                                                                                                                               if(TMath::Abs(MCTrack_eta[ntrack])<0.9){
+                                                                                                                                                                                                                                                                                                                               for(int teb=0;teb<5;teb++){
+                                                                                                                                                                                                                                                                                                                                                               if(teb==0){if(!( MCTrack_pt[ntrack]>0.15))continue;}
+                                                                                                                                                                                                                                                                                                                                                               if(teb==1){if(!((MCTrack_pt[ntrack]<1.5)&&(MCTrack_pt[ntrack]>0.15)))continue;}
+                                                                                                                                                                                                                                                                                                                                                               if(teb==2){if(!((MCTrack_pt[ntrack]<3.0)&&(MCTrack_pt[ntrack]>1.5)))continue;}
+                                                                                                                                                                                                                                                                                                                                                               if(teb==3){if(!((MCTrack_pt[ntrack]<4.5)&&(MCTrack_pt[ntrack]>3.0)))continue;}
+                                                                                                                                                                                                                                                                                                                                                               if(teb==4){if(!( MCTrack_pt[ntrack]>4.5))continue;}
+                                                                                                                                                                                                                                                                                                                                                               fH1JetHadronMC_dphi_ediv                [eb][teb]->Fill(DelPhi); 
+                                                                                                                                                                                                                                                                                                                                                               fH1JetHadronMC_dphi_tptweight_ediv      [eb][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);
+                                                                                                                                                                                                                                                                                                                                                               fH1JetHadronMC_dphi_tJptweight_ediv     [eb][teb]->Fill(DelPhi,MCTrack_pt[ntrack]/Leading_pt);
+                                                                                                                                                                                                                                                                                                                                                               if(eb==1){
+                                                                                                                                                                                                                                                                                                                                                                                               if((0<Mlead)&&Mlead<7)         {fH1JetHadronMC_dphi_tptweight2040_Mleaddep[0][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}
+                                                                                                                                                                                                                                                                                                                                                                                               else if((7<=Mlead)&&(Mlead<10)){fH1JetHadronMC_dphi_tptweight2040_Mleaddep[1][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}
+                                                                                                                                                                                                                                                                                                                                                                                               else                           {fH1JetHadronMC_dphi_tptweight2040_Mleaddep[2][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}
+                                                                                                                                                                                                                                                                                                                                                                                               if((0<Aj)&&(Aj<0.19))          {fH1JetHadronMC_dphi_tptweight2040_Ajdep   [0][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}
+                                                                                                                                                                                                                                                                                                                                                                                               else if((0.19<=Aj)&&(Aj<0.38)) {fH1JetHadronMC_dphi_tptweight2040_Ajdep   [1][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}
+                                                                                                                                                                                                                                                                                                                                                                                               else                           {fH1JetHadronMC_dphi_tptweight2040_Ajdep   [2][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}
+                                                                                                                                                                                                                                                                                                                                                               }
+                                                                                                                                                                                                                                                                                                                               }
+                                                                                                                                                                                                                                                                                               }
+                                                                                                                                                                                                                                                               }
+                                                                                                                                                                                                                                                               if((trackMCAOD->IsPhysicalPrimary())&&(trackMCAOD->Charge())){// for Physical particles
+                                                                                                                                                                                                                                                                                               MCTrack_pt   [ntrack]      = trackMCAOD->Pt();
+                                                                                                                                                                                                                                                                                               MCTrack_phi  [ntrack]      = trackMCAOD->Phi();
+                                                                                                                                                                                                                                                                                               MCTrack_eta  [ntrack]      = trackMCAOD->Eta();
+                                                                                                                                                                                                                                                                                               double DelPhi = DeltaPhi(Leading_phi,MCTrack_phi[ntrack]);
+                                                                                                                                                                                                                                                                                               if(TMath::Abs(MCTrack_eta[ntrack])<0.9){
+                                                                                                                                                                                                                                                                                                                               for(int teb=0;teb<5;teb++){
+                                                                                                                                                                                                                                                                                                                                                               if(teb==0){if(!( MCTrack_pt[ntrack]>0.15))continue;}
+                                                                                                                                                                                                                                                                                                                                                               if(teb==1){if(!((MCTrack_pt[ntrack]<1.5)&&(MCTrack_pt[ntrack]>0.15)))continue;}
+                                                                                                                                                                                                                                                                                                                                                               if(teb==2){if(!((MCTrack_pt[ntrack]<3.0)&&(MCTrack_pt[ntrack]>1.5)))continue;}
+                                                                                                                                                                                                                                                                                                                                                               if(teb==3){if(!((MCTrack_pt[ntrack]<4.5)&&(MCTrack_pt[ntrack]>3.0)))continue;}
+                                                                                                                                                                                                                                                                                                                                                               if(teb==4){if(!( MCTrack_pt[ntrack]>4.5))continue;}
+                                                                                                                                                                                                                                                                                                                                                               fH1JetHadronMC_dphi_ediv                [eb][teb]->Fill(DelPhi); 
+                                                                                                                                                                                                                                                                                                                                                               fH1JetHadronMC_dphi_tptweight_ediv      [eb][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);
+                                                                                                                                                                                                                                                                                                                                                               fH1JetHadronMC_dphi_tJptweight_ediv     [eb][teb]->Fill(DelPhi,MCTrack_pt[ntrack]/Leading_pt);
+                                                                                                                                                                                                                                                                                                                                                               fH1JetHadronMCPrim_dphi_ediv                [eb][teb]->Fill(DelPhi); 
+                                                                                                                                                                                                                                                                                                                                                               fH1JetHadronMCPrim_dphi_tptweight_ediv      [eb][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);
+                                                                                                                                                                                                                                                                                                                                                               fH1JetHadronMCPrim_dphi_tJptweight_ediv     [eb][teb]->Fill(DelPhi,MCTrack_pt[ntrack]/Leading_pt);
+                                                                                                                                                                                                                                                                                                                                                               if(eb==1){
+                                                                                                                                                                                                                                                                                                                                                                                               if((0<Mlead)&&Mlead<7)         {fH1JetHadronMC_dphi_tptweight2040_Mleaddep[0][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}
+                                                                                                                                                                                                                                                                                                                                                                                               else if((7<=Mlead)&&(Mlead<10)){fH1JetHadronMC_dphi_tptweight2040_Mleaddep[1][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}
+                                                                                                                                                                                                                                                                                                                                                                                               else                           {fH1JetHadronMC_dphi_tptweight2040_Mleaddep[2][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}
+                                                                                                                                                                                                                                                                                                                                                                                               if((0<Aj)&&(Aj<0.19))          {fH1JetHadronMC_dphi_tptweight2040_Ajdep   [0][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}
+                                                                                                                                                                                                                                                                                                                                                                                               else if((0.19<=Aj)&&(Aj<0.38)) {fH1JetHadronMC_dphi_tptweight2040_Ajdep   [1][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}
+                                                                                                                                                                                                                                                                                                                                                                                               else                           {fH1JetHadronMC_dphi_tptweight2040_Ajdep   [2][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}
+
+                                                                                                                                                                                                                                                                                                                                                                                               if((0<Mlead)&&Mlead<7)         {fH1JetHadronMCPrim_dphi_tptweight2040_Mleaddep[0][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}
+                                                                                                                                                                                                                                                                                                                                                                                               else if((7<=Mlead)&&(Mlead<10)){fH1JetHadronMCPrim_dphi_tptweight2040_Mleaddep[1][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}
+                                                                                                                                                                                                                                                                                                                                                                                               else                           {fH1JetHadronMCPrim_dphi_tptweight2040_Mleaddep[2][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}
+                                                                                                                                                                                                                                                                                                                                                                                               if((0<Aj)&&(Aj<0.19))          {fH1JetHadronMCPrim_dphi_tptweight2040_Ajdep   [0][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}
+                                                                                                                                                                                                                                                                                                                                                                                               else if((0.19<=Aj)&&(Aj<0.38)) {fH1JetHadronMCPrim_dphi_tptweight2040_Ajdep   [1][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}
+                                                                                                                                                                                                                                                                                                                                                                                               else                           {fH1JetHadronMCPrim_dphi_tptweight2040_Ajdep   [2][teb]->Fill(DelPhi,MCTrack_pt[ntrack]);}
+                                                                                                                                                                                                                                                                                                                                                               }
+                                                                                                                                                                                                                                                                                                                               }
+                                                                                                                                                                                                                                                                                               }
+                                                                                                                                                                                                                                                               }
+                                                                                                                                                                                                                               }
+                                                                                                                                                                                               }
+                                                                                                                                                               }
+                                                                                                                               }// Momentum Loop Jet
+                                                                                                                               fH2Jet_pt_Munder   ->Fill(Leading_pt,(double)Munder/(1.8*pi/2.)*Jet_area[0][nLJet]);
+                                                                                                                               fH2Jet_pt_Mlead    ->Fill(Leading_pt,Mlead);
+                                                                                               }//eta cut
+                                                               }// Di-Jet
+                                                               //############################################### Jet-Hadron Correlation
+                               }// algorithm LOOP
+                               if(IsMC){
+                                                               for(int eb=0;eb<5;eb++){
+                                                                                               double DPhi,DEta;
+                                                                                               if(TMath::Abs(ptLJetAOD -10.-20.*(eb))<10.){
+                                                                                                                               DPhi = DeltaPhi(phiLJetMC,phiLJetAOD);
+                                                                                                                               DEta = etaLJetMC-etaLJetAOD;
+                                                                                                                               fH1leadJetMC_dphiResolution[eb]->Fill(DPhi);
+                                                                                                                               if(sqrt(pow(DPhi,2)+pow(DEta,2))<0.4)fH1leadJetMC_Efficiency[eb]->Fill(1);
+                                                                                                                               else                                 fH1leadJetMC_Efficiency[eb]->Fill(0);
+                                                                                                                               DPhi = DeltaPhi(phisLJetMC,phisLJetAOD);
+                                                                                                                               DEta = etasLJetMC-etasLJetAOD;
+                                                                                                                               fH1subJetMC_dphiResolution[eb]->Fill(DPhi);
+                                                                                                                               if(sqrt(pow(DPhi,2)+pow(DEta,2))<0.4)fH1subJetMC_Efficiency[eb]->Fill(1);
+                                                                                                                               else                                 fH1subJetMC_Efficiency[eb]->Fill(0);
+                                                                                                                               DPhi = DeltaPhi(phiLJetMC2,phiLJetAOD);
+                                                                                                                               DEta = etaLJetMC2-etaLJetAOD;
+
+                                                                                                                               if(sqrt(pow(DPhi,2)+pow(DEta,2))<0.4)fH2leadJetMCptResolution->Fill(ptLJetMC2,ptLJetAOD);
+                                                                                                                               if(findDiJetMC)fH2AjCorrelation_MCRec   ->Fill(AjMC,Aj);
+                                                                                                                               if(findDiJetMC)fH2MleadCorrelation_MCRec->Fill(MleadMC,Mlead);
+                                                                                               }
+                                                               }
+                                                               fH2Mult_Mtrack->Fill(Mult,Track_n); 
+                                                               fH2Mult_Mjet  ->Fill(Mult,Mjet_tot);
+                                                               fH2Mult_Njet  ->Fill(Mult,Njet_tot);
+                                                               if(findLJetAOD)fH2Mult_Mlead ->Fill(Mult,Mlead);   
+                               }
+                               else{
+                                                               fH2Mult_Mtrack->Fill(Mult,Track_n); 
+                                                               fH2Mult_Mjet  ->Fill(Mult,Mjet_tot);
+                                                               fH2Mult_Njet  ->Fill(Mult,Njet_tot);
+                                                               if(findLJetAOD)fH2Mult_Mlead ->Fill(Mult,Mlead);   
+                               }
+
+                               PostData(1, fHistList);
+                               return;
+}      
+
+//________________________________________________________________________
+void AliAnalysisTaskJetHadronCorrelation::Terminate(Option_t *){
+                               // Terminate analysis
+                               if (fDebug) printf("AnalysisTaskPt: Terminate() \n");
+}
+
+Double_t AliAnalysisTaskJetHadronCorrelation::DeltaPhi(Double_t phi1,Double_t phi2){
+                               Float_t pi=TMath::Pi();
+                               Double_t dphi = phi1-phi2;
+                               if     (dphi<(-1./2*pi))dphi = dphi +2*pi;
+                               else if(dphi>( 3./2*pi))dphi = dphi -2*pi;
+                               return dphi;
+}