ROOT logo
#ifndef AliAnalysisTaskEmcalJetHadEPpid_h
#define AliAnalysisTaskEmcalJetHadEPpid_h

// root classes
class TClonesArray;
class TH1F;
class TH2F;
class TH3F;
class THnSparse;
class TList;
class TLorentzVector;
class TGraph;

// AliROOT classes
class AliEventPoolManager;
class AliLocalRhoParameter;
class AliEMCALTrack;
class AliMagF;
class AliESDEvent;
class AliAODEvent;
class AliEMCALGeometry;
class AliEMCALRecoUtils;
class AliESDtrack;
class AliESDtrackCuts;

// container classes
class AliJetContainer;
class AliParticleContainer;
class AliClusterContainer;

// includes
#include <AliAnalysisTaskEmcalJet.h>
#include <AliEmcalJet.h>
#include <AliVEvent.h>
#include <AliVTrack.h>
#include <AliVCluster.h>
#include <TClonesArray.h>
#include <TMath.h>
#include <TRandom3.h>
#include <AliLog.h>
#include "AliESDtrackCuts.h"

// Local Rho includes
#include "AliAnalysisTaskLocalRho.h"
#include "AliLocalRhoParameter.h"

// PID includes
#include "AliPIDResponse.h"

#include "AliAnalysisFilter.h"

class AliAnalysisTaskEmcalJetHadEPpid : public AliAnalysisTaskEmcalJet {
 public:
  AliAnalysisTaskEmcalJetHadEPpid();
  AliAnalysisTaskEmcalJetHadEPpid(const char *name);
  //virtual ~AliAnalysisTaskEmcalJetHadEPpid() {}
  virtual ~AliAnalysisTaskEmcalJetHadEPpid();

  virtual void            UserCreateOutputObjects();
  // THnSparse Setup
  virtual THnSparse*      NewTHnSparseF(const char* name, UInt_t entries);
  virtual void            GetDimParams(Int_t iEntry,TString &label, Int_t &nbins, Double_t &xmin, Double_t &xmax);
  virtual THnSparse*      NewTHnSparseFPID(const char* name, UInt_t entries);
  virtual void            GetDimParamsPID(Int_t iEntry,TString &label, Int_t &nbins, Double_t &xmin, Double_t &xmax);
  virtual THnSparse*      NewTHnSparseFCorr(const char* name, UInt_t entries);
  virtual void            GetDimParamsCorr(Int_t iEntry,TString &label, Int_t &nbins, Double_t &xmin, Double_t &xmax);

  // set a bun of histogram switches up
  void                    SetPlotGlobalRho(Bool_t g)            { doPlotGlobalRho = g; } // plot global rho switch
  void                    SetVariableBinning(Bool_t v)          { doVariableBinning = v; } // do variable binning switch
  void		              SetvarbinTHnSparse(Bool_t vb)         { dovarbinTHnSparse = vb; } // variable THnSparse bin switch
  void					  SetallpidAXIS(Bool_t allAXIS)			{ allpidAXIS = allAXIS; } // fill all PID sparse axis's
  void					  SetmakeQAhistos(Bool_t QAhist)        { makeQAhistos = QAhist; } // make QA histos  
  void					  SetmakeBIAShistos(Bool_t BIAShist)    { makeBIAShistos = BIAShist; } // make bias histos
  void			          SetmakeextraCORRhistos(Bool_t Xhist)  { makeextraCORRhistos = Xhist; } // make extra correlations histos
  void					  SetoldJEThadhistos(Bool_t oldJH)      { makeoldJEThadhistos = oldJH; } // make older JH histos for comparison

  // set data, detectors type, and PID and PID w bias switches
  void					  SetcutType(TString cut)				{ fcutType = cut; }    // EMCAL / TPC acceptance cut
  void                    SetdoPID(Bool_t p)                    { doPID = p; }   // do PID switch
  void 					  SetdoPIDtrackBIAS(Bool_t PIDbias)     { doPIDtrackBIAS = PIDbias; } // do PID track bias switch

  // esd track cuts setters
  void SetTrackCuts(AliESDtrackCuts *cuts)                      { fesdTrackCuts = cuts; }

  // give comments setter
  void					  SetdoComments(Bool_t comm)			{ doComments = comm; } // give comment switch

  // setter switch for flavour jet analysis
  void 					  SetFlavourJetAnalysis(Bool_t flj)     { doFlavourJetAnalysis = flj; } // set on flavour jet analysis
  virtual void			  SetJETFlavourTag(Int_t fltag)        { fJetFlavTag = fltag; } // set manual tag #

  // setter for beamtype (needed for UserCreateObjects section)
  virtual void			  SetCollType(BeamType bm) { fBeam = bm; } // set beamtype 

  // getters
  TString		          GetLocalRhoName() const		{return fLocalRhoName; }

  // set names of some objects
  virtual void            SetLocalRhoName(const char *ln)       { fLocalRhoName = ln; }
  virtual void            SetTracksName(const char *tn)         { fTracksName = tn; }
  virtual void			  SetTracksNameME(const char *MEtn)     { fTracksNameME = MEtn; }
  virtual void            SetJetsName(const char *jn)           { fJetsName = jn; }

  // bias and cuts - setters
  virtual void            SetAreaCut(Double_t a)                { fAreacut    = a; }
  virtual void            SetTrkBias(Double_t b)                { fTrkBias    = b; }  //require a track with pt > b in jet
  virtual void            SetClusBias(Double_t b)               { fClusBias   = b; }  //require a cluster with pt > b in jet
  virtual void            SetTrkEta(Double_t e)                 { fTrkEta   = e; }  //eta range of the associated tracks
  virtual void            SetJetPtcut(Double_t jpt)             { fJetPtcut = jpt; } // jet pt cut
  virtual void			  SetJetRad(Double_t jrad)				{ fJetRad = jrad; } // jet radius 
  virtual void 			  SetConstituentCut(Double_t constCut)  { fConstituentCut = constCut; } // constituent Cut

  // eta and phi limits of jets - setters
  virtual void            SetJetEta(Double_t emin, Double_t emax)  { fEtamin = emin; fEtamax = emax; }
  virtual void            SetJetPhi(Double_t pmin, Double_t pmax)  { fPhimin = pmin; fPhimax = pmax; }

  // event mixing - setters
  virtual void            SetEventMixing(Int_t yesno)		   { fDoEventMixing=yesno; }
  virtual void	          SetMixingTracks(Int_t tracks)		   { fMixingTracks = tracks; }
  virtual void            SetNMixedTr(Int_t nmt)               { fNMIXtracks = nmt; }
  virtual void            SetNMixedEvt(Int_t nme)              { fNMIXevents = nme; }

  // event trigger/mixed selection - setters
  virtual void            SetTriggerEventType(UInt_t te)       { fTriggerEventType = te; }
  virtual void            SetMixedEventType(UInt_t me)         { fMixingEventType = me; }
  virtual void            SetCentBinSize(Int_t centbins)       { fCentBinSize = centbins; }

  // set efficiency correction
  void                    SetDoEffCorr(Int_t effcorr)          { fDoEffCorr = effcorr; }
  virtual void            SetEffCorrFunc(Double_t efffunc)     { fEffFunctionCorr = efffunc; }

  // jet container - setters
  void SetContainerAllJets(Int_t c)         { fContainerAllJets      = c;}
  void SetContainerPIDJets(Int_t c)         { fContainerPIDJets      = c;}

protected:
  // functions 
  void					 ExecOnce();
  Bool_t		         Run();
  virtual void           Terminate(Option_t *); 
  virtual Int_t          AcceptMyJet(AliEmcalJet *jet);   // applies basic jet tests/cuts before accepting
  virtual Int_t          GetCentBin(Double_t cent) const; // centrality bin of event
  Double_t               RelativePhi(Double_t mphi,Double_t vphi) const; // relative jet track angle
  Double_t               RelativeEPJET(Double_t jetAng, Double_t EPAng) const;  // relative jet event plane angle
  virtual Int_t          GetEtaBin(Double_t eta) const;      // eta bins
  virtual Int_t          GetpTjetBin(Double_t pt) const;     // jet pt bins
  virtual Int_t          GetpTtrackBin(Double_t pt) const;   // track pt bins
  virtual Int_t          GetzVertexBin(Double_t zVtx) const; // zVertex bin
  void                   SetfHistPIDcounterLabels(TH1* fHistPID) const;  // PID counter
  void	   			     SetfHistQAcounterLabels(TH1* h) const; // QA counter
  void                   SetfHistEvtSelQALabels(TH1* h) const; // Event Selection Counter
  //virtual Int_t			 AcceptFlavourJet(AliEmcalJet *jet, Int_t NUM, Int_t NUM2, Int_t NUM3); // flavour jet acceptor
  virtual Int_t			 AcceptFlavourJet(AliEmcalJet *jet, Int_t NUM); // flavour jet acceptor
  Double_t               EffCorrection(Double_t trkETA, Double_t trkPT, Int_t effswitch) const; // efficiency correction function

  // parameters of detector to cut on for event
  Double_t               fPhimin;                  // phi min
  Double_t               fPhimax;                  // phi max
  Double_t               fEtamin;                  // eta min
  Double_t               fEtamax;                  // eta max
  Double_t               fAreacut;                 // area cut
  Double_t               fTrkBias;                 // track bias
  Double_t               fClusBias;                // cluster bias
  Double_t               fTrkEta;                  // eta min/max of tracks
  Double_t	             fJetPtcut;		           // jet pt to cut on for correlations
  Double_t				 fJetRad;				   // jet radius
  Double_t				 fConstituentCut;          // jet constituent cut

  // esd track cuts
  AliESDtrackCuts       *fesdTrackCuts;			   // esdTrackCuts

  // event mixing
  Int_t			 fDoEventMixing;
  Int_t			 fMixingTracks;
  Int_t          fNMIXtracks;
  Int_t          fNMIXevents;
  Int_t          fCentBinSize; // centrality bin size of mixed event pools

  // event selection types
  UInt_t         fTriggerEventType;
  UInt_t         fMixingEventType;

  // efficiency correction
  Int_t    fDoEffCorr;
  Double_t       fEffFunctionCorr;

  // switches for plots
  Bool_t		 doPlotGlobalRho;
  Bool_t		 doVariableBinning;
  Bool_t         dovarbinTHnSparse;
  Bool_t		 makeQAhistos;
  Bool_t		 makeBIAShistos;
  Bool_t		 makeextraCORRhistos; 
  Bool_t		 makeoldJEThadhistos;
  Bool_t		 allpidAXIS;

  // Cut type (EMCAL/TPC acceptance)
  TString        fcutType;

  // switches for PID
  Bool_t		 doPID;
  Bool_t		 doPIDtrackBIAS;

  // do comment switch
  Bool_t		 doComments;

  // do flavour jet analysis switch, and set flavour jet tag
  Bool_t	     doFlavourJetAnalysis;
  Int_t			 fJetFlavTag;

  // beam type
  BeamType fBeam;

  // local rho value
  Double_t		 fLocalRhoVal;

  // object names
  TString		 fTracksName;
  TString		 fTracksNameME;
  TString		 fJetsName;

  // event counter
  Int_t			 event;

  // boolean functions for PID
  Bool_t		 isPItpc, isKtpc, isPtpc;
  Bool_t		 isPIits, isKits, isPits;
  Bool_t		 isPItof, isKtof, isPtof;

  // event pool
  TObjArray		    *CloneAndReduceTrackList(TObjArray* tracks);
  AliEventPoolManager   *fPoolMgr;//!  // event pool Manager object

  // PID
  AliPIDResponse	*fPIDResponse;   // PID response object
  AliTPCPIDResponse	*fTPCResponse;   // TPC pid response object

 private:
  // needed for PID, track objects
  AliESDEvent       *fESD;//!         // ESD object
  AliAODEvent	    *fAOD;//!		  // AOD object
  AliVEvent 		*fVevent;//!   	  // Vevent object

  TH1F				    *fHistEventQA;//!
  TH1F                  *fHistEventSelectionQA;//!

  TH2F                  *fHistCentZvertGA;//!
  TH2F                  *fHistCentZvertJE;//!
  TH2F                  *fHistCentZvertMB;//!
  TH2F                  *fHistCentZvertAny;//!

  TH2F                  *fHistTPCdEdX;//!
  TH2F	                *fHistITSsignal;//!
//  TH2F		    *fHistTOFsignal;//!

  TH2F                  *fHistRhovsCent;//!
  TH2F                  *fHistNjetvsCent;//! number of jets versus Centrality
  TH2F                  *fHistJetPtvsTrackPt[6];//!
  TH2F                  *fHistRawJetPtvsTrackPt[6];//!
  TH1F                  *fHistTrackPt[6];//!
  TH1F                  *fHistEP0[6];//!
  TH1F                  *fHistEP0A[6];//!
  TH1F                  *fHistEP0C[6];//!
  TH2F                  *fHistEPAvsC[6];//!
  TH1F					*fHistJetPtcorrGlRho[6];//!
  TH2F                  *fHistJetPtvsdEP[6];//!
  TH2F                  *fHistJetPtvsdEPBias[6];//!
  TH2F                  *fHistRhovsdEP[6];//!
  TH3F                  *fHistJetEtaPhiPt[6];//!
  TH3F                  *fHistJetEtaPhiPtBias[6];//!
  TH2F                  *fHistJetPtArea[6];//!
  TH2F                  *fHistJetPtAreaBias[6];//!
  TH2F                  *fHistJetPtNcon[6];//!
  TH2F                  *fHistJetPtNconBias[6];//!
  TH2F                  *fHistJetPtNconCh[6];//!
  TH2F                  *fHistJetPtNconBiasCh[6];//!
  TH2F                  *fHistJetPtNconEm[6];//!
  TH2F                  *fHistJetPtNconBiasEm[6];//!
  TH1F		            *fHistJetHaddPhiINcent[6];//!
  TH1F			        *fHistJetHaddPhiOUTcent[6];//!
  TH1F			        *fHistJetHaddPhiMIDcent[6];//!

  TH1                   *fHistCentrality;//!
  TH1                   *fHistZvtx;//!
  TH1                   *fHistMult;//!
  TH1		        	*fHistJetPhi;//!
  TH1		            *fHistTrackPhi;//!
  TH1                   *fHistLocalRhoJetpt;//!
  TH1		            *fHistJetHaddPhiIN;//!
  TH1			        *fHistJetHaddPhiOUT;//!
  TH1			        *fHistJetHaddPhiMID;//!
  TH1					*fHistJetHaddPhiBias;//!
  TH1					*fHistJetHaddPhiINBias;//!
  TH1					*fHistJetHaddPhiOUTBias;//!
  TH1					*fHistJetHaddPhiMIDBias;//!

  TH1                   *fHistMEdPHI;//! // phi distrubtion of mixed events
  TH1					*fHistTrackPtallcent;//!

  TH2                   *fHistJetEtaPhi;//!  
  TH2                   *fHistTrackEtaPhi[4][7];//!
  TH1		        	*fHistJetHadbindPhi[9];//! 
  TH1					*fHistJetHadbindPhiIN[9];//! 
  TH1					*fHistJetHadbindPhiMID[9];//! 
  TH1		       		*fHistJetHadbindPhiOUT[9];//! 
  TH2                   *fHistJetHEtaPhi;//!

  TH1                   *fHistJetPt[6];//!
  TH1                   *fHistJetPtBias[6];//!
  TH1                   *fHistJetPtTT[6];//!
  TH2                   *fHistAreavsRawPt[6];//!
  TH2                   *fHistJetH[6][5][3];//!
  TH2                   *fHistJetHBias[6][5][3];//!
  TH2                   *fHistJetHTT[6][5][3];//!
  TH1F					*fHistJetHdPHI[11];//!
  TH2F					*fHistJetHdETAdPHI[11];//!
  TH2F                  *fHistSEphieta;//! // single events phi-eta distributions
  TH2F                  *fHistMEphieta;//! // mixed events phi-eta distributions
  TH1F					*fHistJetHaddPHI;//!

  // PID status histo's
  TH1					*fHistPID;//!

  // THn Sparse's
  THnSparse             *fhnPID;//!          // PID sparse
  THnSparse             *fhnMixedEvents;//!  // mixed events matrix
  THnSparse             *fhnJH;//!           // jet hadron events matrix
  THnSparse				*fhnCorr;//!		  // sparse to get # jet triggers

  // container objects
  AliJetContainer            *fJetsCont;                   //!Jets
  AliParticleContainer       *fTracksCont;                 //!Tracks
  AliClusterContainer        *fCaloClustersCont;           //!Clusters

  // container specifier
  Int_t					fContainerAllJets;  // number of container with all full jets
  Int_t					fContainerPIDJets;  // number of container with full jets meeting Pt cut (for PID)

// ***********************************************************
   
  //Declare it private to avoid compilation warning
  AliAnalysisTaskEmcalJetHadEPpid(const AliAnalysisTaskEmcalJetHadEPpid & g) ; // cpy ctor

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