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

#ifndef ALIANALYSISTASKIDFFTCFN_H
#define ALIANALYSISTASKIDFFTCFN_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 AliAODJets;
class AliAODExtension;
class TList;
class TH1F;
class TH2F;
class TH3F;
class TProfile;
class THnSparse; 
class TRandom3;
class TArrayS;
class AliAODTrack;
class AliAODMCParticle;

#include "AliAnalysisTaskSE.h"
#include "TAxis.h"
#include "THnSparse.h"
#include <TTreeStream.h>
  
class AliAnalysisTaskIDFFTCF : 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 trackEta, 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 

    TH3F*   fh3TrackPtVsEta;  //! FF: track transverse momentum vs track eta 
    TH3F*   fh3TrackPVsEta;   //! FF: track momentum vs track eta 

    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);
  };
  
  enum TPCCUTMODE{
    kPIDNone = 0, 
    kPIDN,
    kMIGeo
  };
  static Bool_t fkDump;  //=1: enable debug streamer; =0 : not.

  AliAnalysisTaskIDFFTCF(); 
  AliAnalysisTaskIDFFTCF(const char *name);
  AliAnalysisTaskIDFFTCF(const  AliAnalysisTaskIDFFTCF &copy);
  AliAnalysisTaskIDFFTCF& operator=(const  AliAnalysisTaskIDFFTCF &o);
  virtual ~AliAnalysisTaskIDFFTCF();
  
  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   SetBranchGenJets(const char* c){fBranchGenJets = c;}
  virtual void   SetBranchRecJets(const char* c){fBranchRecJets = 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   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   UseLeadingJet(Bool_t b){fLeadingJets = b;}

  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   SetQAMode(Int_t qa = 3)      {fQAMode = qa;}
  virtual void   SetFFMode(Int_t ff = 1)      {fFFMode = ff;}
  virtual void   SetEffMode(Int_t eff = 1)    {fEffMode = eff;}

  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 SetTPCCutMode(Int_t mode){ fTPCCutMode = mode; }
  Int_t GetTPCCutMode(){return fTPCCutMode; }

  void SetTOFCutMode(Int_t mode){ fTOFCutMode = mode; }
  Int_t GetTOFCutMode(){return fTOFCutMode; }

  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; }

  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     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, Int_t pdg = 0, 
				       Bool_t scaleGFL = kFALSE, 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, Int_t pdg = 0, 
				 Bool_t scaleGFL = kFALSE, Bool_t scaleStrangeness = kFALSE);


  Float_t  CalcJetArea(Float_t etaJet, Float_t rc) const;
 
  void     BookQAHistos(TList* list = 0, AliFragFuncQATrackHistos** rec = 0, TString strTitRec = "", AliFragFuncQATrackHistos** gen = 0, TString strTitGen = "",
			AliFragFuncQATrackHistos** sec = 0, TString strTitSec = "");

  void     BookFFHistos(TList* list, AliFragFuncHistos** rec = 0, TString strTitRec = "", AliFragFuncHistos** gen = 0, TString strTitGen = "",
			AliFragFuncHistos** sec = 0, TString strTitSec = "");

  Double_t  TrackingPtGeantFlukaCorrectionPrMinus(Double_t pTmc);
  Double_t  TrackingPtGeantFlukaCorrectionKaMinus(Double_t pTmc);
  Double_t  GetMCStrangenessFactorCMS(AliAODMCParticle* daughter);
    


  // Consts
  enum {kTrackUndef=0, kTrackAOD, kTrackAODQualityCuts, kTrackAODCuts,  
	kTrackKineAll, kTrackKineCharged, kTrackKineChargedAcceptance, 
	kTrackAODMCAll, kTrackAODMCCharged, kTrackAODMCChargedAcceptance, kTrackAODMCChargedSec, kTrackAOCMCChargedPrimAcceptance};
  enum {kJetsUndef=0, kJetsRec, kJetsRecAcceptance, kJetsGen, kJetsGenAcceptance, kJetsKine, kJetsKineAcceptance};

 
 protected:
  
  Int_t   GetListOfTracks(TList* list, Int_t type);
  Int_t	  GetListOfJets(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 fBranchGenJets;         // branch name for generated 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]
  Bool_t  fLeadingJets;         // leading/all jets


  Int_t fTPCCutMode;      //mode for cutting TPC for good dE/dx
  Int_t fTOFCutMode;      //mode for cutting TOF
  TTreeStream * fStream; //debug streamer
  TTree * fTree;         //tree of streamer

  // 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
  

  // 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
  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   fEffMode;         // efficiency mode

  Float_t fAvgTrials;       // average number of trials per event
  
  TList* fTracksRecCuts;           //! reconstructed tracks after cuts
  TList* fTracksGen;               //! generated tracks 
  TList* fTracksAODMCCharged;      //! AOD MC tracks 
  TList* fTracksAODMCChargedSec;   //! AOD MC tracks - secondaries 
  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 

   
  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*  fFFHistosRecCutsInc;       //! inclusive FF (all jets) 
  AliFragFuncHistos*  fFFHistosRecCutsIncPi;     //! inclusive FF (all jets) 
  AliFragFuncHistos*  fFFHistosRecCutsIncPro;    //! inclusive FF (all jets) 
  AliFragFuncHistos*  fFFHistosRecCutsIncK;      //! inclusive FF (all jets) 
  AliFragFuncHistos*  fFFHistosRecCutsIncEl;     //! inclusive FF (all jets) 
  AliFragFuncHistos*  fFFHistosRecCutsIncMu;     //! inclusive FF (all jets) 

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

  AliFragFuncHistos*  fFFHistosGenInc;       //! inclusive FF (all jets) 
  AliFragFuncHistos*  fFFHistosGenIncPi;     //! inclusive FF (all jets) 
  AliFragFuncHistos*  fFFHistosGenIncPro;    //! inclusive FF (all jets) 
  AliFragFuncHistos*  fFFHistosGenIncK;      //! inclusive FF (all jets) 
  AliFragFuncHistos*  fFFHistosGenIncEl;     //! inclusive FF (all jets) 
  AliFragFuncHistos*  fFFHistosGenIncMu;     //! 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
  
  THnSparseD * fTHnIDFF;                //! tracks in jets
  THnSparseD * fTHnIncl;                //! inclusive tracks

  // 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	*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  *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

  TH2F  *fh2PtRecVsGenPrim;       //! association rec/gen MC: rec vs gen pt, primaries 
  TH2F  *fh2PtRecVsGenSec;        //! association rec/gen MC: rec vs gen pt, secondaries 

  // tracking efficiency / secondaries
  
  AliFragFuncQATrackHistos* fQATrackHistosRecEffGen;      //! tracking efficiency: generated primaries 
  AliFragFuncQATrackHistos* fQATrackHistosRecEffRec;      //! tracking efficiency: reconstructed primaries
  AliFragFuncQATrackHistos* fQATrackHistosSecRec;         //! reconstructed secondaries
  AliFragFuncQATrackHistos* fQATrackHistosSecRecSSc;      //! reconstructed secondaries

  AliFragFuncQATrackHistos* fQATrackHistosRecEffGenPi;     //! tracking efficiency: generated primaries 
  AliFragFuncQATrackHistos* fQATrackHistosRecEffGenPro;    //! tracking efficiency: generated primaries 
  AliFragFuncQATrackHistos* fQATrackHistosRecEffGenK;      //! tracking efficiency: generated primaries 
  AliFragFuncQATrackHistos* fQATrackHistosRecEffGenEl;     //! tracking efficiency: generated primaries 
  AliFragFuncQATrackHistos* fQATrackHistosRecEffGenMu;     //! tracking efficiency: generated primaries 

  AliFragFuncQATrackHistos* fQATrackHistosRecEffRecPi;       //! tracking efficiency: generated primaries 
  AliFragFuncQATrackHistos* fQATrackHistosRecEffRecPro;      //! tracking efficiency: generated primaries 
  AliFragFuncQATrackHistos* fQATrackHistosRecEffRecK;        //! tracking efficiency: generated primaries 
  AliFragFuncQATrackHistos* fQATrackHistosRecEffRecEl;       //! tracking efficiency: generated primaries 
  AliFragFuncQATrackHistos* fQATrackHistosRecEffRecMu;       //! tracking efficiency: generated primaries 
  AliFragFuncQATrackHistos* fQATrackHistosRecEffRecProGFL;   //! tracking efficiency: generated primaries 
  AliFragFuncQATrackHistos* fQATrackHistosRecEffRecKGFL;     //! tracking efficiency: generated primaries 

  AliFragFuncQATrackHistos* fQATrackHistosSecRecPi;       //! tracking efficiency: generated primaries 
  AliFragFuncQATrackHistos* fQATrackHistosSecRecPro;      //! tracking efficiency: generated primaries 
  AliFragFuncQATrackHistos* fQATrackHistosSecRecK;        //! tracking efficiency: generated primaries 
  AliFragFuncQATrackHistos* fQATrackHistosSecRecEl;       //! tracking efficiency: generated primaries 
  AliFragFuncQATrackHistos* fQATrackHistosSecRecMu;       //! tracking efficiency: generated primaries 
  AliFragFuncQATrackHistos* fQATrackHistosSecRecProGFL;   //! tracking efficiency: generated primaries 
  AliFragFuncQATrackHistos* fQATrackHistosSecRecKGFL;     //! tracking efficiency: generated primaries 

  AliFragFuncQATrackHistos* fQATrackHistosSecRecPiSSc;       //! tracking efficiency: generated primaries 
  AliFragFuncQATrackHistos* fQATrackHistosSecRecProSSc;      //! tracking efficiency: generated primaries 
  AliFragFuncQATrackHistos* fQATrackHistosSecRecKSSc;        //! tracking efficiency: generated primaries 
  AliFragFuncQATrackHistos* fQATrackHistosSecRecElSSc;       //! tracking efficiency: generated primaries 
  AliFragFuncQATrackHistos* fQATrackHistosSecRecMuSSc;       //! tracking efficiency: generated primaries 
  AliFragFuncQATrackHistos* fQATrackHistosSecRecProGFLSSc;   //! tracking efficiency: generated primaries 
  AliFragFuncQATrackHistos* fQATrackHistosSecRecKGFLSSc;     //! tracking efficiency: generated primaries 




  AliFragFuncHistos*  fFFHistosRecEffRec;                 //! tracking efficiency: FF reconstructed primaries
  AliFragFuncHistos*  fFFHistosSecRec;                    //! secondary contamination: FF reconstructed secondaries 
  AliFragFuncHistos*  fFFHistosSecRecSSc;                 //! secondary contamination: FF reconstructed secondaries 

  AliFragFuncHistos*  fFFHistosRecEffRecPi;               //! tracking efficiency: FF reconstructed primaries
  AliFragFuncHistos*  fFFHistosRecEffRecPro;              //! tracking efficiency: FF reconstructed primaries
  AliFragFuncHistos*  fFFHistosRecEffRecK;                //! tracking efficiency: FF reconstructed primaries
  AliFragFuncHistos*  fFFHistosRecEffRecEl;               //! tracking efficiency: FF reconstructed primaries
  AliFragFuncHistos*  fFFHistosRecEffRecMu;               //! tracking efficiency: FF reconstructed primaries
  AliFragFuncHistos*  fFFHistosRecEffRecProGFL;           //! tracking efficiency: FF reconstructed primaries
  AliFragFuncHistos*  fFFHistosRecEffRecKGFL;             //! tracking efficiency: FF reconstructed primaries

  AliFragFuncHistos*  fFFHistosSecRecPi;                  //! secondary contamination: FF reconstructed secondaries 
  AliFragFuncHistos*  fFFHistosSecRecPro;                 //! secondary contamination: FF reconstructed secondaries 
  AliFragFuncHistos*  fFFHistosSecRecK;                   //! secondary contamination: FF reconstructed secondaries 
  AliFragFuncHistos*  fFFHistosSecRecEl;                  //! secondary contamination: FF reconstructed secondaries 
  AliFragFuncHistos*  fFFHistosSecRecMu;                  //! secondary contamination: FF reconstructed secondaries 
  AliFragFuncHistos*  fFFHistosSecRecProGFL;              //! secondary contamination: FF reconstructed secondaries 
  AliFragFuncHistos*  fFFHistosSecRecKGFL;                //! secondary contamination: FF reconstructed secondaries 

  AliFragFuncHistos*  fFFHistosSecRecPiSSc;            //! tracking efficiency: FF reconstructed primaries
  AliFragFuncHistos*  fFFHistosSecRecProSSc;           //! tracking efficiency: FF reconstructed primaries
  AliFragFuncHistos*  fFFHistosSecRecKSSc;             //! tracking efficiency: FF reconstructed primaries
  AliFragFuncHistos*  fFFHistosSecRecElSSc;            //! tracking efficiency: FF reconstructed primaries
  AliFragFuncHistos*  fFFHistosSecRecMuSSc;            //! tracking efficiency: FF reconstructed primaries
  AliFragFuncHistos*  fFFHistosSecRecProGFLSSc;        //! tracking efficiency: FF reconstructed primaries
  AliFragFuncHistos*  fFFHistosSecRecKGFLSSc;          //! tracking efficiency: FF reconstructed primaries


  TRandom3*                   fRandom;          // TRandom3 for background estimation 

  ClassDef(AliAnalysisTaskIDFFTCF, 1);
};

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