ROOT logo
// *************************************************************************
// * Task for Fragmentation Function Analysis in PWG4 Jet Task Force Train *
// *************************************************************************

#ifndef ALIANALYSISTASKIDFRAGMENTATIONFUNCTION_H
#define ALIANALYSISTASKIDFRAGMENTATIONFUNCTION_H

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

/* $Id$ */

class AliESDEvent;
class AliAODEvent;
class AliAODJet;
class AliAODExtension;
class TList;
class TH1F;
class TH2F;
class TH3F;
class TProfile;
class THnSparse; 
class TRandom3;
class TArrayS;
class AliAnalysisUtils;
class AliAODTrack;
class AliAODMCParticle;

#include "AliAnalysisTaskSE.h"
#include "AliPID.h"
  
class AliAnalysisTaskIDFragmentationFunction : public AliAnalysisTaskSE {

 public:
  
  //----------------------------------------
  class AliFragFuncHistos : public TObject
  {
    
    public:
    
    AliFragFuncHistos(const char* name = "FFhistos", 
		      Int_t nJetPt = 0, Float_t jetPtMin = 0, Float_t jetPtMax = 0,
		      Int_t nPt = 0, Float_t ptMin = 0, Float_t ptMax = 0,
		      Int_t nXi = 0, Float_t xiMin = 0, Float_t xiMax = 0,
		      Int_t nZ  = 0, Float_t zMin  = 0, Float_t zMax  = 0);
    
    AliFragFuncHistos(const AliFragFuncHistos& copy);
    AliFragFuncHistos& operator=(const AliFragFuncHistos &o);
    virtual ~AliFragFuncHistos();
    
    virtual void DefineHistos();
    virtual void FillFF(Float_t trackPt, Float_t jetPt,Bool_t incrementJetPt, Float_t norm = 0, Bool_t scaleStrangeness = kFALSE, Float_t scaleFacStrangeness = 1.);

    virtual void AddToOutput(TList* list) const;

  private:

    Int_t   fNBinsJetPt; // FF histos bins
    Float_t fJetPtMin;   // FF histos limits
    Float_t fJetPtMax;   // FF histos limits
    Int_t   fNBinsPt;    // FF histos bins
    Float_t fPtMin;      // FF histos limits
    Float_t fPtMax;      // FF histos limits
    Int_t   fNBinsXi;    // FF histos bins
    Float_t fXiMin;      // FF histos limits
    Float_t fXiMax;      // FF histos limits
    Int_t   fNBinsZ;     // FF histos bins
    Float_t fZMin;       // FF histos limits
    Float_t fZMax;       // FF histos limits
  
    TH2F*   fh2TrackPt;   //! FF: track transverse momentum 
    TH2F*   fh2Xi;        //! FF: xi 
    TH2F*   fh2Z;         //! FF: z  
    TH1F*   fh1JetPt;     //! jet pt 

    TString fNameFF;      // histo names prefix
    
    ClassDef(AliFragFuncHistos, 1);
  };
  
  //----------------------------------------
  class AliFragFuncQAJetHistos : public TObject
  {

  public:
 
    AliFragFuncQAJetHistos(const char* name = "QAJethistos",
		Int_t nPt  = 0, Float_t ptMin  = 0, Float_t ptMax  = 0,
		Int_t nEta = 0, Float_t etaMin = 0, Float_t etaMax = 0,
		Int_t nPhi = 0, Float_t phiMin = 0, Float_t phiMax = 0);
      
    AliFragFuncQAJetHistos(const AliFragFuncQAJetHistos& copy);
    AliFragFuncQAJetHistos& operator=(const AliFragFuncQAJetHistos &o);
    virtual ~AliFragFuncQAJetHistos();
    virtual void DefineHistos();
    virtual void FillJetQA(Float_t eta, Float_t phi, Float_t pt);
    virtual void AddToOutput(TList* list) const;

  private:
    
    Int_t   fNBinsPt;    // jet QA histos bins
    Float_t fPtMin;      // jet QA histos limits
    Float_t fPtMax;      // jet QA histos limits
    Int_t   fNBinsEta;   // jet QA histos bins
    Float_t fEtaMin;     // jet QA histos limits
    Float_t fEtaMax;     // jet QA histos limits
    Int_t   fNBinsPhi;   // jet QA histos bins
    Float_t fPhiMin;     // jet QA histos limits
    Float_t fPhiMax;     // jet QA histos limits
    
    TH2F*   fh2EtaPhi;   //! jet phi vs eta 
    TH1F*   fh1Pt;       //! jet transverse momentum 
    TString fNameQAJ;    // histo names prefix
    
    ClassDef(AliFragFuncQAJetHistos, 1);
  };
  
  //----------------------------------------
  class AliFragFuncQATrackHistos : public TObject
  {

  public:

    AliFragFuncQATrackHistos(const char* name = "QATrackhistos", 
		  Int_t nPt  = 0, Float_t ptMin  = 0, Float_t ptMax  = 0,
		  Int_t nEta = 0, Float_t etaMin = 0, Float_t etaMax = 0,
		  Int_t nPhi = 0, Float_t phiMin = 0, Float_t phiMax = 0, 
		  Float_t ptThresh = 0);
    
    AliFragFuncQATrackHistos(const AliFragFuncQATrackHistos& copy);
    AliFragFuncQATrackHistos& operator=(const AliFragFuncQATrackHistos &o);
    virtual ~AliFragFuncQATrackHistos();
    virtual void DefineHistos();
    virtual void FillTrackQA(Float_t eta, Float_t phi, Float_t pt, Bool_t weightPt = kFALSE, Float_t norm = 0., Bool_t scaleStrangeness = kFALSE, Float_t scaleFacStrangeness = 1.);
    virtual void AddToOutput(TList* list) const;

  private:
    
    Int_t   fNBinsPt;    // track QA histos bins in pt
    Float_t fPtMin;      // track QA histos limits in pt
    Float_t fPtMax;      // track QA histos limits in pt
    Int_t   fNBinsEta;   // track QA histos bins in eta
    Float_t fEtaMin;     // track QA histos limits in eta
    Float_t fEtaMax;     // track QA histos limits in eta
    Int_t   fNBinsPhi;   // track QA histos bins in phi
    Float_t fPhiMin;     // track QA histos limits in phi
    Float_t fPhiMax;     // track QA histos limits in phi

    Float_t fHighPtThreshold; //  high pt track phi vs eta distribution

    TH2F*   fh2EtaPhi;        //! track phi vs eta 
    TH1F*   fh1Pt;            //! track transverse momentum 
    TH2F*   fh2HighPtEtaPhi;  //! phi vs eta for high pt (>fgHighPtThreshold) tracks
    TH2F*   fh2PhiPt;         //! track phi vs pt

    TString fNameQAT;         // histo names prefix
    
    ClassDef(AliFragFuncQATrackHistos, 2);
  };
  

  AliAnalysisTaskIDFragmentationFunction(); 
  AliAnalysisTaskIDFragmentationFunction(const char *name);
  AliAnalysisTaskIDFragmentationFunction(const  AliAnalysisTaskIDFragmentationFunction &copy);
  AliAnalysisTaskIDFragmentationFunction& operator=(const  AliAnalysisTaskIDFragmentationFunction &o);
  virtual ~AliAnalysisTaskIDFragmentationFunction();
  
  virtual void   UserCreateOutputObjects();
  virtual void   Init();
  virtual void   LocalInit() {Init();}

  virtual void   UserExec(Option_t *option);
  virtual void   Terminate(Option_t* );
  virtual Bool_t Notify();

  virtual void   SetNonStdFile(char* c){fNonStdFile = c;} 

  virtual void   SetTrackTypeGen(Int_t i){fTrackTypeGen = i;}
  virtual void   SetJetTypeGen(Int_t i){fJetTypeGen = i;}
  virtual void   SetJetTypeRecEff(Int_t i){fJetTypeRecEff = i;}

  virtual void   SetBranchRecBackClusters(const char* c){fBranchRecBckgClusters = c;}
  virtual void   SetBranchGenJets(const char* c){fBranchGenJets = c;}
  virtual void   SetBranchRecJets(const char* c){fBranchRecJets = c;}
  virtual void   SetBranchEmbeddedJets(const char* c){fBranchEmbeddedJets = c;}

  virtual void   SetTrackCuts(Float_t trackPt = 0.15, Float_t trackEtaMin = -0.9, Float_t trackEtaMax = 0.9, 
			      Float_t trackPhiMin = 0., Float_t trackPhiMax = 2*TMath::Pi())
  {fTrackPtCut = trackPt; fTrackEtaMin = trackEtaMin; fTrackEtaMax = trackEtaMax; 
    fTrackPhiMin = trackPhiMin; fTrackPhiMax = trackPhiMax;}

  virtual void   UseExtraTracks()        { fUseExtraTracks =  1;}
  virtual void   UseExtraonlyTracks()    { fUseExtraTracks = -1;}

  virtual void   UseExtraTracksBgr()     { fUseExtraTracksBgr =  1;}
  virtual void   UseExtraonlyTracksBgr() { fUseExtraTracksBgr = -1;}

  virtual void   SetCutFractionPtEmbedded(Float_t cut = 0) { fCutFractionPtEmbedded = cut; }
  virtual void   SetUseEmbeddedJetAxis(Bool_t b = kTRUE)   { fUseEmbeddedJetAxis = b; }
  virtual void   SetUseEmbeddedJetPt(Bool_t  b = kTRUE)    { fUseEmbeddedJetPt   = b; }

  virtual void   UseAODInputJets(Bool_t b) {fUseAODInputJets = b;}  
  virtual void   SetFilterMask(UInt_t i) {fFilterMask = i;}
  virtual void   UsePhysicsSelection(Bool_t b) {fUsePhysicsSelection = b;}
  virtual void   SetEventSelectionMask(UInt_t i){fEvtSelectionMask = i;}
  virtual void   SetEventClass(Int_t i){fEventClass = i;}
  virtual void   SetMaxVertexZ(Float_t z){fMaxVertexZ = z;}
  virtual void   SetJetCuts(Float_t jetPt = 5., Float_t jetEtaMin = -0.5, Float_t jetEtaMax = 0.5, 
			    Float_t jetPhiMin = 0., Float_t jetPhiMax = 2*TMath::Pi())
  {fJetPtCut = jetPt; fJetEtaMin = jetEtaMin; fJetEtaMax = jetEtaMax; 
    fJetPhiMin = jetPhiMin; fJetPhiMax = jetPhiMax;}

  virtual void   SetFFRadius(Float_t r = 0.4) { fFFRadius = r; }
  virtual void   SetFFMinLTrackPt(Float_t pt = -1) { fFFMinLTrackPt = pt; }
  virtual void   SetFFMaxTrackPt(Float_t pt = -1) { fFFMaxTrackPt = pt; }
  virtual void   SetFFMinNTracks(Int_t nTracks = 0) { fFFMinnTracks = nTracks; }
  virtual void   SetFFBckgRadius(Float_t r = 0.7) { fFFBckgRadius = r; }
  virtual void   SetBckgMode(Bool_t bg = 1) { fBckgMode = bg; }
  virtual void   SetBckgType(Int_t bg0 = 0, Int_t bg1 = 0,Int_t bg2 = 0, Int_t bg3 = 0, Int_t bg4 = 0) 
  { fBckgType[0] = bg0; fBckgType[1] = bg1; fBckgType[2] = bg2; fBckgType[3] = bg3; fBckgType[4] = bg4; }
  virtual void   SetQAMode(Int_t qa = 3)      {fQAMode = qa;}
  virtual void   SetFFMode(Int_t ff = 1)      {fFFMode = ff;}
  virtual void   SetIDFFMode(Int_t idff = 0)      {fIDFFMode = idff;}
  virtual void   SetEffMode(Int_t eff = 1)    {fEffMode = eff;}
  virtual void   SetJSMode(Int_t js = 1)      {fJSMode = js;}
  virtual void   SetMCPtHardCut(Float_t ptHardCut)      { fMCPtHardCut = ptHardCut; }

  static  void   SetProperties(TH1* h,const char* x, const char* y);
  static  void   SetProperties(TH1* h,const char* x, const char* y,const char* z);
  static  void   SetProperties(THnSparse* h,Int_t dim, const char** labels);

  void   SetHighPtThreshold(Float_t pt = 5.) { fQATrackHighPtThreshold = pt; }

  void   SetFFHistoBins(Int_t nJetPt = 245, Float_t jetPtMin = 5, Float_t jetPtMax = 250, 
			Int_t nPt = 200, Float_t ptMin = 0., Float_t ptMax = 200., 
			Int_t nXi = 70, Float_t xiMin = 0., Float_t xiMax = 7.,
			Int_t nZ = 22,  Float_t zMin = 0.,  Float_t zMax = 1.1)
  { fFFNBinsJetPt = nJetPt; fFFJetPtMin = jetPtMin; fFFJetPtMax = jetPtMax; 
    fFFNBinsPt = nPt; fFFPtMin = ptMin; fFFPtMax = ptMax;
    fFFNBinsXi = nXi; fFFXiMin = xiMin; fFFXiMax = xiMax;
    fFFNBinsZ  = nZ;  fFFZMin  = zMin;  fFFZMax  = zMax; }

  void  SetQAJetHistoBins(Int_t nPt = 300, Float_t ptMin = 0., Float_t ptMax = 300.,
			  Int_t nEta = 20, Float_t etaMin = -1.0, Float_t etaMax = 1.0,
			  Int_t nPhi = 60, Float_t phiMin = 0., Float_t phiMax = 2*TMath::Pi())
    { fQAJetNBinsPt = nPt; fQAJetPtMin = ptMin; fQAJetPtMax = ptMax;
      fQAJetNBinsEta = nEta; fQAJetEtaMin = etaMin; fQAJetEtaMax = etaMax;
      fQAJetNBinsPhi = nPhi; fQAJetPhiMin = phiMin; fQAJetPhiMax = phiMax; }
  
  void  SetQATrackHistoBins(Int_t nPt = 200, Float_t ptMin = 0., Float_t ptMax = 200.,
			    Int_t nEta = 20, Float_t etaMin = -1.0, Float_t etaMax = 1.0,
			    Int_t nPhi = 60, Float_t phiMin = 0., Float_t phiMax = 2*TMath::Pi())
  { fQATrackNBinsPt = nPt; fQATrackPtMin = ptMin; fQATrackPtMax = ptMax;
    fQATrackNBinsEta = nEta; fQATrackEtaMin = etaMin; fQATrackEtaMax = etaMax;
    fQATrackNBinsPhi = nPhi; fQATrackPhiMin = phiMin; fQATrackPhiMax = phiMax; }
  

  Float_t  GetFFRadius() const { return fFFRadius; }
  Float_t  GetFFMinLTrackPt() const { return fFFMinLTrackPt; }
  Float_t  GetFFMaxTrackPt() const { return fFFMaxTrackPt; }
  Float_t  GetFFMinNTracks() const { return fFFMinnTracks; }
  Float_t  GetFFBckgRadius() const { return fFFBckgRadius; }
  Float_t  GetMCPtHardCut() const  { return fMCPtHardCut; }
  void	   GetJetTracksTrackrefs(TList* l, const AliAODJet* j, Double_t minPtL, Double_t maxPt, Bool_t& isBadPt);
  void	   GetJetTracksPointing(TList* in, TList* out, const AliAODJet* j, Double_t r, Double_t& sumPt, Double_t minPtL, Double_t maxPt,
                                Bool_t& isBadPt);  
  void     GetTracksOutOfNJets(Int_t nCases, TList* in, TList* out, const TList* jets, Double_t& pt);
  void     GetTracksOutOfNJetsStat(Int_t nCases, TList* in, TList* out, const TList* jets, Double_t& pt, Double_t &normFactor);
  void     GetTracksTiltedwrpJetAxis(Float_t alpha, TList* inputlist, TList* outputlist, const AliAODJet* jet, Double_t radius, Double_t& sumPt);
  void     GetTracksTiltedwrpJetAxisWindow(Float_t alpha, TList* inputlist, TList* outputlist, const AliAODJet* jet, Double_t radius, Double_t& sumPt, Double_t &normFactor);

  void     AssociateGenRec(TList* tracksAODMCCharged,TList* tracksRec, TArrayI& indexAODTr,TArrayI& indexMCTr,TArrayS& isRefGen,TH2F* fh2PtRecVsGen);

  void     FillSingleTrackHistosRecGen(AliFragFuncQATrackHistos* trackQAGen, AliFragFuncQATrackHistos* trackQARec, TList* tracksGen, 
				       const TArrayI& indexAODTr, const TArrayS& isRefGen, Bool_t scaleStrangeness = kFALSE);


  void     FillJetTrackHistosRec(AliFragFuncHistos* histRec,  AliAODJet* jet, 
				 TList* jetTrackList, const TList* tracksGen, const TList* tracksRec, const TArrayI& indexAODTr,
				 const TArrayS& isRefGen, TList* jetTrackListTR = 0, Bool_t scaleStrangeness = kFALSE,
				 Bool_t fillJS = kFALSE, TProfile* hProNtracksLeadingJet = 0, TProfile** hProDelRPtSum = 0, TProfile* hProDelR80pcPt = 0);


  Float_t  CalcJetArea(Float_t etaJet, Float_t rc) const;
  void     GetClusterTracksOutOf1Jet(AliAODJet* jet, TList* outputlist, Double_t &normFactor);
  void     GetClusterTracksMedian(TList* outputlist, Double_t &normFactor);

  void     FillBckgHistos(Int_t type, TList* inputtracklist, TList* inputjetlist, AliAODJet* jet, 
			  AliFragFuncHistos* ffbckghistocuts,AliFragFuncQATrackHistos* qabckghistos,TH1F* fh1Mult = 0); 
 
  Double_t GetMCStrangenessFactor(Double_t pt) const;
  Double_t GetMCStrangenessFactorCMS(AliAODMCParticle* daughter) const;
  
  Bool_t IsSecondaryWithStrangeMotherMC(AliAODMCParticle* part);

  void FillJetShape(AliAODJet* jet, TList* list,  TProfile* hProNtracksLeadingJet, TProfile** hProDelRPtSum, TProfile* hProDelR80pcPt=0, Double_t dPhiUE=0, Double_t normUE = 0, Bool_t scaleStrangeness = kFALSE);

  const TString* GetNamesOfInclusivePIDtasks() const { return fNameInclusivePIDtask; };
  void SetNamesOfInclusivePIDtasks(Int_t numNames, const TString* names);
  
  const TString* GetNamesOfJetPIDtasks() const { return fNameJetPIDtask; };
  void SetNamesOfJetPIDtasks(Int_t numNames, const TString* names);
	
	
	Bool_t GetIsPP() const { return fIsPP; };
	void SetIsPP(Bool_t flag) { fIsPP = flag; };
  
  Bool_t GetOnlyLeadingJets() const { return fOnlyLeadingJets; }
  void SetOnlyLeadingJets(Bool_t onlyLeadingJets) { fOnlyLeadingJets = onlyLeadingJets; }
  
  // Consts
  enum {kTrackUndef=0, kTrackAOD, kTrackAODQualityCuts, kTrackAODCuts, 
	kTrackAODExtra, kTrackAODExtraonly, kTrackAODExtraCuts, kTrackAODExtraonlyCuts, 
	kTrackKineAll, kTrackKineCharged, kTrackKineChargedAcceptance, 
	kTrackAODMCAll, kTrackAODMCCharged, kTrackAODMCChargedAcceptance, kTrackAODMCChargedSecS, kTrackAODMCChargedSecNS, kTrackAOCMCChargedPrimAcceptance};
  enum {kJetsUndef=0, kJetsRec, kJetsRecAcceptance, kJetsGen, kJetsGenAcceptance, kJetsKine, kJetsKineAcceptance,kJetsEmbedded};
  enum {kBckgNone=0, kBckgPerp, kBckgOutLJ, kBckgOut2J, kBckgClusters, kBckgClustersOutLeading, kBckgOut3J, kBckgOutAJ, kBckgOutLJStat, 
	kBckgOut2JStat, kBckgOut3JStat, kBckgOutAJStat,  kBckgASide, kBckgASideWindow, kBckgPerpWindow, kBckgPerp2, kBckgPerp2Area};

 
 protected:
  
  Int_t   GetListOfTracks(TList* list, Int_t type);
  Int_t	  GetListOfJets(TList* list, Int_t type);
  Int_t   GetListOfBckgJets(TList *list, Int_t type);

  AliESDEvent* fESD;      //! ESD event
  AliAODEvent* fAOD;      //! AOD event
  AliAODEvent* fAODJets;  //! AOD event with jet branch (case we have AOD both in input and output)
  AliAODExtension  *fAODExtension; //! where we take the jets from can be input or output AOD
  TString       fNonStdFile; // name of delta aod file to catch the extension
 
 
  TString fBranchRecJets;         // branch name for reconstructed jets
  TString fBranchRecBckgClusters; // branch name for reconstructed background clusters 
  TString fBranchGenJets;         // branch name for generated jets
  TString fBranchEmbeddedJets;    // branch name for embedded jets

  Int_t   fTrackTypeGen;        // type of generated tracks
  Int_t   fJetTypeGen;          // type of generated jets

  Int_t   fJetTypeRecEff;       // type of jets used for filling reconstruction efficiency histos

  Bool_t  fUseAODInputJets;     // take jets from in/output - only relevant if AOD event both in input AND output and we want to use output
  UInt_t  fFilterMask;	        // filter bit for selected tracks
  Bool_t  fUsePhysicsSelection; // switch for event selection
  UInt_t  fEvtSelectionMask;    // trigger class selection
  Int_t   fEventClass;          // centrality class selection
  Float_t fMaxVertexZ;          // maximum abs(z) position of primiary vertex [cm]

  // track cuts
  Float_t fTrackPtCut;    // track transverse momentum cut
  Float_t fTrackEtaMin;   // track eta cut
  Float_t fTrackEtaMax;   // track eta cut
  Float_t fTrackPhiMin;   // track phi cut
  Float_t fTrackPhiMax;   // track phi cut
  
  Int_t   fUseExtraTracks;         // +/- 1: embedded extra/extra only tracks, default: 0 (ignore extra tracks)
  Int_t   fUseExtraTracksBgr;      // +/- 1: background: use embedded extra/extra only tracks, default: 0 (ignore extra tracks)
  Float_t fCutFractionPtEmbedded;  // cut on ratio of embedded pt found in jet
  Bool_t  fUseEmbeddedJetAxis;     // use axis of embedded jet for FF
  Bool_t  fUseEmbeddedJetPt;       // use axis of embedded jet for FF

  // jet cuts
  Float_t fJetPtCut;      // jet transverse momentum cut
  Float_t fJetEtaMin;     // jet eta cut
  Float_t fJetEtaMax;     // jet eta cut
  Float_t fJetPhiMin;     // jet phi cut
  Float_t fJetPhiMax;     // jet phi cut

  Float_t fFFRadius;        // if radius > 0 construct FF from tracks within cone around jet axis, otherwise use trackRefs  
  Float_t fFFMinLTrackPt;   // reject jets with leading track with pt smaller than this value
  Float_t fFFMaxTrackPt;    // reject jets containing any track with pt larger than this value
  Int_t   fFFMinnTracks;    // reject jets with less tracks than this value
  Float_t fFFBckgRadius;    // compute background outside cone of this radius around jet axes
  Bool_t  fBckgMode;        // Set background subtraction mode
  Int_t   fBckgType[5];     // Set background subtraction mode
  Int_t   fQAMode;          // QA mode: 0x00=0 none, 0x01=1 track qa, 0x10=2 track qa, 0x11=3 both
  Int_t   fFFMode;          // fragmentation function mode
  Int_t   fIDFFMode;        // identified fragmentation function mode (implicitely enables also normal fragmentation function mode (but not effeciency, background etc.)!)
  Int_t   fEffMode;         // efficiency mode
  Int_t   fJSMode;          // jet shape mode

  Float_t fAvgTrials;       // average number of trials per event
  
  TList* fTracksRecCuts;           //! reconstructed tracks after cuts
  TList* fTracksRecCutsEfficiency; //! reconstructed tracks after cuts for efficiency
  TList* fTracksGen;               //! generated tracks 
  TList* fTracksAODMCCharged;      //! AOD MC tracks 
  TList* fTracksAODMCChargedSecNS; //! AOD MC tracks - secondaries (non-strangeness) 
  TList* fTracksAODMCChargedSecS;  //! AOD MC tracks - secondaries (from strangeness)
  TList* fTracksRecQualityCuts;    //! reconstructed tracks after quality cuts, no acceptance/pt cut

  
  TList* fJetsRec;        //! jets from reconstructed tracks
  TList* fJetsRecCuts;    //! jets from reonstructed tracks after jet cuts 
  TList* fJetsGen;        //! jets from generated tracks
  TList* fJetsRecEff;     //! jets used for reconstruction efficiency histos 
  TList* fJetsEmbedded;   //! jets used for embedding

  TList* fBckgJetsRec;      //! jets from reconstructed tracks
  TList* fBckgJetsRecCuts;  //! jets from reonstructed tracks after jet cuts
  TList* fBckgJetsGen;      //! jets from generated tracks
 
  
  AliFragFuncQATrackHistos* fQATrackHistosRecCuts;  //! track QA: reconstructed tracks after cuts
  AliFragFuncQATrackHistos* fQATrackHistosGen;      //! track QA: generated tracks
  
  AliFragFuncQAJetHistos*  fQAJetHistosRec;             //! jet QA: jets from reconstructed tracks
  AliFragFuncQAJetHistos*  fQAJetHistosRecCuts;         //! jet QA: jets from reconstructed tracks after jet cuts 
  AliFragFuncQAJetHistos*  fQAJetHistosRecCutsLeading;  //! jet QA: leading jet from reconstructed tracks after jet cuts 
  AliFragFuncQAJetHistos*  fQAJetHistosGen;             //! jet QA: jets from generated tracks  
  AliFragFuncQAJetHistos*  fQAJetHistosGenLeading;      //! jet QA: leading jet from generated tracks  
  AliFragFuncQAJetHistos*  fQAJetHistosRecEffLeading;   //! jet QA: leading jet used for reconstruction efficiency histos  
  

  AliFragFuncHistos*  fFFHistosRecCuts;         //! FF reconstructed tracks after cuts (leading jet) 
  AliFragFuncHistos*  fFFHistosRecCutsInc;      //! inclusive FF (all jets) 
  AliFragFuncHistos*  fFFHistosRecLeadingTrack; //! FF reconstructed tracks after cuts: leading track pt / jet pt (all jets)

  AliFragFuncHistos*  fFFHistosGen;             //! FF generated tracks after cuts 
  AliFragFuncHistos*  fFFHistosGenInc;          //! inclusive FF (all jets) 
  AliFragFuncHistos*  fFFHistosGenLeadingTrack; //! FF reconstructed tracks after cuts: leading track pt / jet pt (all jets)

  Float_t  fQATrackHighPtThreshold;       // track QA high transverse momentum threshold
  
  // histogram bins  

  Int_t   fFFNBinsJetPt;    // FF histos bins
  Float_t fFFJetPtMin;      // FF histos limits
  Float_t fFFJetPtMax;      // FF histos limits

  Int_t   fFFNBinsPt;       // FF histos bins
  Float_t fFFPtMin;         // FF histos limits
  Float_t fFFPtMax;         // FF histos limits

  Int_t   fFFNBinsXi;       // FF histos bins
  Float_t fFFXiMin;         // FF histos limits
  Float_t fFFXiMax;         // FF histos limits

  Int_t   fFFNBinsZ;        // FF histos bins
  Float_t fFFZMin;          // FF histos limits
  Float_t fFFZMax;          // FF histos limits

  Int_t   fQAJetNBinsPt;    // jet QA histos bins
  Float_t fQAJetPtMin;      // jet QA histos limits
  Float_t fQAJetPtMax;      // jet QA histos limits
  
  Int_t   fQAJetNBinsEta;   // jet QA histos bins
  Float_t fQAJetEtaMin;     // jet QA histos limits
  Float_t fQAJetEtaMax;     // jet QA histos limits
  
  Int_t   fQAJetNBinsPhi;   // jet QA histos bins
  Float_t fQAJetPhiMin;     // jet QA histos limits
  Float_t fQAJetPhiMax;     // jet QA histos limits
  
  Int_t   fQATrackNBinsPt;  // track QA histos bins
  Float_t fQATrackPtMin;    // track QA histos limits
  Float_t fQATrackPtMax;    // track QA histos limits
  
  Int_t   fQATrackNBinsEta; // track QA histos bins
  Float_t fQATrackEtaMin;   // track QA histos limits
  Float_t fQATrackEtaMax;   // track QA histos limits
  
  Int_t   fQATrackNBinsPhi; // track QA histos bins
  Float_t fQATrackPhiMin;   // track QA histos limits
  Float_t fQATrackPhiMax;   // track QA histos limits
  
  // Histograms
  TList	*fCommonHistList;         // List of common histos
  
  TH1F  *fh1EvtSelection;         //! event cuts 
  TH1F  *fh1VtxSelection;         //! type of accepted vertices
  TH1F	*fh1VertexNContributors;  //! NContributors to prim vertex
  TH1F	*fh1VertexZ;              //! prim vertex z distribution
  TH1F	*fh1EvtMult;              //! number of reconstructed tracks after cuts 
  TH1F	*fh1EvtCent;              //! centrality percentile 

  TProfile* fh1Xsec;              //! pythia cross section and trials
  TH1F*     fh1Trials;            //! sum of trials
  TH1F*     fh1PtHard;            //! pt hard of the event
  TH1F*     fh1PtHardTrials;      //! pt hard of the event
  
  TH1F*     fh1EvtsPtHardCut;     //! Number events before and after the cut on MC pT hard

  TH1F  *fh1nRecJetsCuts;         //! number of jets from reconstructed tracks per event 
  TH1F  *fh1nGenJets;             //! number of jets from generated tracks per event
  TH1F  *fh1nRecEffJets;          //! number of jets for reconstruction eff per event
  TH1F  *fh1nEmbeddedJets;        //! number of embedded jets per event

  TH1F  *fh1nRecBckgJetsCuts;     //! number of jets from reconstructed tracks per event
  TH1F  *fh1nGenBckgJets;         //! number of jets from generated tracks per event
  TH2F  *fh2PtRecVsGenPrim;       //! association rec/gen MC: rec vs gen pt, primaries 
  TH2F  *fh2PtRecVsGenSec;        //! association rec/gen MC: rec vs gen pt, secondaries 
  
  TH2F  *fhDCA_XY;                //! DCA XY for all rec. particles
  TH2F  *fhDCA_Z;                 //! DCA Z for all rec. particles
  
  TH2F  *fhJetPtRefMultEta5;      //! Jet pT vs. reference multiplicity (|eta|<0.5)
  TH2F  *fhJetPtRefMultEta8;      //! Jet pT vs. reference multiplicity (|eta|<0.8)
  TH2F  *fhJetPtMultPercent;      //! Jet pT vs. multiplicity percentile (usually V0M)

  TH2F  *fhDCA_XY_prim_MCID[AliPID::kSPECIES];   //! DCA XY for all rec. prim. particles sorted by MC-ID
  TH2F  *fhDCA_Z_prim_MCID[AliPID::kSPECIES];    //! DCA Z for all rec. prim. particles sorted by MC-ID
 
  TH2F  *fhDCA_XY_sec_MCID[AliPID::kSPECIES];    //! DCA XY for all rec. sec. particles sorted by MC-ID
  TH2F  *fhDCA_Z_sec_MCID[AliPID::kSPECIES];     //! DCA Z for all rec. sec. particles sorted by MC-ID
 
  // tracking efficiency / secondaries
  
  AliFragFuncQATrackHistos* fQATrackHistosRecEffGen;      //! tracking efficiency: generated primaries 
  AliFragFuncQATrackHistos* fQATrackHistosRecEffRec;      //! tracking efficiency: reconstructed primaries
  AliFragFuncQATrackHistos* fQATrackHistosSecRecNS;       //! reconstructed secondaries (non-strangeness)
  AliFragFuncQATrackHistos* fQATrackHistosSecRecS;        //! reconstructed secondaries (strange mothers)
  AliFragFuncQATrackHistos* fQATrackHistosSecRecSsc;      //! reconstructed secondaries (strange mothers) - scale factor

  AliFragFuncHistos*  fFFHistosRecEffRec;                 //! tracking efficiency: FF reconstructed primaries
  AliFragFuncHistos*  fFFHistosSecRecNS;                  //! secondary contamination: FF reconstructed secondaries (non-strangeness)
  AliFragFuncHistos*  fFFHistosSecRecS;                   //! secondary contamination: FF reconstructed secondaries (strange mothers)
  AliFragFuncHistos*  fFFHistosSecRecSsc;                 //! secondary contamination: FF reconstructed secondaries (strange mothers) - scale factor


  // Background
  TH1F  *fh1BckgMult0; //! background multiplicity
  TH1F  *fh1BckgMult1; //! background multiplicity
  TH1F  *fh1BckgMult2; //! background multiplicity
  TH1F  *fh1BckgMult3; //! background multiplicity
  TH1F  *fh1BckgMult4; //! background multiplicity

  // embedding
  TH1F* fh1FractionPtEmbedded;         //! ratio embedded pt in rec jet to embedded jet pt 
  TH1F* fh1IndexEmbedded;              //! index embedded jet matching to leading rec jet 
  TH2F*	fh2DeltaPtVsJetPtEmbedded;     //! delta pt rec - embedded jet
  TH2F*	fh2DeltaPtVsRecJetPtEmbedded;  //! delta pt rec - embedded jet
  TH1F* fh1DeltaREmbedded;             //! delta R  rec - embedded jet


  AliFragFuncQATrackHistos* fQABckgHisto0RecCuts;  //! track QA: reconstructed tracks after cuts
  AliFragFuncQATrackHistos* fQABckgHisto0Gen;      //! track QA: generated tracks
  AliFragFuncQATrackHistos* fQABckgHisto1RecCuts;  //! track QA: reconstructed tracks after cuts
  AliFragFuncQATrackHistos* fQABckgHisto1Gen;      //! track QA: generated tracks
  AliFragFuncQATrackHistos* fQABckgHisto2RecCuts;  //! track QA: reconstructed tracks after cuts
  AliFragFuncQATrackHistos* fQABckgHisto2Gen;      //! track QA: generated tracks
  AliFragFuncQATrackHistos* fQABckgHisto3RecCuts;  //! track QA: reconstructed tracks after cuts
  AliFragFuncQATrackHistos* fQABckgHisto3Gen;      //! track QA: generated tracks
  AliFragFuncQATrackHistos* fQABckgHisto4RecCuts;  //! track QA: reconstructed tracks after cuts
  AliFragFuncQATrackHistos* fQABckgHisto4Gen;      //! track QA: generated tracks
  
  AliFragFuncHistos*  fFFBckgHisto0RecCuts;       //! Bckg (outside leading jet or 2 jets or more) FF reconstructed tracks after cuts 
  AliFragFuncHistos*  fFFBckgHisto0Gen;           //! Bckg (outside leading jet or 2 jets or more) FF generated tracks after cuts 
  AliFragFuncHistos*  fFFBckgHisto1RecCuts;       //! Bckg (outside leading jet or 2 jets or more) FF reconstructed tracks after cuts 
  AliFragFuncHistos*  fFFBckgHisto1Gen;           //! Bckg (outside leading jet or 2 jets or more) FF generated tracks after cuts 
  AliFragFuncHistos*  fFFBckgHisto2RecCuts;       //! Bckg (outside leading jet or 2 jets or more) FF reconstructed tracks after cuts 
  AliFragFuncHistos*  fFFBckgHisto2Gen;           //! Bckg (outside leading jet or 2 jets or more) FF generated tracks after cuts 
  AliFragFuncHistos*  fFFBckgHisto3RecCuts;       //! Bckg (outside leading jet or 3 jets or more) FF reconstructed tracks after cuts 
  AliFragFuncHistos*  fFFBckgHisto3Gen;           //! Bckg (outside leading jet or 3 jets or more) FF generated tracks after cuts 
  AliFragFuncHistos*  fFFBckgHisto4RecCuts;       //! Bckg (outside leading jet or 4 jets or more) FF reconstructed tracks after cuts 
  AliFragFuncHistos*  fFFBckgHisto4Gen;           //! Bckg (outside leading jet or 4 jets or more) FF generated tracks after cuts 

  AliFragFuncHistos*  fFFBckgHisto0RecEffRec;     //! Bckg (outside leading jet or 2 jets or more) FF reconstructed primaries after cuts 
  AliFragFuncHistos*  fFFBckgHisto0SecRecNS;      //! secondary contamination: FF reconstructed secondaries (non-strangeness)
  AliFragFuncHistos*  fFFBckgHisto0SecRecS;       //! secondary contamination: FF reconstructed secondaries (strange mothers)
  AliFragFuncHistos*  fFFBckgHisto0SecRecSsc;     //! secondary contamination: FF reconstructed secondaries (strange mothers) - scale factor

  TProfile* fProNtracksLeadingJet;          //! jet shape 
  TProfile* fProDelR80pcPt;                 //! jet shape 
  TProfile* fProDelRPtSum[5];               //! jet shape 

  TProfile* fProNtracksLeadingJetGen;       //! jet shape 
  TProfile* fProDelR80pcPtGen;              //! jet shape 
  TProfile* fProDelRPtSumGen[5];            //! jet shape 

  TProfile* fProNtracksLeadingJetBgrPerp2;  //! jet shape 
  TProfile* fProDelRPtSumBgrPerp2[5];       //! jet shape 

  TProfile* fProNtracksLeadingJetRecPrim;   //! jet shape 
  TProfile* fProDelR80pcPtRecPrim;          //! jet shape 
  TProfile* fProDelRPtSumRecPrim[5];        //! jet shape 

  TProfile* fProNtracksLeadingJetRecSecNS;  //! jet shape 
  TProfile* fProDelRPtSumRecSecNS[5];       //! jet shape 

  TProfile* fProNtracksLeadingJetRecSecS;   //! jet shape 
  TProfile* fProDelRPtSumRecSecS[5];        //! jet shape 

  TProfile* fProNtracksLeadingJetRecSecSsc; //! jet shape 
  TProfile* fProDelRPtSumRecSecSsc[5];      //! jet shape 
  

  TRandom3* fRandom;                        //! TRandom3 for background estimation 
  
  Bool_t fOnlyLeadingJets;                  // Flag indicating whether some histos are filled with leading jets only or all jets
  Float_t fMCPtHardCut;                     // Cut on MC pThard (smaller that threshold), if set to non-negative value
  
  AliAnalysisUtils *fAnaUtils;              //! Object to use analysis utils like pile-up rejection
  
  // PID framework
  Int_t fNumInclusivePIDtasks;              // Number of inclusive PID tasks used 
  Int_t fNumJetPIDtasks;                    // Number of jet PID tasks used
  
  TString* fNameInclusivePIDtask;           //[fNumInclusivePIDtasks] Names of the tasks for inclusive PID spectra
  TString* fNameJetPIDtask;                 //[fNumJetPIDtasks] Names of the tasks for jet PID spectra
  
  AliAnalysisTaskPID** fInclusivePIDtask;   //! Pointer to tasks for inclusive PID spectra
  AliAnalysisTaskPID** fJetPIDtask;         //! Pointer to tasks for jet PID spectra
  
  Bool_t fUseInclusivePIDtask;              // Process inclusive PID spectra?
  Bool_t fUseJetPIDtask;                    // Process jet PID spectra?
  
  Bool_t fIsPP;                             // Is pp collision system? -> If yes, centrality will be set to -1
  
  AliFragFuncHistos* fIDFFHistosRecCuts[AliPID::kSPECIES];    //! Identified FF reconstructed tracks after cuts 
  AliFragFuncHistos* fIDFFHistosGen[AliPID::kSPECIES];    //! Identified FF generated tracks after cuts 

  ClassDef(AliAnalysisTaskIDFragmentationFunction, 21);
};


inline void AliAnalysisTaskIDFragmentationFunction::SetNamesOfInclusivePIDtasks(Int_t numNames, const TString* names)
{
  delete [] fNameInclusivePIDtask;
  fNameInclusivePIDtask = 0x0;
  
  if (!names || numNames < 0) {
    fNumInclusivePIDtasks = 0;
    return;
  }
  
  fNumInclusivePIDtasks = numNames;
  
  if (numNames > 0) {
    fNameInclusivePIDtask = new TString[numNames];
    
    for (Int_t i = 0; i < numNames; i++) {
      fNameInclusivePIDtask[i] = names[i];
    }
  }  
}

inline void AliAnalysisTaskIDFragmentationFunction::SetNamesOfJetPIDtasks(Int_t numNames, const TString* names)
{
  delete [] fNameJetPIDtask;
  fNameJetPIDtask = 0x0;
  
  if (!names || numNames < 0) {
    fNumJetPIDtasks = 0;
    return;
  }
  
  fNumJetPIDtasks = numNames;
  
  if (numNames > 0) {
    fNameJetPIDtask = new TString[numNames];
    
    for (Int_t i = 0; i < numNames; i++) {
      fNameJetPIDtask[i] = names[i];
    }
  }  
}

#endif
 AliAnalysisTaskIDFragmentationFunction.h:1
 AliAnalysisTaskIDFragmentationFunction.h:2
 AliAnalysisTaskIDFragmentationFunction.h:3
 AliAnalysisTaskIDFragmentationFunction.h:4
 AliAnalysisTaskIDFragmentationFunction.h:5
 AliAnalysisTaskIDFragmentationFunction.h:6
 AliAnalysisTaskIDFragmentationFunction.h:7
 AliAnalysisTaskIDFragmentationFunction.h:8
 AliAnalysisTaskIDFragmentationFunction.h:9
 AliAnalysisTaskIDFragmentationFunction.h:10
 AliAnalysisTaskIDFragmentationFunction.h:11
 AliAnalysisTaskIDFragmentationFunction.h:12
 AliAnalysisTaskIDFragmentationFunction.h:13
 AliAnalysisTaskIDFragmentationFunction.h:14
 AliAnalysisTaskIDFragmentationFunction.h:15
 AliAnalysisTaskIDFragmentationFunction.h:16
 AliAnalysisTaskIDFragmentationFunction.h:17
 AliAnalysisTaskIDFragmentationFunction.h:18
 AliAnalysisTaskIDFragmentationFunction.h:19
 AliAnalysisTaskIDFragmentationFunction.h:20
 AliAnalysisTaskIDFragmentationFunction.h:21
 AliAnalysisTaskIDFragmentationFunction.h:22
 AliAnalysisTaskIDFragmentationFunction.h:23
 AliAnalysisTaskIDFragmentationFunction.h:24
 AliAnalysisTaskIDFragmentationFunction.h:25
 AliAnalysisTaskIDFragmentationFunction.h:26
 AliAnalysisTaskIDFragmentationFunction.h:27
 AliAnalysisTaskIDFragmentationFunction.h:28
 AliAnalysisTaskIDFragmentationFunction.h:29
 AliAnalysisTaskIDFragmentationFunction.h:30
 AliAnalysisTaskIDFragmentationFunction.h:31
 AliAnalysisTaskIDFragmentationFunction.h:32
 AliAnalysisTaskIDFragmentationFunction.h:33
 AliAnalysisTaskIDFragmentationFunction.h:34
 AliAnalysisTaskIDFragmentationFunction.h:35
 AliAnalysisTaskIDFragmentationFunction.h:36
 AliAnalysisTaskIDFragmentationFunction.h:37
 AliAnalysisTaskIDFragmentationFunction.h:38
 AliAnalysisTaskIDFragmentationFunction.h:39
 AliAnalysisTaskIDFragmentationFunction.h:40
 AliAnalysisTaskIDFragmentationFunction.h:41
 AliAnalysisTaskIDFragmentationFunction.h:42
 AliAnalysisTaskIDFragmentationFunction.h:43
 AliAnalysisTaskIDFragmentationFunction.h:44
 AliAnalysisTaskIDFragmentationFunction.h:45
 AliAnalysisTaskIDFragmentationFunction.h:46
 AliAnalysisTaskIDFragmentationFunction.h:47
 AliAnalysisTaskIDFragmentationFunction.h:48
 AliAnalysisTaskIDFragmentationFunction.h:49
 AliAnalysisTaskIDFragmentationFunction.h:50
 AliAnalysisTaskIDFragmentationFunction.h:51
 AliAnalysisTaskIDFragmentationFunction.h:52
 AliAnalysisTaskIDFragmentationFunction.h:53
 AliAnalysisTaskIDFragmentationFunction.h:54
 AliAnalysisTaskIDFragmentationFunction.h:55
 AliAnalysisTaskIDFragmentationFunction.h:56
 AliAnalysisTaskIDFragmentationFunction.h:57
 AliAnalysisTaskIDFragmentationFunction.h:58
 AliAnalysisTaskIDFragmentationFunction.h:59
 AliAnalysisTaskIDFragmentationFunction.h:60
 AliAnalysisTaskIDFragmentationFunction.h:61
 AliAnalysisTaskIDFragmentationFunction.h:62
 AliAnalysisTaskIDFragmentationFunction.h:63
 AliAnalysisTaskIDFragmentationFunction.h:64
 AliAnalysisTaskIDFragmentationFunction.h:65
 AliAnalysisTaskIDFragmentationFunction.h:66
 AliAnalysisTaskIDFragmentationFunction.h:67
 AliAnalysisTaskIDFragmentationFunction.h:68
 AliAnalysisTaskIDFragmentationFunction.h:69
 AliAnalysisTaskIDFragmentationFunction.h:70
 AliAnalysisTaskIDFragmentationFunction.h:71
 AliAnalysisTaskIDFragmentationFunction.h:72
 AliAnalysisTaskIDFragmentationFunction.h:73
 AliAnalysisTaskIDFragmentationFunction.h:74
 AliAnalysisTaskIDFragmentationFunction.h:75
 AliAnalysisTaskIDFragmentationFunction.h:76
 AliAnalysisTaskIDFragmentationFunction.h:77
 AliAnalysisTaskIDFragmentationFunction.h:78
 AliAnalysisTaskIDFragmentationFunction.h:79
 AliAnalysisTaskIDFragmentationFunction.h:80
 AliAnalysisTaskIDFragmentationFunction.h:81
 AliAnalysisTaskIDFragmentationFunction.h:82
 AliAnalysisTaskIDFragmentationFunction.h:83
 AliAnalysisTaskIDFragmentationFunction.h:84
 AliAnalysisTaskIDFragmentationFunction.h:85
 AliAnalysisTaskIDFragmentationFunction.h:86
 AliAnalysisTaskIDFragmentationFunction.h:87
 AliAnalysisTaskIDFragmentationFunction.h:88
 AliAnalysisTaskIDFragmentationFunction.h:89
 AliAnalysisTaskIDFragmentationFunction.h:90
 AliAnalysisTaskIDFragmentationFunction.h:91
 AliAnalysisTaskIDFragmentationFunction.h:92
 AliAnalysisTaskIDFragmentationFunction.h:93
 AliAnalysisTaskIDFragmentationFunction.h:94
 AliAnalysisTaskIDFragmentationFunction.h:95
 AliAnalysisTaskIDFragmentationFunction.h:96
 AliAnalysisTaskIDFragmentationFunction.h:97
 AliAnalysisTaskIDFragmentationFunction.h:98
 AliAnalysisTaskIDFragmentationFunction.h:99
 AliAnalysisTaskIDFragmentationFunction.h:100
 AliAnalysisTaskIDFragmentationFunction.h:101
 AliAnalysisTaskIDFragmentationFunction.h:102
 AliAnalysisTaskIDFragmentationFunction.h:103
 AliAnalysisTaskIDFragmentationFunction.h:104
 AliAnalysisTaskIDFragmentationFunction.h:105
 AliAnalysisTaskIDFragmentationFunction.h:106
 AliAnalysisTaskIDFragmentationFunction.h:107
 AliAnalysisTaskIDFragmentationFunction.h:108
 AliAnalysisTaskIDFragmentationFunction.h:109
 AliAnalysisTaskIDFragmentationFunction.h:110
 AliAnalysisTaskIDFragmentationFunction.h:111
 AliAnalysisTaskIDFragmentationFunction.h:112
 AliAnalysisTaskIDFragmentationFunction.h:113
 AliAnalysisTaskIDFragmentationFunction.h:114
 AliAnalysisTaskIDFragmentationFunction.h:115
 AliAnalysisTaskIDFragmentationFunction.h:116
 AliAnalysisTaskIDFragmentationFunction.h:117
 AliAnalysisTaskIDFragmentationFunction.h:118
 AliAnalysisTaskIDFragmentationFunction.h:119
 AliAnalysisTaskIDFragmentationFunction.h:120
 AliAnalysisTaskIDFragmentationFunction.h:121
 AliAnalysisTaskIDFragmentationFunction.h:122
 AliAnalysisTaskIDFragmentationFunction.h:123
 AliAnalysisTaskIDFragmentationFunction.h:124
 AliAnalysisTaskIDFragmentationFunction.h:125
 AliAnalysisTaskIDFragmentationFunction.h:126
 AliAnalysisTaskIDFragmentationFunction.h:127
 AliAnalysisTaskIDFragmentationFunction.h:128
 AliAnalysisTaskIDFragmentationFunction.h:129
 AliAnalysisTaskIDFragmentationFunction.h:130
 AliAnalysisTaskIDFragmentationFunction.h:131
 AliAnalysisTaskIDFragmentationFunction.h:132
 AliAnalysisTaskIDFragmentationFunction.h:133
 AliAnalysisTaskIDFragmentationFunction.h:134
 AliAnalysisTaskIDFragmentationFunction.h:135
 AliAnalysisTaskIDFragmentationFunction.h:136
 AliAnalysisTaskIDFragmentationFunction.h:137
 AliAnalysisTaskIDFragmentationFunction.h:138
 AliAnalysisTaskIDFragmentationFunction.h:139
 AliAnalysisTaskIDFragmentationFunction.h:140
 AliAnalysisTaskIDFragmentationFunction.h:141
 AliAnalysisTaskIDFragmentationFunction.h:142
 AliAnalysisTaskIDFragmentationFunction.h:143
 AliAnalysisTaskIDFragmentationFunction.h:144
 AliAnalysisTaskIDFragmentationFunction.h:145
 AliAnalysisTaskIDFragmentationFunction.h:146
 AliAnalysisTaskIDFragmentationFunction.h:147
 AliAnalysisTaskIDFragmentationFunction.h:148
 AliAnalysisTaskIDFragmentationFunction.h:149
 AliAnalysisTaskIDFragmentationFunction.h:150
 AliAnalysisTaskIDFragmentationFunction.h:151
 AliAnalysisTaskIDFragmentationFunction.h:152
 AliAnalysisTaskIDFragmentationFunction.h:153
 AliAnalysisTaskIDFragmentationFunction.h:154
 AliAnalysisTaskIDFragmentationFunction.h:155
 AliAnalysisTaskIDFragmentationFunction.h:156
 AliAnalysisTaskIDFragmentationFunction.h:157
 AliAnalysisTaskIDFragmentationFunction.h:158
 AliAnalysisTaskIDFragmentationFunction.h:159
 AliAnalysisTaskIDFragmentationFunction.h:160
 AliAnalysisTaskIDFragmentationFunction.h:161
 AliAnalysisTaskIDFragmentationFunction.h:162
 AliAnalysisTaskIDFragmentationFunction.h:163
 AliAnalysisTaskIDFragmentationFunction.h:164
 AliAnalysisTaskIDFragmentationFunction.h:165
 AliAnalysisTaskIDFragmentationFunction.h:166
 AliAnalysisTaskIDFragmentationFunction.h:167
 AliAnalysisTaskIDFragmentationFunction.h:168
 AliAnalysisTaskIDFragmentationFunction.h:169
 AliAnalysisTaskIDFragmentationFunction.h:170
 AliAnalysisTaskIDFragmentationFunction.h:171
 AliAnalysisTaskIDFragmentationFunction.h:172
 AliAnalysisTaskIDFragmentationFunction.h:173
 AliAnalysisTaskIDFragmentationFunction.h:174
 AliAnalysisTaskIDFragmentationFunction.h:175
 AliAnalysisTaskIDFragmentationFunction.h:176
 AliAnalysisTaskIDFragmentationFunction.h:177
 AliAnalysisTaskIDFragmentationFunction.h:178
 AliAnalysisTaskIDFragmentationFunction.h:179
 AliAnalysisTaskIDFragmentationFunction.h:180
 AliAnalysisTaskIDFragmentationFunction.h:181
 AliAnalysisTaskIDFragmentationFunction.h:182
 AliAnalysisTaskIDFragmentationFunction.h:183
 AliAnalysisTaskIDFragmentationFunction.h:184
 AliAnalysisTaskIDFragmentationFunction.h:185
 AliAnalysisTaskIDFragmentationFunction.h:186
 AliAnalysisTaskIDFragmentationFunction.h:187
 AliAnalysisTaskIDFragmentationFunction.h:188
 AliAnalysisTaskIDFragmentationFunction.h:189
 AliAnalysisTaskIDFragmentationFunction.h:190
 AliAnalysisTaskIDFragmentationFunction.h:191
 AliAnalysisTaskIDFragmentationFunction.h:192
 AliAnalysisTaskIDFragmentationFunction.h:193
 AliAnalysisTaskIDFragmentationFunction.h:194
 AliAnalysisTaskIDFragmentationFunction.h:195
 AliAnalysisTaskIDFragmentationFunction.h:196
 AliAnalysisTaskIDFragmentationFunction.h:197
 AliAnalysisTaskIDFragmentationFunction.h:198
 AliAnalysisTaskIDFragmentationFunction.h:199
 AliAnalysisTaskIDFragmentationFunction.h:200
 AliAnalysisTaskIDFragmentationFunction.h:201
 AliAnalysisTaskIDFragmentationFunction.h:202
 AliAnalysisTaskIDFragmentationFunction.h:203
 AliAnalysisTaskIDFragmentationFunction.h:204
 AliAnalysisTaskIDFragmentationFunction.h:205
 AliAnalysisTaskIDFragmentationFunction.h:206
 AliAnalysisTaskIDFragmentationFunction.h:207
 AliAnalysisTaskIDFragmentationFunction.h:208
 AliAnalysisTaskIDFragmentationFunction.h:209
 AliAnalysisTaskIDFragmentationFunction.h:210
 AliAnalysisTaskIDFragmentationFunction.h:211
 AliAnalysisTaskIDFragmentationFunction.h:212
 AliAnalysisTaskIDFragmentationFunction.h:213
 AliAnalysisTaskIDFragmentationFunction.h:214
 AliAnalysisTaskIDFragmentationFunction.h:215
 AliAnalysisTaskIDFragmentationFunction.h:216
 AliAnalysisTaskIDFragmentationFunction.h:217
 AliAnalysisTaskIDFragmentationFunction.h:218
 AliAnalysisTaskIDFragmentationFunction.h:219
 AliAnalysisTaskIDFragmentationFunction.h:220
 AliAnalysisTaskIDFragmentationFunction.h:221
 AliAnalysisTaskIDFragmentationFunction.h:222
 AliAnalysisTaskIDFragmentationFunction.h:223
 AliAnalysisTaskIDFragmentationFunction.h:224
 AliAnalysisTaskIDFragmentationFunction.h:225
 AliAnalysisTaskIDFragmentationFunction.h:226
 AliAnalysisTaskIDFragmentationFunction.h:227
 AliAnalysisTaskIDFragmentationFunction.h:228
 AliAnalysisTaskIDFragmentationFunction.h:229
 AliAnalysisTaskIDFragmentationFunction.h:230
 AliAnalysisTaskIDFragmentationFunction.h:231
 AliAnalysisTaskIDFragmentationFunction.h:232
 AliAnalysisTaskIDFragmentationFunction.h:233
 AliAnalysisTaskIDFragmentationFunction.h:234
 AliAnalysisTaskIDFragmentationFunction.h:235
 AliAnalysisTaskIDFragmentationFunction.h:236
 AliAnalysisTaskIDFragmentationFunction.h:237
 AliAnalysisTaskIDFragmentationFunction.h:238
 AliAnalysisTaskIDFragmentationFunction.h:239
 AliAnalysisTaskIDFragmentationFunction.h:240
 AliAnalysisTaskIDFragmentationFunction.h:241
 AliAnalysisTaskIDFragmentationFunction.h:242
 AliAnalysisTaskIDFragmentationFunction.h:243
 AliAnalysisTaskIDFragmentationFunction.h:244
 AliAnalysisTaskIDFragmentationFunction.h:245
 AliAnalysisTaskIDFragmentationFunction.h:246
 AliAnalysisTaskIDFragmentationFunction.h:247
 AliAnalysisTaskIDFragmentationFunction.h:248
 AliAnalysisTaskIDFragmentationFunction.h:249
 AliAnalysisTaskIDFragmentationFunction.h:250
 AliAnalysisTaskIDFragmentationFunction.h:251
 AliAnalysisTaskIDFragmentationFunction.h:252
 AliAnalysisTaskIDFragmentationFunction.h:253
 AliAnalysisTaskIDFragmentationFunction.h:254
 AliAnalysisTaskIDFragmentationFunction.h:255
 AliAnalysisTaskIDFragmentationFunction.h:256
 AliAnalysisTaskIDFragmentationFunction.h:257
 AliAnalysisTaskIDFragmentationFunction.h:258
 AliAnalysisTaskIDFragmentationFunction.h:259
 AliAnalysisTaskIDFragmentationFunction.h:260
 AliAnalysisTaskIDFragmentationFunction.h:261
 AliAnalysisTaskIDFragmentationFunction.h:262
 AliAnalysisTaskIDFragmentationFunction.h:263
 AliAnalysisTaskIDFragmentationFunction.h:264
 AliAnalysisTaskIDFragmentationFunction.h:265
 AliAnalysisTaskIDFragmentationFunction.h:266
 AliAnalysisTaskIDFragmentationFunction.h:267
 AliAnalysisTaskIDFragmentationFunction.h:268
 AliAnalysisTaskIDFragmentationFunction.h:269
 AliAnalysisTaskIDFragmentationFunction.h:270
 AliAnalysisTaskIDFragmentationFunction.h:271
 AliAnalysisTaskIDFragmentationFunction.h:272
 AliAnalysisTaskIDFragmentationFunction.h:273
 AliAnalysisTaskIDFragmentationFunction.h:274
 AliAnalysisTaskIDFragmentationFunction.h:275
 AliAnalysisTaskIDFragmentationFunction.h:276
 AliAnalysisTaskIDFragmentationFunction.h:277
 AliAnalysisTaskIDFragmentationFunction.h:278
 AliAnalysisTaskIDFragmentationFunction.h:279
 AliAnalysisTaskIDFragmentationFunction.h:280
 AliAnalysisTaskIDFragmentationFunction.h:281
 AliAnalysisTaskIDFragmentationFunction.h:282
 AliAnalysisTaskIDFragmentationFunction.h:283
 AliAnalysisTaskIDFragmentationFunction.h:284
 AliAnalysisTaskIDFragmentationFunction.h:285
 AliAnalysisTaskIDFragmentationFunction.h:286
 AliAnalysisTaskIDFragmentationFunction.h:287
 AliAnalysisTaskIDFragmentationFunction.h:288
 AliAnalysisTaskIDFragmentationFunction.h:289
 AliAnalysisTaskIDFragmentationFunction.h:290
 AliAnalysisTaskIDFragmentationFunction.h:291
 AliAnalysisTaskIDFragmentationFunction.h:292
 AliAnalysisTaskIDFragmentationFunction.h:293
 AliAnalysisTaskIDFragmentationFunction.h:294
 AliAnalysisTaskIDFragmentationFunction.h:295
 AliAnalysisTaskIDFragmentationFunction.h:296
 AliAnalysisTaskIDFragmentationFunction.h:297
 AliAnalysisTaskIDFragmentationFunction.h:298
 AliAnalysisTaskIDFragmentationFunction.h:299
 AliAnalysisTaskIDFragmentationFunction.h:300
 AliAnalysisTaskIDFragmentationFunction.h:301
 AliAnalysisTaskIDFragmentationFunction.h:302
 AliAnalysisTaskIDFragmentationFunction.h:303
 AliAnalysisTaskIDFragmentationFunction.h:304
 AliAnalysisTaskIDFragmentationFunction.h:305
 AliAnalysisTaskIDFragmentationFunction.h:306
 AliAnalysisTaskIDFragmentationFunction.h:307
 AliAnalysisTaskIDFragmentationFunction.h:308
 AliAnalysisTaskIDFragmentationFunction.h:309
 AliAnalysisTaskIDFragmentationFunction.h:310
 AliAnalysisTaskIDFragmentationFunction.h:311
 AliAnalysisTaskIDFragmentationFunction.h:312
 AliAnalysisTaskIDFragmentationFunction.h:313
 AliAnalysisTaskIDFragmentationFunction.h:314
 AliAnalysisTaskIDFragmentationFunction.h:315
 AliAnalysisTaskIDFragmentationFunction.h:316
 AliAnalysisTaskIDFragmentationFunction.h:317
 AliAnalysisTaskIDFragmentationFunction.h:318
 AliAnalysisTaskIDFragmentationFunction.h:319
 AliAnalysisTaskIDFragmentationFunction.h:320
 AliAnalysisTaskIDFragmentationFunction.h:321
 AliAnalysisTaskIDFragmentationFunction.h:322
 AliAnalysisTaskIDFragmentationFunction.h:323
 AliAnalysisTaskIDFragmentationFunction.h:324
 AliAnalysisTaskIDFragmentationFunction.h:325
 AliAnalysisTaskIDFragmentationFunction.h:326
 AliAnalysisTaskIDFragmentationFunction.h:327
 AliAnalysisTaskIDFragmentationFunction.h:328
 AliAnalysisTaskIDFragmentationFunction.h:329
 AliAnalysisTaskIDFragmentationFunction.h:330
 AliAnalysisTaskIDFragmentationFunction.h:331
 AliAnalysisTaskIDFragmentationFunction.h:332
 AliAnalysisTaskIDFragmentationFunction.h:333
 AliAnalysisTaskIDFragmentationFunction.h:334
 AliAnalysisTaskIDFragmentationFunction.h:335
 AliAnalysisTaskIDFragmentationFunction.h:336
 AliAnalysisTaskIDFragmentationFunction.h:337
 AliAnalysisTaskIDFragmentationFunction.h:338
 AliAnalysisTaskIDFragmentationFunction.h:339
 AliAnalysisTaskIDFragmentationFunction.h:340
 AliAnalysisTaskIDFragmentationFunction.h:341
 AliAnalysisTaskIDFragmentationFunction.h:342
 AliAnalysisTaskIDFragmentationFunction.h:343
 AliAnalysisTaskIDFragmentationFunction.h:344
 AliAnalysisTaskIDFragmentationFunction.h:345
 AliAnalysisTaskIDFragmentationFunction.h:346
 AliAnalysisTaskIDFragmentationFunction.h:347
 AliAnalysisTaskIDFragmentationFunction.h:348
 AliAnalysisTaskIDFragmentationFunction.h:349
 AliAnalysisTaskIDFragmentationFunction.h:350
 AliAnalysisTaskIDFragmentationFunction.h:351
 AliAnalysisTaskIDFragmentationFunction.h:352
 AliAnalysisTaskIDFragmentationFunction.h:353
 AliAnalysisTaskIDFragmentationFunction.h:354
 AliAnalysisTaskIDFragmentationFunction.h:355
 AliAnalysisTaskIDFragmentationFunction.h:356
 AliAnalysisTaskIDFragmentationFunction.h:357
 AliAnalysisTaskIDFragmentationFunction.h:358
 AliAnalysisTaskIDFragmentationFunction.h:359
 AliAnalysisTaskIDFragmentationFunction.h:360
 AliAnalysisTaskIDFragmentationFunction.h:361
 AliAnalysisTaskIDFragmentationFunction.h:362
 AliAnalysisTaskIDFragmentationFunction.h:363
 AliAnalysisTaskIDFragmentationFunction.h:364
 AliAnalysisTaskIDFragmentationFunction.h:365
 AliAnalysisTaskIDFragmentationFunction.h:366
 AliAnalysisTaskIDFragmentationFunction.h:367
 AliAnalysisTaskIDFragmentationFunction.h:368
 AliAnalysisTaskIDFragmentationFunction.h:369
 AliAnalysisTaskIDFragmentationFunction.h:370
 AliAnalysisTaskIDFragmentationFunction.h:371
 AliAnalysisTaskIDFragmentationFunction.h:372
 AliAnalysisTaskIDFragmentationFunction.h:373
 AliAnalysisTaskIDFragmentationFunction.h:374
 AliAnalysisTaskIDFragmentationFunction.h:375
 AliAnalysisTaskIDFragmentationFunction.h:376
 AliAnalysisTaskIDFragmentationFunction.h:377
 AliAnalysisTaskIDFragmentationFunction.h:378
 AliAnalysisTaskIDFragmentationFunction.h:379
 AliAnalysisTaskIDFragmentationFunction.h:380
 AliAnalysisTaskIDFragmentationFunction.h:381
 AliAnalysisTaskIDFragmentationFunction.h:382
 AliAnalysisTaskIDFragmentationFunction.h:383
 AliAnalysisTaskIDFragmentationFunction.h:384
 AliAnalysisTaskIDFragmentationFunction.h:385
 AliAnalysisTaskIDFragmentationFunction.h:386
 AliAnalysisTaskIDFragmentationFunction.h:387
 AliAnalysisTaskIDFragmentationFunction.h:388
 AliAnalysisTaskIDFragmentationFunction.h:389
 AliAnalysisTaskIDFragmentationFunction.h:390
 AliAnalysisTaskIDFragmentationFunction.h:391
 AliAnalysisTaskIDFragmentationFunction.h:392
 AliAnalysisTaskIDFragmentationFunction.h:393
 AliAnalysisTaskIDFragmentationFunction.h:394
 AliAnalysisTaskIDFragmentationFunction.h:395
 AliAnalysisTaskIDFragmentationFunction.h:396
 AliAnalysisTaskIDFragmentationFunction.h:397
 AliAnalysisTaskIDFragmentationFunction.h:398
 AliAnalysisTaskIDFragmentationFunction.h:399
 AliAnalysisTaskIDFragmentationFunction.h:400
 AliAnalysisTaskIDFragmentationFunction.h:401
 AliAnalysisTaskIDFragmentationFunction.h:402
 AliAnalysisTaskIDFragmentationFunction.h:403
 AliAnalysisTaskIDFragmentationFunction.h:404
 AliAnalysisTaskIDFragmentationFunction.h:405
 AliAnalysisTaskIDFragmentationFunction.h:406
 AliAnalysisTaskIDFragmentationFunction.h:407
 AliAnalysisTaskIDFragmentationFunction.h:408
 AliAnalysisTaskIDFragmentationFunction.h:409
 AliAnalysisTaskIDFragmentationFunction.h:410
 AliAnalysisTaskIDFragmentationFunction.h:411
 AliAnalysisTaskIDFragmentationFunction.h:412
 AliAnalysisTaskIDFragmentationFunction.h:413
 AliAnalysisTaskIDFragmentationFunction.h:414
 AliAnalysisTaskIDFragmentationFunction.h:415
 AliAnalysisTaskIDFragmentationFunction.h:416
 AliAnalysisTaskIDFragmentationFunction.h:417
 AliAnalysisTaskIDFragmentationFunction.h:418
 AliAnalysisTaskIDFragmentationFunction.h:419
 AliAnalysisTaskIDFragmentationFunction.h:420
 AliAnalysisTaskIDFragmentationFunction.h:421
 AliAnalysisTaskIDFragmentationFunction.h:422
 AliAnalysisTaskIDFragmentationFunction.h:423
 AliAnalysisTaskIDFragmentationFunction.h:424
 AliAnalysisTaskIDFragmentationFunction.h:425
 AliAnalysisTaskIDFragmentationFunction.h:426
 AliAnalysisTaskIDFragmentationFunction.h:427
 AliAnalysisTaskIDFragmentationFunction.h:428
 AliAnalysisTaskIDFragmentationFunction.h:429
 AliAnalysisTaskIDFragmentationFunction.h:430
 AliAnalysisTaskIDFragmentationFunction.h:431
 AliAnalysisTaskIDFragmentationFunction.h:432
 AliAnalysisTaskIDFragmentationFunction.h:433
 AliAnalysisTaskIDFragmentationFunction.h:434
 AliAnalysisTaskIDFragmentationFunction.h:435
 AliAnalysisTaskIDFragmentationFunction.h:436
 AliAnalysisTaskIDFragmentationFunction.h:437
 AliAnalysisTaskIDFragmentationFunction.h:438
 AliAnalysisTaskIDFragmentationFunction.h:439
 AliAnalysisTaskIDFragmentationFunction.h:440
 AliAnalysisTaskIDFragmentationFunction.h:441
 AliAnalysisTaskIDFragmentationFunction.h:442
 AliAnalysisTaskIDFragmentationFunction.h:443
 AliAnalysisTaskIDFragmentationFunction.h:444
 AliAnalysisTaskIDFragmentationFunction.h:445
 AliAnalysisTaskIDFragmentationFunction.h:446
 AliAnalysisTaskIDFragmentationFunction.h:447
 AliAnalysisTaskIDFragmentationFunction.h:448
 AliAnalysisTaskIDFragmentationFunction.h:449
 AliAnalysisTaskIDFragmentationFunction.h:450
 AliAnalysisTaskIDFragmentationFunction.h:451
 AliAnalysisTaskIDFragmentationFunction.h:452
 AliAnalysisTaskIDFragmentationFunction.h:453
 AliAnalysisTaskIDFragmentationFunction.h:454
 AliAnalysisTaskIDFragmentationFunction.h:455
 AliAnalysisTaskIDFragmentationFunction.h:456
 AliAnalysisTaskIDFragmentationFunction.h:457
 AliAnalysisTaskIDFragmentationFunction.h:458
 AliAnalysisTaskIDFragmentationFunction.h:459
 AliAnalysisTaskIDFragmentationFunction.h:460
 AliAnalysisTaskIDFragmentationFunction.h:461
 AliAnalysisTaskIDFragmentationFunction.h:462
 AliAnalysisTaskIDFragmentationFunction.h:463
 AliAnalysisTaskIDFragmentationFunction.h:464
 AliAnalysisTaskIDFragmentationFunction.h:465
 AliAnalysisTaskIDFragmentationFunction.h:466
 AliAnalysisTaskIDFragmentationFunction.h:467
 AliAnalysisTaskIDFragmentationFunction.h:468
 AliAnalysisTaskIDFragmentationFunction.h:469
 AliAnalysisTaskIDFragmentationFunction.h:470
 AliAnalysisTaskIDFragmentationFunction.h:471
 AliAnalysisTaskIDFragmentationFunction.h:472
 AliAnalysisTaskIDFragmentationFunction.h:473
 AliAnalysisTaskIDFragmentationFunction.h:474
 AliAnalysisTaskIDFragmentationFunction.h:475
 AliAnalysisTaskIDFragmentationFunction.h:476
 AliAnalysisTaskIDFragmentationFunction.h:477
 AliAnalysisTaskIDFragmentationFunction.h:478
 AliAnalysisTaskIDFragmentationFunction.h:479
 AliAnalysisTaskIDFragmentationFunction.h:480
 AliAnalysisTaskIDFragmentationFunction.h:481
 AliAnalysisTaskIDFragmentationFunction.h:482
 AliAnalysisTaskIDFragmentationFunction.h:483
 AliAnalysisTaskIDFragmentationFunction.h:484
 AliAnalysisTaskIDFragmentationFunction.h:485
 AliAnalysisTaskIDFragmentationFunction.h:486
 AliAnalysisTaskIDFragmentationFunction.h:487
 AliAnalysisTaskIDFragmentationFunction.h:488
 AliAnalysisTaskIDFragmentationFunction.h:489
 AliAnalysisTaskIDFragmentationFunction.h:490
 AliAnalysisTaskIDFragmentationFunction.h:491
 AliAnalysisTaskIDFragmentationFunction.h:492
 AliAnalysisTaskIDFragmentationFunction.h:493
 AliAnalysisTaskIDFragmentationFunction.h:494
 AliAnalysisTaskIDFragmentationFunction.h:495
 AliAnalysisTaskIDFragmentationFunction.h:496
 AliAnalysisTaskIDFragmentationFunction.h:497
 AliAnalysisTaskIDFragmentationFunction.h:498
 AliAnalysisTaskIDFragmentationFunction.h:499
 AliAnalysisTaskIDFragmentationFunction.h:500
 AliAnalysisTaskIDFragmentationFunction.h:501
 AliAnalysisTaskIDFragmentationFunction.h:502
 AliAnalysisTaskIDFragmentationFunction.h:503
 AliAnalysisTaskIDFragmentationFunction.h:504
 AliAnalysisTaskIDFragmentationFunction.h:505
 AliAnalysisTaskIDFragmentationFunction.h:506
 AliAnalysisTaskIDFragmentationFunction.h:507
 AliAnalysisTaskIDFragmentationFunction.h:508
 AliAnalysisTaskIDFragmentationFunction.h:509
 AliAnalysisTaskIDFragmentationFunction.h:510
 AliAnalysisTaskIDFragmentationFunction.h:511
 AliAnalysisTaskIDFragmentationFunction.h:512
 AliAnalysisTaskIDFragmentationFunction.h:513
 AliAnalysisTaskIDFragmentationFunction.h:514
 AliAnalysisTaskIDFragmentationFunction.h:515
 AliAnalysisTaskIDFragmentationFunction.h:516
 AliAnalysisTaskIDFragmentationFunction.h:517
 AliAnalysisTaskIDFragmentationFunction.h:518
 AliAnalysisTaskIDFragmentationFunction.h:519
 AliAnalysisTaskIDFragmentationFunction.h:520
 AliAnalysisTaskIDFragmentationFunction.h:521
 AliAnalysisTaskIDFragmentationFunction.h:522
 AliAnalysisTaskIDFragmentationFunction.h:523
 AliAnalysisTaskIDFragmentationFunction.h:524
 AliAnalysisTaskIDFragmentationFunction.h:525
 AliAnalysisTaskIDFragmentationFunction.h:526
 AliAnalysisTaskIDFragmentationFunction.h:527
 AliAnalysisTaskIDFragmentationFunction.h:528
 AliAnalysisTaskIDFragmentationFunction.h:529
 AliAnalysisTaskIDFragmentationFunction.h:530
 AliAnalysisTaskIDFragmentationFunction.h:531
 AliAnalysisTaskIDFragmentationFunction.h:532
 AliAnalysisTaskIDFragmentationFunction.h:533
 AliAnalysisTaskIDFragmentationFunction.h:534
 AliAnalysisTaskIDFragmentationFunction.h:535
 AliAnalysisTaskIDFragmentationFunction.h:536
 AliAnalysisTaskIDFragmentationFunction.h:537
 AliAnalysisTaskIDFragmentationFunction.h:538
 AliAnalysisTaskIDFragmentationFunction.h:539
 AliAnalysisTaskIDFragmentationFunction.h:540
 AliAnalysisTaskIDFragmentationFunction.h:541
 AliAnalysisTaskIDFragmentationFunction.h:542
 AliAnalysisTaskIDFragmentationFunction.h:543
 AliAnalysisTaskIDFragmentationFunction.h:544
 AliAnalysisTaskIDFragmentationFunction.h:545
 AliAnalysisTaskIDFragmentationFunction.h:546
 AliAnalysisTaskIDFragmentationFunction.h:547
 AliAnalysisTaskIDFragmentationFunction.h:548
 AliAnalysisTaskIDFragmentationFunction.h:549
 AliAnalysisTaskIDFragmentationFunction.h:550
 AliAnalysisTaskIDFragmentationFunction.h:551
 AliAnalysisTaskIDFragmentationFunction.h:552
 AliAnalysisTaskIDFragmentationFunction.h:553
 AliAnalysisTaskIDFragmentationFunction.h:554
 AliAnalysisTaskIDFragmentationFunction.h:555
 AliAnalysisTaskIDFragmentationFunction.h:556
 AliAnalysisTaskIDFragmentationFunction.h:557
 AliAnalysisTaskIDFragmentationFunction.h:558
 AliAnalysisTaskIDFragmentationFunction.h:559
 AliAnalysisTaskIDFragmentationFunction.h:560
 AliAnalysisTaskIDFragmentationFunction.h:561
 AliAnalysisTaskIDFragmentationFunction.h:562
 AliAnalysisTaskIDFragmentationFunction.h:563
 AliAnalysisTaskIDFragmentationFunction.h:564
 AliAnalysisTaskIDFragmentationFunction.h:565
 AliAnalysisTaskIDFragmentationFunction.h:566
 AliAnalysisTaskIDFragmentationFunction.h:567
 AliAnalysisTaskIDFragmentationFunction.h:568
 AliAnalysisTaskIDFragmentationFunction.h:569
 AliAnalysisTaskIDFragmentationFunction.h:570
 AliAnalysisTaskIDFragmentationFunction.h:571
 AliAnalysisTaskIDFragmentationFunction.h:572
 AliAnalysisTaskIDFragmentationFunction.h:573
 AliAnalysisTaskIDFragmentationFunction.h:574
 AliAnalysisTaskIDFragmentationFunction.h:575
 AliAnalysisTaskIDFragmentationFunction.h:576
 AliAnalysisTaskIDFragmentationFunction.h:577
 AliAnalysisTaskIDFragmentationFunction.h:578
 AliAnalysisTaskIDFragmentationFunction.h:579
 AliAnalysisTaskIDFragmentationFunction.h:580
 AliAnalysisTaskIDFragmentationFunction.h:581
 AliAnalysisTaskIDFragmentationFunction.h:582
 AliAnalysisTaskIDFragmentationFunction.h:583
 AliAnalysisTaskIDFragmentationFunction.h:584
 AliAnalysisTaskIDFragmentationFunction.h:585
 AliAnalysisTaskIDFragmentationFunction.h:586
 AliAnalysisTaskIDFragmentationFunction.h:587
 AliAnalysisTaskIDFragmentationFunction.h:588
 AliAnalysisTaskIDFragmentationFunction.h:589
 AliAnalysisTaskIDFragmentationFunction.h:590
 AliAnalysisTaskIDFragmentationFunction.h:591
 AliAnalysisTaskIDFragmentationFunction.h:592
 AliAnalysisTaskIDFragmentationFunction.h:593
 AliAnalysisTaskIDFragmentationFunction.h:594
 AliAnalysisTaskIDFragmentationFunction.h:595
 AliAnalysisTaskIDFragmentationFunction.h:596
 AliAnalysisTaskIDFragmentationFunction.h:597
 AliAnalysisTaskIDFragmentationFunction.h:598
 AliAnalysisTaskIDFragmentationFunction.h:599
 AliAnalysisTaskIDFragmentationFunction.h:600
 AliAnalysisTaskIDFragmentationFunction.h:601
 AliAnalysisTaskIDFragmentationFunction.h:602
 AliAnalysisTaskIDFragmentationFunction.h:603
 AliAnalysisTaskIDFragmentationFunction.h:604
 AliAnalysisTaskIDFragmentationFunction.h:605
 AliAnalysisTaskIDFragmentationFunction.h:606
 AliAnalysisTaskIDFragmentationFunction.h:607
 AliAnalysisTaskIDFragmentationFunction.h:608
 AliAnalysisTaskIDFragmentationFunction.h:609
 AliAnalysisTaskIDFragmentationFunction.h:610
 AliAnalysisTaskIDFragmentationFunction.h:611
 AliAnalysisTaskIDFragmentationFunction.h:612
 AliAnalysisTaskIDFragmentationFunction.h:613
 AliAnalysisTaskIDFragmentationFunction.h:614
 AliAnalysisTaskIDFragmentationFunction.h:615
 AliAnalysisTaskIDFragmentationFunction.h:616
 AliAnalysisTaskIDFragmentationFunction.h:617
 AliAnalysisTaskIDFragmentationFunction.h:618
 AliAnalysisTaskIDFragmentationFunction.h:619
 AliAnalysisTaskIDFragmentationFunction.h:620
 AliAnalysisTaskIDFragmentationFunction.h:621
 AliAnalysisTaskIDFragmentationFunction.h:622
 AliAnalysisTaskIDFragmentationFunction.h:623
 AliAnalysisTaskIDFragmentationFunction.h:624
 AliAnalysisTaskIDFragmentationFunction.h:625
 AliAnalysisTaskIDFragmentationFunction.h:626
 AliAnalysisTaskIDFragmentationFunction.h:627
 AliAnalysisTaskIDFragmentationFunction.h:628
 AliAnalysisTaskIDFragmentationFunction.h:629
 AliAnalysisTaskIDFragmentationFunction.h:630
 AliAnalysisTaskIDFragmentationFunction.h:631
 AliAnalysisTaskIDFragmentationFunction.h:632
 AliAnalysisTaskIDFragmentationFunction.h:633
 AliAnalysisTaskIDFragmentationFunction.h:634
 AliAnalysisTaskIDFragmentationFunction.h:635
 AliAnalysisTaskIDFragmentationFunction.h:636
 AliAnalysisTaskIDFragmentationFunction.h:637
 AliAnalysisTaskIDFragmentationFunction.h:638
 AliAnalysisTaskIDFragmentationFunction.h:639
 AliAnalysisTaskIDFragmentationFunction.h:640
 AliAnalysisTaskIDFragmentationFunction.h:641
 AliAnalysisTaskIDFragmentationFunction.h:642
 AliAnalysisTaskIDFragmentationFunction.h:643
 AliAnalysisTaskIDFragmentationFunction.h:644
 AliAnalysisTaskIDFragmentationFunction.h:645
 AliAnalysisTaskIDFragmentationFunction.h:646
 AliAnalysisTaskIDFragmentationFunction.h:647
 AliAnalysisTaskIDFragmentationFunction.h:648
 AliAnalysisTaskIDFragmentationFunction.h:649
 AliAnalysisTaskIDFragmentationFunction.h:650
 AliAnalysisTaskIDFragmentationFunction.h:651
 AliAnalysisTaskIDFragmentationFunction.h:652
 AliAnalysisTaskIDFragmentationFunction.h:653
 AliAnalysisTaskIDFragmentationFunction.h:654
 AliAnalysisTaskIDFragmentationFunction.h:655
 AliAnalysisTaskIDFragmentationFunction.h:656
 AliAnalysisTaskIDFragmentationFunction.h:657
 AliAnalysisTaskIDFragmentationFunction.h:658
 AliAnalysisTaskIDFragmentationFunction.h:659
 AliAnalysisTaskIDFragmentationFunction.h:660
 AliAnalysisTaskIDFragmentationFunction.h:661
 AliAnalysisTaskIDFragmentationFunction.h:662