ROOT logo
#ifndef ALIANALYSISTASKJETCOREPP_H
#define ALIANALYSISTASKJETCOREPP_H

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

// **************************************
// This task performs hadron-trigger recoil jet correlations 
// Output pT spectrum of jet given trigger pT 
// Author: filip krizek 16th March 2013
// *******************************************

class TH1F;
class TH1D;
class TH1I;
class TH2F;
class TH3F;
class TList;
class TClonesArray;
class THnSparse;
class TRandom3;
class TArrayI; 
class TProfile;
class TFile;
class TKey;
class AliESDEvent;
class AliAODExtension;
class AliAODEvent;
class AliGenPythiaEventHeader;
class AliMCEvent;    //FK//
class AliMCEventHandler; //FK//
class AliGenEventHeader; //FK//

#include "AliAnalysisTaskSE.h"
#include "AliVEvent.h"

class AliAnalysisTaskJetCorePP : public AliAnalysisTaskSE {
public:
   AliAnalysisTaskJetCorePP();
   AliAnalysisTaskJetCorePP(const char *name);
   AliAnalysisTaskJetCorePP(const AliAnalysisTaskJetCorePP& a); 
   AliAnalysisTaskJetCorePP& operator=(const AliAnalysisTaskJetCorePP& a); // not implemented
   virtual ~AliAnalysisTaskJetCorePP();
   virtual void  LocalInit() {Init();}
   virtual void  Init();
   virtual void  UserCreateOutputObjects();
   virtual void  UserExec(Option_t *option);
   virtual void  Terminate(const Option_t*);
   virtual Bool_t Notify();
 
   virtual void  SetBranchName(const TString &name){ fJetBranchName = name; } 
   virtual void  SetBranchNameChargMC(const TString &name){ fJetBranchNameChargMC = name; } 
   virtual void  SetBranchNameKine(const TString &name){ fJetBranchNameKine = name; } 
   virtual void  SetBranchNameFullMC(const TString &name){ fJetBranchNameFullMC = name; } 
   virtual void  SetBranchNameBg(const TString &name){ fJetBranchNameBg = name; } 
   virtual void  SetBranchNameBgChargMC(const TString &name){ fJetBranchNameBgChargMC = name; } 
   virtual void  SetBranchNameBgKine(const TString &name){ fJetBranchNameBgKine = name; } 
   virtual void  SetNonStdFile(char* c){fNonStdFile = c;} 
   virtual void  SetSystem(Int_t sys) { fSystem = sys; } 
   virtual void  SetJetR(Float_t jR) { fJetParamR = jR; }
   virtual void  SetBgJetR(Float_t bgjR) { fBgJetParamR = bgjR; }
   virtual void  SetBgMaxJetPt(Float_t mpt){ fBgMaxJetPt = mpt;}
   virtual void  SetRndTrials(Int_t nt){ fnTrials = nt;}
   virtual void  SetFreeAreaFrac(Float_t frac){ fJetFreeAreaFrac = frac;}
   virtual void  SetBgConeR(Float_t cr){ fBgConeR = cr; } 
   virtual void  SetOfflineTrgMask(AliVEvent::EOfflineTriggerTypes mask) { fOfflineTrgMask = mask; } 
   virtual void  SetMinContribVtx(Int_t n) { fMinContribVtx = n; } 
   virtual void  SetVtxZMin(Float_t z) { fVtxZMin = z; }
   virtual void  SetVtxZMax(Float_t z) { fVtxZMax = z; } 
   virtual void  SetFilterMask(UInt_t i){fFilterMask = i;} 
   virtual void  SetCentMin(Float_t cent) { fCentMin = cent; }
   virtual void  SetCentMax(Float_t cent) { fCentMax = cent; } 
   virtual void  SetJetEtaMin(Float_t eta) { fJetEtaMin = eta; }
   virtual void  SetJetEtaMax(Float_t eta) { fJetEtaMax = eta; } 
   virtual void  SetTriggerEtaCut(Float_t eta) { fTriggerEtaCut = eta; }
   virtual void  SetTrackEtaCut(Float_t eta) { fTrackEtaCut = eta; }
   virtual void  SetTrackLowPtCut(Float_t pt) { fTrackLowPtCut=pt; } 
   virtual void  SetTriggerType(Int_t tt){ fHardest=tt;}
   virtual void  SetEventNumberRangeLow(Int_t rl){ fEventNumberRangeLow=rl;}
   virtual void  SetEventNumberRangeHigh(Int_t rh){ fEventNumberRangeHigh=rh;}  
   virtual void  SetTriggerPtRangeLow(Float_t tl){ fTriggerPtRangeLow=tl;}   
   virtual void  SetTriggerPtRangeHigh(Float_t th){ fTriggerPtRangeHigh=th;}  
   virtual void  SetFillResponseMatrix(Bool_t brm){ fFillRespMx = brm;}
   virtual void  SetBinning(Bool_t bbb) { fDoubleBinning = bbb; } 
   virtual void  SetUseExchangeContainerInput(Bool_t b){ fUseExchContainer = b;} 

   Double_t RelativePhi(Double_t angle1, Double_t angle2); 

private:
   //private member functions
   Int_t   GetListOfTracks(TList *list); //returns index of trig and track list

   Bool_t SelectMCGenTracks(AliVParticle *trk, TList *trkList, Double_t &ptLeading, Int_t &index, Int_t counter);
   void FillEffHistos(TList *recList, TList *genList);
   
   void EstimateBgRhoMedian(TList *listJet, TList* listPart, Double_t &rhoMedian, Int_t mode);//median method to estimate bg
   void EstimateBgCone(TList *listJet, TList* listPart, Double_t &rhoPerpCone);//perp cone method to estimate bg
   void ReadTClonesArray(TString bname, TList *list); //init jets lists
   //private member objects
   AliESDEvent *fESD;    //! ESD object
   AliAODEvent *fAODIn;  //! AOD event for AOD input tracks
   AliAODEvent *fAODOut; //! AOD event 
   AliAODExtension  *fAODExtension; //! where we take the jets from can be input or output AOD
   AliMCEvent           *fMcEvent;    //! MC event                       
   AliInputEventHandler *fMcHandler;  //! MCEventHandler                 


   // jets to compare
   TString fJetBranchName; //  name of jet branch 
   TString fJetBranchNameChargMC;   //  name of jet branch output AOD
   TString fJetBranchNameKine; //  name of jet branch kine
   TString fJetBranchNameFullMC; //  name of jet branch 
   TString fJetBranchNameBg; //  name of bg (kt) jet branch 
   TString fJetBranchNameBgChargMC; //  name of bg (kT) jet branch 
   TString fJetBranchNameBgKine; //  name of bg (kT) jet branch 
   TList  *fListJets;      //! jet list reconstructed level
   TList  *fListJetsGen;   //! jet list generator level 
   TList  *fListJetsGenFull; //! jet list generator level full jets 
   TList  *fListJetsBg;      //! jet list reconstructed level to be removed from bg
   TList  *fListJetsBgGen;   //! jet list generator level to be removed from bg  


   TString fNonStdFile;    // name of delta aod file to catch the extension

   // event selection
   Int_t   fSystem;        // collision system  pp=0, pPb=1  
   Float_t fJetParamR;     // jet cone resolution (radius) R 
   Float_t fBgJetParamR;   // jet cone resolution (radius) R of jet to be removed from bg
   Float_t fBgMaxJetPt;    // max pt of jets accepted in bg 
   Float_t fBgConeR;       //perp cone R used to assess bg
   AliVEvent::EOfflineTriggerTypes fOfflineTrgMask; // mask of offline trigs 
   Int_t   fMinContribVtx; // min numb of trk contrib for prim vertex 
   Float_t fVtxZMin;	   // lower bound on vertex z 
   Float_t fVtxZMax;	   // upper bound on vertex z 
   UInt_t  fFilterMask;    // filter bit for slected tracks  
   Float_t fCentMin;	   // lower bound on centrality 
   Float_t fCentMax;	   // upper bound on centrality 
   Float_t fJetEtaMin;     // lower bound on eta for found jets 
   Float_t fJetEtaMax;     // upper bound on eta for found jets 
   Float_t fTriggerEtaCut; // lower bound on eta for trigger track
   Float_t fTrackEtaCut;   // upper bound on eta for trigger track 
   Float_t fTrackLowPtCut; // upper bound on eta for trigger track
   Bool_t  fUseExchContainer; //use exhange container
   
   TList *fOutputList;          //! output data container 
   TH1I  *fHistEvtSelection;    //! event selection statistic 
   TH2F      *fh2Ntriggers;     //trigger pT versus centrality 
   THnSparse *fHJetSpec;      //Recoil jet spectrum  
   THnSparse *fHJetSpecSubUeMedian; //Recoil jet spectrum, jet pT corrected by kT median  
   THnSparse *fHJetSpecSubUeCone;  //Recoil jet spectrum, jet pT corrected by perp cone rho 
   
   THnSparse *fHJetPhiCorr; // Dphi distribution jet-triger
   THnSparse *fHJetPhiCorrSubUeMedian; // Dphi distribution jet-triger
   THnSparse *fHJetPhiCorrSubUeCone; // Dphi distribution jet-triger

   //Diagnostics
   THnSparse *fHJetUeMedian;   //UE background from kT median
   THnSparse *fHJetUeCone;      //UE background from perp cone 
   THnSparse *fHRhoUeMedianVsCone;    //EBE UE from perp cone
   //THnSparse *fHJetDensity;       //density of jet with A>0.07  //fk
   //THnSparse *fHJetDensityA4;     //density of jets with A>0.4 //fk
   TH2D *fhJetPhi;     //Azimuthal distribution of jets
   TH2D *fhTriggerPhi; //Azimuthal distribution of trigger hadron
   TH2D *fhJetEta;     //Pseudorapidity distribution of jets
   TH2D *fhTriggerEta; //Pseudorapidity distribution of trigger hadron
   TH1D *fhVertexZ;    //z vertex distribution 
   TH1D *fhVertexZAccept;    //z vertex distribution after cut
   TH1D *fhContribVtx;    //contributors to vertex 
   TH1D *fhContribVtxAccept;    //contributors to vertex after cut
   TH1D *fhDphiTriggerJet;  //Deltaphi between trigger and jet 
   TH1D *fhDphiTriggerJetAccept;  //Deltaphi between trigger and jet after cut
   TH1D *fhCentrality;  //Deltaphi between trigger and jet 
   TH1D *fhCentralityAccept;  //Deltaphi between trigger and jet after cut
   TH1D *fhNofMultipleTriggers; // The number of additional triggers in events with at least one trigger 
   TH1D *fhNofMultipleTriggersCone; // The number of additional triggers in events with at least one trigger 
   TH1D *fhNofMultipleTriggersConeLow; // The number of additional triggers in events with at least one trigger 
   TH1D *fhNofMultipleTriggersConeHigh; // The number of additional triggers in events with at least one trigger 
   TH1D *fhDeltaRMultTriggersLow; // Angular distributions between trigger and assoc
   TH1D *fhDeltaRMultTriggersHigh; // Angular distributions between trigger and assoc
   TH1D *fhDeltaPhiMultTriggersLow; // Delta phi between trigger and assoc single incl trigger
   TH1D *fhDeltaPhiMultTriggersHigh; // Delta phi between trigger and assoc single incl triger

   TH1D *fhDeltaPhiMultTriggersInclLow; // Delta phi between trigger and assoc  incl trigg
   TH1D *fhDeltaPhiMultTriggersInclHigh; // Delta phi between trigger and assoc incl trigg
   TH1D *fhInclTrigCounter; // count the total number of inclusive triggers

   //THnSparse *fHJetPtRaw;      //bg unsubtr. vs bg subtr. pT spectrum of jets vs jet area
   //THnSparse *fHLeadingJetPtRaw; //bg unsubtr. vs bg. subtr. leading jet pT vs area 
   //THnSparse *fHDphiVsJetPtAll;   //Dphitrigger-jet  versus jet pt for all jets given pTtrigg  

   //MC generator level
   TH2D      *fhJetPtGenVsJetPtRec; //jet respose matrix  
   TH2D      *fhJetPtGenVsJetPtRecSubUeMedian; //jet respose matrix both pT with subtracted kT median bg 
   TH2D      *fhJetPtGenVsJetPtRecSubUeCone; //jet respose matrix both pT with subtracted weighted kT median bg 
   TH1D      *fhJetPtGen;           //generated pT spectrum of jets  
   TH1D      *fhJetPtSubUeMedianGen; //generated pT spectrum of jets with subtracted kT median  
   TH1D      *fhJetPtSubUeConeGen;    //generated pT spectrum of jets with perp cone
   TH2D      *fhJetPtResolutionVsPtGen; // pTjet,rec-pTjet,gen/ pTjet,gen  versus pT jet,gen
   TH2D      *fhJetPtResolutionVsPtConeGen;//pTjet,rec-pTjet,gen/ pTjet,gen  versus pT jet,gen
   TH2D      *fhJetPtGenChargVsJetPtGenFull; //generated pT spectrum of full jets
   TH1D      *fhJetPtGenFull; // generated pT spectrum of full jets
   TH2F      *fh2NtriggersGen; //trigger pT versus centrality in generator level
   THnSparse *fHJetSpecGen;    //Recoil jet spectrum at generator level 
   THnSparse *fHJetSpecSubUeMedianGen;  //Recoil jet spectrum at gen level, jet pT corrected by kT median 
   THnSparse *fHJetSpecSubUeConeGen; //Recoil jet spectrum at gen level, jet pT corrected with rho from cone
   THnSparse *fHJetPhiCorrGen; // Dphi distribution jet-triger
   THnSparse *fHJetPhiCorrSubUeMedianGen; // Dphi distribution jet-triger
   THnSparse *fHJetPhiCorrSubUeConeGen; // Dphi distribution jet-triger
   THnSparse *fHJetUeMedianGen;   //UE background from kT median
   THnSparse *fHJetUeConeGen;      //UE background from Perp Cone 
   TH2D      *fhPtTrkTruePrimRec; // pt spectrum of true reconstructed primary tracks    
   TH2D      *fhPtTrkTruePrimGen; // pt spectrum of true generated primary track    
   TH2D      *fhPtTrkSecOrFakeRec; // pt spectrum of reconstructed fake or secondary tracks    
   THnSparse *fHRhoUeMedianVsConeGen; //EBE UE from Median vs Perp Cone  generator level 
  
   TH1D  *fhEntriesToMedian; //how many entries were used to calculate
   TH1D  *fhEntriesToMedianGen; //how many entries were used to calculate in MC
   TH1D  *fhCellAreaToMedian; //how many entries were used to calculate
   TH1D  *fhCellAreaToMedianGen; //how many entries were used to calculate in MC
 
   TH1D *fhNofMultipleTriggersGen; // The number of additional triggers in events with at least one trigger 
   TH1D *fhNofMultipleTriggersConeGen; // The number of additional triggers in events with at least one trigger in R<0.4 15-50
   TH1D *fhNofMultipleTriggersConeGenLow; // The number of additional triggers in events with at least one trigger in R<0.4 15-20
   TH1D *fhNofMultipleTriggersConeGenHigh; // The number of additional triggers in events with at least one trigger in R<0.4 20-50 
   TH1D *fhDeltaRMultTriggersGenLow; // Angular distributions between trigger and assoc
   TH1D *fhDeltaRMultTriggersGenHigh; // Angular distributions between trigger and assoc
   TH1D *fhDeltaPhiMultTriggersGenLow; // Angular distributions between trigger and assoc  15-20
   TH1D *fhDeltaPhiMultTriggersGenHigh; // Angular distributions between trigger and assoc 20-50

   TH1D *fhDeltaPhiMultTriggersInclGenLow; // Delta phi between trigger and assoc  incl trigg
   TH1D *fhDeltaPhiMultTriggersInclGenHigh; // Delta phi between trigger and assoc incl trigg
   TH1D *fhInclTrigCounterGen; // count the total number of inclusive triggers

   TH1D *fhNofMultipleTriggersConeGenA; // The number of additional triggers in events with at least one trigger in R<0.4 
   TH1D *fhNofMultipleTriggersConeGenALow; // The number of additional triggers in events with at least one trigger in R<0.4 15-20 
   TH1D *fhNofMultipleTriggersConeGenAHigh; // The number of additional triggers in events with at least one trigger in R<0.4  20-50
   TH1D *fhDeltaRMultTriggersGenALow; //Delta R for eloss scenation in assoc 15-20 bin 
   TH1D *fhDeltaPhiMultTriggersGenALow;//Delta phi for eloss scenation in assoc 15-20 bin 
   TH1D *fhDeltaRMultTriggersGenAHigh; //Delta R for eloss scenation in assoc 20-50 bin 
   TH1D *fhDeltaPhiMultTriggersGenAHigh;//Delta phi for eloss scenation in assoc 20-50 bin 
   TH1D *fhNofTriggersGenA; //Count triggers in eloss scenario

   TH1D *fhNofMultipleTriggersConeGenB; // The number of additional triggers in events with at least one trigger in R<0.4 15-50
   TH1D *fhNofMultipleTriggersConeGenBLow; // The number of additional triggers in events with at least one trigger in R<0.4 15-20
   TH1D *fhNofMultipleTriggersConeGenBHigh; // The number of additional triggers in events with at least one trigger in R<0.4 20-50 
   TH1D *fhDeltaRMultTriggersGenBLow; //Delta R for eloss scenation in assoc 15-20 bin 
   TH1D *fhDeltaPhiMultTriggersGenBLow;//Delta phi for eloss scenation in assoc 15-20 bin 
   TH1D *fhDeltaRMultTriggersGenBHigh; //Delta R for eloss scenation in assoc 20-50 bin 
   TH1D *fhDeltaPhiMultTriggersGenBHigh;//Delta phi for eloss scenation in assoc 20-50 bin 
   TH1D *fhNofTriggersGenB; //Count triggers in eloss scenario


   TH1D *fhTriggerCounterGenLevel; // The number of sing incl rec TT tracks that have gen level particle assigned within the same TT bin 
   TH1D *fhDeltaRMultTriggersGenLevelLow; // corresp. genereator level TT track combined with generator level Assoc tracks 15-20 
   TH1D *fhDeltaPhiMultTriggersGenLevelLow; //corresp. genereator level TT track combined with generator level Assoc tracks 15-20 
   TH1D *fhDeltaRMultTriggersGenLevelHigh;  // corresp. genereator level TT track combined with generator level Assoc tracks 20-50 
   TH1D *fhDeltaPhiMultTriggersGenLevelHigh;// corresp. genereator level TT track combined with generator level Assoc tracks 20-50


   Bool_t fIsChargedMC;   //flag analysis on MC data with true and on the real+kine data false
   Bool_t fIsKine;       //flag analysis on kine data with true and on the real+MC data false
   Bool_t fIsFullMC;   //flag analysis on MC data with true and on the real+kine data false
   TArrayI faGenIndex;   // labels of particles on MC generator level  
   TArrayI faRecIndex;   // labels of particles on reconstructed track level
   const Double_t fkAcceptance; //eta times phi  Alice coverage  
   const Double_t fkDeltaPhiCut; //Delta phi cut on  trigger-jet distance in azimuth
 
   TProfile*     fh1Xsec;   //! pythia cross section and trials
   TH1F*         fh1Trials; //! trials are added
   TH1F*         fh1AvgTrials; //! trials are added
   TH1F*         fh1PtHard;  //! Pt har of the event...      
   TH1F*         fh1PtHardNoW;  //! Pt har of the event without weigt      
   TH1F*         fh1PtHardTrials;  //! Number of trials
   Float_t       fAvgTrials;       // Average number of trials

   
   Int_t   fHardest;               // trigger type 0=single incl, 1=LP 
   Int_t   fEventNumberRangeLow;   // lower range of selected event numbers  
   Int_t   fEventNumberRangeHigh;  // high range of selected event numbers  
   Float_t fTriggerPtRangeLow;   // lower range of selected trigger pt
   Float_t fTriggerPtRangeHigh;  // upper range of selected trigger pt

   Bool_t  fFillRespMx;    //fill response matrix files


   TRandom3* fRandom;           // TRandom3 
   Int_t fnTrials;  //number of random trials to measure cell area
   Float_t fJetFreeAreaFrac; //fraction of area in cell free of jets  
   const Int_t  fnPhi; //number of cells in phi
   const Int_t  fnEta; //number of cells in eta
   const Double_t fEtaSize; //cell size in eta 
   const Double_t fPhiSize; //cell size in phi
   const Double_t fCellArea; //cell area
   Double_t fSafetyMargin; //enlarge a bit the jet size to avoid contamination of UE

   Bool_t fDoubleBinning; //0=use 2 GeV/c bins  ; 1= use 1 GeV/c bins
 
   ClassDef(AliAnalysisTaskJetCorePP, 17);  //has to end with number larger than 0
};

#endif

 AliAnalysisTaskJetCorePP.h:1
 AliAnalysisTaskJetCorePP.h:2
 AliAnalysisTaskJetCorePP.h:3
 AliAnalysisTaskJetCorePP.h:4
 AliAnalysisTaskJetCorePP.h:5
 AliAnalysisTaskJetCorePP.h:6
 AliAnalysisTaskJetCorePP.h:7
 AliAnalysisTaskJetCorePP.h:8
 AliAnalysisTaskJetCorePP.h:9
 AliAnalysisTaskJetCorePP.h:10
 AliAnalysisTaskJetCorePP.h:11
 AliAnalysisTaskJetCorePP.h:12
 AliAnalysisTaskJetCorePP.h:13
 AliAnalysisTaskJetCorePP.h:14
 AliAnalysisTaskJetCorePP.h:15
 AliAnalysisTaskJetCorePP.h:16
 AliAnalysisTaskJetCorePP.h:17
 AliAnalysisTaskJetCorePP.h:18
 AliAnalysisTaskJetCorePP.h:19
 AliAnalysisTaskJetCorePP.h:20
 AliAnalysisTaskJetCorePP.h:21
 AliAnalysisTaskJetCorePP.h:22
 AliAnalysisTaskJetCorePP.h:23
 AliAnalysisTaskJetCorePP.h:24
 AliAnalysisTaskJetCorePP.h:25
 AliAnalysisTaskJetCorePP.h:26
 AliAnalysisTaskJetCorePP.h:27
 AliAnalysisTaskJetCorePP.h:28
 AliAnalysisTaskJetCorePP.h:29
 AliAnalysisTaskJetCorePP.h:30
 AliAnalysisTaskJetCorePP.h:31
 AliAnalysisTaskJetCorePP.h:32
 AliAnalysisTaskJetCorePP.h:33
 AliAnalysisTaskJetCorePP.h:34
 AliAnalysisTaskJetCorePP.h:35
 AliAnalysisTaskJetCorePP.h:36
 AliAnalysisTaskJetCorePP.h:37
 AliAnalysisTaskJetCorePP.h:38
 AliAnalysisTaskJetCorePP.h:39
 AliAnalysisTaskJetCorePP.h:40
 AliAnalysisTaskJetCorePP.h:41
 AliAnalysisTaskJetCorePP.h:42
 AliAnalysisTaskJetCorePP.h:43
 AliAnalysisTaskJetCorePP.h:44
 AliAnalysisTaskJetCorePP.h:45
 AliAnalysisTaskJetCorePP.h:46
 AliAnalysisTaskJetCorePP.h:47
 AliAnalysisTaskJetCorePP.h:48
 AliAnalysisTaskJetCorePP.h:49
 AliAnalysisTaskJetCorePP.h:50
 AliAnalysisTaskJetCorePP.h:51
 AliAnalysisTaskJetCorePP.h:52
 AliAnalysisTaskJetCorePP.h:53
 AliAnalysisTaskJetCorePP.h:54
 AliAnalysisTaskJetCorePP.h:55
 AliAnalysisTaskJetCorePP.h:56
 AliAnalysisTaskJetCorePP.h:57
 AliAnalysisTaskJetCorePP.h:58
 AliAnalysisTaskJetCorePP.h:59
 AliAnalysisTaskJetCorePP.h:60
 AliAnalysisTaskJetCorePP.h:61
 AliAnalysisTaskJetCorePP.h:62
 AliAnalysisTaskJetCorePP.h:63
 AliAnalysisTaskJetCorePP.h:64
 AliAnalysisTaskJetCorePP.h:65
 AliAnalysisTaskJetCorePP.h:66
 AliAnalysisTaskJetCorePP.h:67
 AliAnalysisTaskJetCorePP.h:68
 AliAnalysisTaskJetCorePP.h:69
 AliAnalysisTaskJetCorePP.h:70
 AliAnalysisTaskJetCorePP.h:71
 AliAnalysisTaskJetCorePP.h:72
 AliAnalysisTaskJetCorePP.h:73
 AliAnalysisTaskJetCorePP.h:74
 AliAnalysisTaskJetCorePP.h:75
 AliAnalysisTaskJetCorePP.h:76
 AliAnalysisTaskJetCorePP.h:77
 AliAnalysisTaskJetCorePP.h:78
 AliAnalysisTaskJetCorePP.h:79
 AliAnalysisTaskJetCorePP.h:80
 AliAnalysisTaskJetCorePP.h:81
 AliAnalysisTaskJetCorePP.h:82
 AliAnalysisTaskJetCorePP.h:83
 AliAnalysisTaskJetCorePP.h:84
 AliAnalysisTaskJetCorePP.h:85
 AliAnalysisTaskJetCorePP.h:86
 AliAnalysisTaskJetCorePP.h:87
 AliAnalysisTaskJetCorePP.h:88
 AliAnalysisTaskJetCorePP.h:89
 AliAnalysisTaskJetCorePP.h:90
 AliAnalysisTaskJetCorePP.h:91
 AliAnalysisTaskJetCorePP.h:92
 AliAnalysisTaskJetCorePP.h:93
 AliAnalysisTaskJetCorePP.h:94
 AliAnalysisTaskJetCorePP.h:95
 AliAnalysisTaskJetCorePP.h:96
 AliAnalysisTaskJetCorePP.h:97
 AliAnalysisTaskJetCorePP.h:98
 AliAnalysisTaskJetCorePP.h:99
 AliAnalysisTaskJetCorePP.h:100
 AliAnalysisTaskJetCorePP.h:101
 AliAnalysisTaskJetCorePP.h:102
 AliAnalysisTaskJetCorePP.h:103
 AliAnalysisTaskJetCorePP.h:104
 AliAnalysisTaskJetCorePP.h:105
 AliAnalysisTaskJetCorePP.h:106
 AliAnalysisTaskJetCorePP.h:107
 AliAnalysisTaskJetCorePP.h:108
 AliAnalysisTaskJetCorePP.h:109
 AliAnalysisTaskJetCorePP.h:110
 AliAnalysisTaskJetCorePP.h:111
 AliAnalysisTaskJetCorePP.h:112
 AliAnalysisTaskJetCorePP.h:113
 AliAnalysisTaskJetCorePP.h:114
 AliAnalysisTaskJetCorePP.h:115
 AliAnalysisTaskJetCorePP.h:116
 AliAnalysisTaskJetCorePP.h:117
 AliAnalysisTaskJetCorePP.h:118
 AliAnalysisTaskJetCorePP.h:119
 AliAnalysisTaskJetCorePP.h:120
 AliAnalysisTaskJetCorePP.h:121
 AliAnalysisTaskJetCorePP.h:122
 AliAnalysisTaskJetCorePP.h:123
 AliAnalysisTaskJetCorePP.h:124
 AliAnalysisTaskJetCorePP.h:125
 AliAnalysisTaskJetCorePP.h:126
 AliAnalysisTaskJetCorePP.h:127
 AliAnalysisTaskJetCorePP.h:128
 AliAnalysisTaskJetCorePP.h:129
 AliAnalysisTaskJetCorePP.h:130
 AliAnalysisTaskJetCorePP.h:131
 AliAnalysisTaskJetCorePP.h:132
 AliAnalysisTaskJetCorePP.h:133
 AliAnalysisTaskJetCorePP.h:134
 AliAnalysisTaskJetCorePP.h:135
 AliAnalysisTaskJetCorePP.h:136
 AliAnalysisTaskJetCorePP.h:137
 AliAnalysisTaskJetCorePP.h:138
 AliAnalysisTaskJetCorePP.h:139
 AliAnalysisTaskJetCorePP.h:140
 AliAnalysisTaskJetCorePP.h:141
 AliAnalysisTaskJetCorePP.h:142
 AliAnalysisTaskJetCorePP.h:143
 AliAnalysisTaskJetCorePP.h:144
 AliAnalysisTaskJetCorePP.h:145
 AliAnalysisTaskJetCorePP.h:146
 AliAnalysisTaskJetCorePP.h:147
 AliAnalysisTaskJetCorePP.h:148
 AliAnalysisTaskJetCorePP.h:149
 AliAnalysisTaskJetCorePP.h:150
 AliAnalysisTaskJetCorePP.h:151
 AliAnalysisTaskJetCorePP.h:152
 AliAnalysisTaskJetCorePP.h:153
 AliAnalysisTaskJetCorePP.h:154
 AliAnalysisTaskJetCorePP.h:155
 AliAnalysisTaskJetCorePP.h:156
 AliAnalysisTaskJetCorePP.h:157
 AliAnalysisTaskJetCorePP.h:158
 AliAnalysisTaskJetCorePP.h:159
 AliAnalysisTaskJetCorePP.h:160
 AliAnalysisTaskJetCorePP.h:161
 AliAnalysisTaskJetCorePP.h:162
 AliAnalysisTaskJetCorePP.h:163
 AliAnalysisTaskJetCorePP.h:164
 AliAnalysisTaskJetCorePP.h:165
 AliAnalysisTaskJetCorePP.h:166
 AliAnalysisTaskJetCorePP.h:167
 AliAnalysisTaskJetCorePP.h:168
 AliAnalysisTaskJetCorePP.h:169
 AliAnalysisTaskJetCorePP.h:170
 AliAnalysisTaskJetCorePP.h:171
 AliAnalysisTaskJetCorePP.h:172
 AliAnalysisTaskJetCorePP.h:173
 AliAnalysisTaskJetCorePP.h:174
 AliAnalysisTaskJetCorePP.h:175
 AliAnalysisTaskJetCorePP.h:176
 AliAnalysisTaskJetCorePP.h:177
 AliAnalysisTaskJetCorePP.h:178
 AliAnalysisTaskJetCorePP.h:179
 AliAnalysisTaskJetCorePP.h:180
 AliAnalysisTaskJetCorePP.h:181
 AliAnalysisTaskJetCorePP.h:182
 AliAnalysisTaskJetCorePP.h:183
 AliAnalysisTaskJetCorePP.h:184
 AliAnalysisTaskJetCorePP.h:185
 AliAnalysisTaskJetCorePP.h:186
 AliAnalysisTaskJetCorePP.h:187
 AliAnalysisTaskJetCorePP.h:188
 AliAnalysisTaskJetCorePP.h:189
 AliAnalysisTaskJetCorePP.h:190
 AliAnalysisTaskJetCorePP.h:191
 AliAnalysisTaskJetCorePP.h:192
 AliAnalysisTaskJetCorePP.h:193
 AliAnalysisTaskJetCorePP.h:194
 AliAnalysisTaskJetCorePP.h:195
 AliAnalysisTaskJetCorePP.h:196
 AliAnalysisTaskJetCorePP.h:197
 AliAnalysisTaskJetCorePP.h:198
 AliAnalysisTaskJetCorePP.h:199
 AliAnalysisTaskJetCorePP.h:200
 AliAnalysisTaskJetCorePP.h:201
 AliAnalysisTaskJetCorePP.h:202
 AliAnalysisTaskJetCorePP.h:203
 AliAnalysisTaskJetCorePP.h:204
 AliAnalysisTaskJetCorePP.h:205
 AliAnalysisTaskJetCorePP.h:206
 AliAnalysisTaskJetCorePP.h:207
 AliAnalysisTaskJetCorePP.h:208
 AliAnalysisTaskJetCorePP.h:209
 AliAnalysisTaskJetCorePP.h:210
 AliAnalysisTaskJetCorePP.h:211
 AliAnalysisTaskJetCorePP.h:212
 AliAnalysisTaskJetCorePP.h:213
 AliAnalysisTaskJetCorePP.h:214
 AliAnalysisTaskJetCorePP.h:215
 AliAnalysisTaskJetCorePP.h:216
 AliAnalysisTaskJetCorePP.h:217
 AliAnalysisTaskJetCorePP.h:218
 AliAnalysisTaskJetCorePP.h:219
 AliAnalysisTaskJetCorePP.h:220
 AliAnalysisTaskJetCorePP.h:221
 AliAnalysisTaskJetCorePP.h:222
 AliAnalysisTaskJetCorePP.h:223
 AliAnalysisTaskJetCorePP.h:224
 AliAnalysisTaskJetCorePP.h:225
 AliAnalysisTaskJetCorePP.h:226
 AliAnalysisTaskJetCorePP.h:227
 AliAnalysisTaskJetCorePP.h:228
 AliAnalysisTaskJetCorePP.h:229
 AliAnalysisTaskJetCorePP.h:230
 AliAnalysisTaskJetCorePP.h:231
 AliAnalysisTaskJetCorePP.h:232
 AliAnalysisTaskJetCorePP.h:233
 AliAnalysisTaskJetCorePP.h:234
 AliAnalysisTaskJetCorePP.h:235
 AliAnalysisTaskJetCorePP.h:236
 AliAnalysisTaskJetCorePP.h:237
 AliAnalysisTaskJetCorePP.h:238
 AliAnalysisTaskJetCorePP.h:239
 AliAnalysisTaskJetCorePP.h:240
 AliAnalysisTaskJetCorePP.h:241
 AliAnalysisTaskJetCorePP.h:242
 AliAnalysisTaskJetCorePP.h:243
 AliAnalysisTaskJetCorePP.h:244
 AliAnalysisTaskJetCorePP.h:245
 AliAnalysisTaskJetCorePP.h:246
 AliAnalysisTaskJetCorePP.h:247
 AliAnalysisTaskJetCorePP.h:248
 AliAnalysisTaskJetCorePP.h:249
 AliAnalysisTaskJetCorePP.h:250
 AliAnalysisTaskJetCorePP.h:251
 AliAnalysisTaskJetCorePP.h:252
 AliAnalysisTaskJetCorePP.h:253
 AliAnalysisTaskJetCorePP.h:254
 AliAnalysisTaskJetCorePP.h:255
 AliAnalysisTaskJetCorePP.h:256
 AliAnalysisTaskJetCorePP.h:257
 AliAnalysisTaskJetCorePP.h:258
 AliAnalysisTaskJetCorePP.h:259
 AliAnalysisTaskJetCorePP.h:260
 AliAnalysisTaskJetCorePP.h:261
 AliAnalysisTaskJetCorePP.h:262
 AliAnalysisTaskJetCorePP.h:263
 AliAnalysisTaskJetCorePP.h:264
 AliAnalysisTaskJetCorePP.h:265
 AliAnalysisTaskJetCorePP.h:266
 AliAnalysisTaskJetCorePP.h:267
 AliAnalysisTaskJetCorePP.h:268
 AliAnalysisTaskJetCorePP.h:269
 AliAnalysisTaskJetCorePP.h:270
 AliAnalysisTaskJetCorePP.h:271
 AliAnalysisTaskJetCorePP.h:272
 AliAnalysisTaskJetCorePP.h:273
 AliAnalysisTaskJetCorePP.h:274
 AliAnalysisTaskJetCorePP.h:275
 AliAnalysisTaskJetCorePP.h:276
 AliAnalysisTaskJetCorePP.h:277
 AliAnalysisTaskJetCorePP.h:278
 AliAnalysisTaskJetCorePP.h:279
 AliAnalysisTaskJetCorePP.h:280
 AliAnalysisTaskJetCorePP.h:281
 AliAnalysisTaskJetCorePP.h:282
 AliAnalysisTaskJetCorePP.h:283
 AliAnalysisTaskJetCorePP.h:284
 AliAnalysisTaskJetCorePP.h:285
 AliAnalysisTaskJetCorePP.h:286
 AliAnalysisTaskJetCorePP.h:287
 AliAnalysisTaskJetCorePP.h:288
 AliAnalysisTaskJetCorePP.h:289
 AliAnalysisTaskJetCorePP.h:290
 AliAnalysisTaskJetCorePP.h:291
 AliAnalysisTaskJetCorePP.h:292
 AliAnalysisTaskJetCorePP.h:293
 AliAnalysisTaskJetCorePP.h:294
 AliAnalysisTaskJetCorePP.h:295
 AliAnalysisTaskJetCorePP.h:296
 AliAnalysisTaskJetCorePP.h:297
 AliAnalysisTaskJetCorePP.h:298
 AliAnalysisTaskJetCorePP.h:299
 AliAnalysisTaskJetCorePP.h:300
 AliAnalysisTaskJetCorePP.h:301
 AliAnalysisTaskJetCorePP.h:302