ROOT logo
#ifndef ALIANALYSISTASKCHECKPERFORMANCECASCADE_H
#define ALIANALYSISTASKCHECKPERFORMANCECASCADE_H

/*  See cxx source for full Copyright notice */

// //-----------------------------------------------------------------
// //        AliAnalysisTaskCheckPerformanceCascade class
// //            This task is for a performance study of cascade identification.
// //            It works with MC info and ESD.
// //              Use with AOD tree = under development
// //            Origin   : A.Maire Mar2009, antonin.maire@ires.in2p3.fr
// //            Modified : A.Maire Jan2010, antonin.maire@ires.in2p3.fr
// //-----------------------------------------------------------------

class TList;
class TH1F;
class TH2F;
class AliESDEvent;
class AliESDpid;
class AliESDtrackCuts;
class AliCFContainer;

#include "AliAnalysisTaskSE.h"

class AliAnalysisTaskCheckPerformanceCascade : public AliAnalysisTaskSE {
 public:
 
  AliAnalysisTaskCheckPerformanceCascade();
  AliAnalysisTaskCheckPerformanceCascade(const char *name );
  virtual ~AliAnalysisTaskCheckPerformanceCascade();
  
  //virtual void   ConnectInputData(Option_t *);
  virtual void   UserCreateOutputObjects();
  virtual void   UserExec(Option_t *option);
  virtual Int_t  DoESDTrackWithTPCrefitMultiplicity(const AliESDEvent *lESDevent);
  virtual void   Terminate(Option_t *);
  
  void SetDebugLevelCascade(Int_t lDebugCascade = 0)          {fDebugCascade = lDebugCascade;}
  void SetCollidingSystems (Short_t collidingSystems = 0)     {fCollidingSystems = collidingSystems;}
  
  void SetAnalysisType     (const char* analysisType    = "ESD") { fAnalysisType     = analysisType;}
  void SetTriggerMaskType  (const char* triggerMaskType = "kMB") { fTriggerMaskType  = triggerMaskType;}
  
  void SetRelaunchV0CascVertexers    (Bool_t rerunV0CascVertexers       = 0    ) { fkRerunV0CascVertexers         =  rerunV0CascVertexers;      }
  void SetQualityCutZprimVtxPos      (Bool_t qualityCutZprimVtxPos      = kTRUE) { fkQualityCutZprimVtxPos        =  qualityCutZprimVtxPos;     }
  void SetRejectEventPileUp          (Bool_t rejectPileUp               = kTRUE) { fkRejectEventPileUp            =  rejectPileUp;              }
  void SetQualityCutNoTPConlyPrimVtx (Bool_t qualityCutNoTPConlyPrimVtx = kTRUE) { fkQualityCutNoTPConlyPrimVtx   =  qualityCutNoTPConlyPrimVtx;}
  void SetQualityCutTPCrefit         (Bool_t qualityCutTPCrefit         = kTRUE) { fkQualityCutTPCrefit           =  qualityCutTPCrefit;        }
  void SetQualityCut80TPCcls         (Bool_t qualityCut80TPCcls         = kTRUE) { fkQualityCut80TPCcls           =  qualityCut80TPCcls;        }
  void SetAlephParamFor1PadTPCCluster(Bool_t onePadTPCCluster           = kTRUE) { fkIsDataRecoWith1PadTPCCluster =  onePadTPCCluster ;         }
  void SetExtraSelections            (Bool_t extraSelections            = 0    ) { fkExtraSelections              =  extraSelections;           }

 private:
        // Note : In ROOT, "//!" means "do not stream the data from Master node to Worker node" ...
        // your data member object is created on the worker nodes and streaming is not needed.
        // http://root.cern.ch/download/doc/11InputOutput.pdf, page 14

        Int_t           fDebugCascade;          // Denug Flag for this task devoted to cascade
        TString         fAnalysisType;          // "ESD" or "AOD" analysis type	
        TString         fTriggerMaskType;       // type of trigger to use in UserExec : AliVEvent::kMB or kHighMult ?
        Short_t         fCollidingSystems;      // 0 = pp collisions or 1 = AA collisions

        AliESDpid       *fESDpid;                       // Tool data member to manage the TPC Bethe-Bloch info
        AliESDtrackCuts *fESDtrackCuts;                 // ESD track cuts used for primary track definition
        //TPaveText       *fPaveTextBookKeeping;          // TString to store all the relevant info necessary for book keeping (v0 cuts, cascade cuts, quality cuts, ...)

        Bool_t          fkRerunV0CascVertexers;         // Boolean : kTRUE = relaunch both V0 + Cascade vertexers
        Bool_t          fkQualityCutZprimVtxPos;        // Boolean : kTRUE = cut on the prim.vtx  z-position
        Bool_t          fkRejectEventPileUp;            // Boolean : kTRUE = enable the rejection of events tagged as pile-up by SPD (AliESDEvent::IsPileupFromSPD)
        Bool_t          fkQualityCutNoTPConlyPrimVtx;   // Boolean : kTRUE = prim vtx should be SPD or Tracking vertex
        Bool_t          fkQualityCutTPCrefit;           // Boolean : kTRUE = ask for TPCrefit for the 3 daughter tracks
        Bool_t          fkQualityCut80TPCcls;           // Boolean : kTRUE = ask for 80 TPC clusters for each daughter track
        Bool_t          fkIsDataRecoWith1PadTPCCluster; // Boolean : kTRUE = data reconstructed with the "one pad cluster" algo in TPC (important for the ALEPH param for TPC PID)
        Bool_t          fkExtraSelections;              // Boolean : kTRUE = apply tighter selections, before starting the analysis
        
        Double_t        fAlephParameters[5];            // Array to store the 5 param values for the TPC Bethe-Bloch parametrisation
        Double_t        fV0Sels[7];                     // Array to store the 7 values for the different selections V0 related (if fkRerunV0CascVertexers)
        Double_t        fCascSels[8];                   // Array to store the 8 values for the different selections Casc. related (if fkRerunV0CascVertexers)

	
 	TList	*fListHistCascade;		//! List of Cascade histograms
		// - Histos 
	TH1F	*fHistMCTrackMultiplicity;	//! MC Track multiplicity (gen. primaries)
                // - Resolution of the multiplicity estimator
        TH2F    *f2dHistRecoPrimTrckMultVsMCMult;       //! resolution of the multiplicity estimator (based on primary tracks)
        TH2F    *f2dHistRecoEstimateMultVsMCMult;       //! resolution of the multiplicity estimator (based on ESDEvent::EstimateMultiplicity)
	
	
	// proton
	TH1F	*fHistEtaGenProton;   			//! MC Pseudo-rapidity of any generated p+ (no cuts in acceptance)
	TH1F	*fHistEtaGenAntiProton;   		//! MC Pseudo-rapidity of any generated p+ (no cuts in acceptance)

// Part 1 - Generated cascades
	
	//--------------
	// Xi-
	TH1F	*fHistEtaGenCascXiMinus;   		//! MC Pseudo-rapidity of any generated Xi- (no cuts in acceptance)
	TH2F	*f2dHistGenPtVsGenYGenXiMinus;		//! MC Pt Vs MC Y of generated Xi- 
		
	// - Histos planned for Xi- emitted within the acceptance (cuts in theta + pt of daughters)
	// 	= findable cascades
	TH1F	*fHistThetaGenCascXiMinus;		//! MC Theta angle of the generated Xi-
	TH2F	*f2dHistGenPtVsGenYFdblXiMinus;		//! MC Pt Vs MC y of the findable Xi-
	
	TH1F	*fHistThetaLambdaXiMinus;		//! MC Theta angle of the Lambda daughter of the generated Xi-
	TH1F	*fHistThetaBachXiMinus;			//! MC Theta angle of the Bachelor (pi-)
	
	TH1F	*fHistThetaMesDghterXiMinus;		//! MC Theta angle of the mesonic  V0 daughter in the generated cascade, pi-
	TH1F	*fHistThetaBarDghterXiMinus;		//! MC Theta angle of the baryonic V0 daughter in the generated cascade, p+
	
	TH1F	*fHistPtBachXiMinus;   			//! MC Pt of the Bachelor (pi-)                         (Control Plot)
	TH1F	*fHistPtMesDghterXiMinus;		//! MC Pt of the meson daughter of the 'Lambda0', pi-   (Control Plot)
	TH1F	*fHistPtBarDghterXiMinus;		//! MC Pt of the baryon daughter of the 'Lambda0', p+   (Control Plot)
	
	
	
	//--------------
	// Xi+
	TH1F	*fHistEtaGenCascXiPlus;   		//! MC Pseudo-rapidity of any generated Xi+ (no cuts in acceptance)
	TH2F	*f2dHistGenPtVsGenYGenXiPlus;		//! MC Pt Vs MC Y of generated Xi+ 
			
	// - Histos planned for Xi+ emitted within the acceptance (cuts in theta + pt of daughters)
	TH1F	*fHistThetaGenCascXiPlus;		//! MC Theta angle of the generated Xi+
	TH2F	*f2dHistGenPtVsGenYFdblXiPlus;		//! MC Pt Vs MC y of the findable Xi+
	
	TH1F	*fHistThetaLambdaXiPlus;		//! MC Theta angle of the anti-Lambda daughter of the generated Xi+
	TH1F	*fHistThetaBachXiPlus;			//! MC Theta angle of the Bachelor (pi+)
	
	TH1F	*fHistThetaMesDghterXiPlus;		//! MC Theta angle of the mesonic  V0 daughter in the generated cascade, pi+
	TH1F	*fHistThetaBarDghterXiPlus;		//! MC Theta angle of the baryonic V0 daughter in the generated cascade, p-
	
	TH1F	*fHistPtBachXiPlus;   			//! MC Pt of the Bachelor (pi+)                       (Control Plot)
	TH1F	*fHistPtMesDghterXiPlus;		//! MC Pt of the meson daughter of the 'Lambda0', pi+ (Control Plot)
	TH1F	*fHistPtBarDghterXiPlus;		//! MC Pt of the baryon daughter of the 'Lambda0', p- (Control Plot)
	
	
	
	//--------------
	// Omega-
	TH1F	*fHistEtaGenCascOmegaMinus;   		//! MC Pseudo-rapidity of any generated Omega- (no cuts in acceptance)
	TH2F	*f2dHistGenPtVsGenYGenOmegaMinus; 	//! MC Pt Vs MC Y of generated Omega- 	
	
	// - Histos planned for Omega- emitted within the acceptance (cuts in theta + pt of daughters)
	TH1F	*fHistThetaGenCascOmegaMinus;		//! MC Theta angle of the generated Omega-
	TH2F	*f2dHistGenPtVsGenYFdblOmegaMinus;	//! MC Pt Vs MC y of the findable Omega-
	
	TH1F	*fHistThetaLambdaOmegaMinus;		//! MC Theta angle of the Lambda daughter of the generated Omega-
	TH1F	*fHistThetaBachOmegaMinus;		//! MC Theta angle of the Bachelor (K-)
	
	TH1F	*fHistThetaMesDghterOmegaMinus;		//! MC Theta angle of the mesonic  V0 daughter in the generated cascade, pi-
	TH1F	*fHistThetaBarDghterOmegaMinus;		//! MC Theta angle of the baryonic V0 daughter in the generated cascade, p+
	
	TH1F	*fHistPtBachOmegaMinus;   		//! MC Pt of the Bachelor (K-)                   (Control Plot)
	TH1F	*fHistPtMesDghterOmegaMinus;		//! MC Pt of the meson daughter of the 'Lambda0', pi- (Control Plot)
	TH1F	*fHistPtBarDghterOmegaMinus;		//! MC Pt of the baryon daughter of the 'Lambda0', p+ (Control Plot)
	
	
	
	//--------------
	// Omega+
	TH1F	*fHistEtaGenCascOmegaPlus;   		//! MC Pseudo-rapidity of any generated Omega+ (no cuts in acceptance)
	TH2F	*f2dHistGenPtVsGenYGenOmegaPlus; 	//! MC Pt Vs MC Y of generated Omega+	
		
	// - Histos planned for Omega+ emitted within the acceptance (cuts in theta + pt of daughters)
	TH1F	*fHistThetaGenCascOmegaPlus;		//! MC Theta angle of the generated Omega+
	TH2F	*f2dHistGenPtVsGenYFdblOmegaPlus;	//! MC Pt Vs MC y of the findable Omega+
	
	TH1F	*fHistThetaLambdaOmegaPlus;		//! MC Theta angle of the anti-Lambda daughter of the generated Omega+
	TH1F	*fHistThetaBachOmegaPlus;		//! MC Theta angle of the Bachelor (K+)
	
	TH1F	*fHistThetaMesDghterOmegaPlus;		//! MC Theta angle of the mesonic  V0 daughter in the generated cascade, pi+
	TH1F	*fHistThetaBarDghterOmegaPlus;		//! MC Theta angle of the baryonic V0 daughter in the generated cascade, p-
	
	TH1F	*fHistPtBachOmegaPlus;   		//! MC Pt of the Bachelor (K+) (Control Plot)
	TH1F	*fHistPtMesDghterOmegaPlus;		//! MC Pt of the meson daughter of the 'Lambda0', pi+ (Control Plot)
	TH1F	*fHistPtBarDghterOmegaPlus;		//! MC Pt of the baryon daughter of the 'Lambda0', p- (Control Plot)
	
	
	
// Part 2 - Any reconstructed cascades + reconstructed cascades associated with MC
	// 2.1 - Effective mass and PID
	// - Effective mass histos for all the cascade candidates
	TH1F	*fHistMassXiMinus;			//! reconstructed cascade effective mass, under Xi- hyp.
	TH1F	*fHistMassXiPlus;			//! reconstructed cascade effective mass, under Xi+ hyp.
	TH1F	*fHistMassOmegaMinus;			//! reconstructed cascade effective mass, under Omega- hyp.
	TH1F	*fHistMassOmegaPlus;			//! reconstructed cascade effective mass, under Omega+ hyp.
	
	// - Effective mass histos with reconstruction combined PID
	TH1F	*fHistMassWithCombPIDXiMinus;		//! reconstructed Xi- effective mass, with bach. comb PID
	TH1F	*fHistMassWithCombPIDXiPlus;		//! reconstructed Xi+ effective mass, with bach. comb PID
	TH1F	*fHistMassWithCombPIDOmegaMinus;	//! reconstructed Omega- effective mass, with bach. comb PID
	TH1F	*fHistMassWithCombPIDOmegaPlus;		//! reconstructed Omega+ effective mass, with bach. comb PID
	
	// - PID Probability versus MC Pt(bachelor track)
	TH2F	*f2dHistPIDprobaKaonVsMCPtBach;		//! Comb. PID probability for the bach. to be a Kaon Vs MC pt(bach)
	TH2F	*f2dHistPIDprobaPionVsMCPtBach;		//! Comb. PID probability for the bach. to be a Pion Vs MC pt(bach)	

	// - Effective mass histos with perfect MC PID
	TH1F	*fHistMassWithMcPIDXiMinus;		//! reconstructed Xi- effective mass, with MC bach. PID
	TH1F	*fHistMassWithMcPIDXiPlus;		//! reconstructed Xi+ effective mass, with MC bach. PID
	TH1F	*fHistMassWithMcPIDOmegaMinus;		//! reconstructed Omega- effective mass, with MC bach. PID
	TH1F	*fHistMassWithMcPIDOmegaPlus;		//! reconstructed Omega+ effective mass, with MC bach. PID

	
	// 2.2 - Associated candidates
	// - Effective mass histos for the cascade candidates associated with MC, without PID info
	TH1F	*fHistAsMCMassXiMinus;			//! reconstr. cascade effective mass, under Xi- hyp. for Associated cand.
	TH1F	*fHistAsMCMassXiPlus;			//! reconstr. cascade effective mass, under Xi+ hyp. for Associated cand.
	TH1F	*fHistAsMCMassOmegaMinus;		//! reconstr. cascade effective mass, under Omega- hyp. for Associated cand.
	TH1F	*fHistAsMCMassOmegaPlus;		//! reconstr. cascade effective mass, under Omega+ hyp. for Associated cand.
	
	// -  Generated Pt Vs generated Y of the cascade candidates associated with MC 
	//     + having the proper maximum proba of combined PID for the bachelor
	TH2F	*f2dHistAsMCandCombPIDGenPtVsGenYXiMinus;	//! Pt(gen) Vs Y(gen) from the MC Xi- associated with Reco cand + with PID info
	TH2F	*f2dHistAsMCandCombPIDGenPtVsGenYXiPlus;	//! Pt(gen) Vs Y(gen) from the MC Xi+ associated with Reco cand + with PID info
	TH2F	*f2dHistAsMCandCombPIDGenPtVsGenYOmegaMinus;	//! Pt(gen) Vs Y(gen) from the MC Omega- associated with Reco cand + with PID info
	TH2F	*f2dHistAsMCandCombPIDGenPtVsGenYOmegaPlus;	//! Pt(gen) Vs Y(gen) from the MC Omega+ associated with Reco cand + with PID info
	
	// - Generated Pt Vs generated Y, for the cascade candidates associated with MC, without PID info
	TH2F	*f2dHistAsMCGenPtVsGenYXiMinus;		//! gen. Pt Vs gen. Rap. from the MC Xi- associated with a reconstr. cascade
	TH2F	*f2dHistAsMCGenPtVsGenYXiPlus;		//! gen. Pt Vs gen. Rap. from the MC Xi+ associated with a reconstr. cascade
	TH2F	*f2dHistAsMCGenPtVsGenYOmegaMinus;	//! gen. Pt Vs gen. Rap. from the MC Omega- associated with a reconstr. cascade
	TH2F	*f2dHistAsMCGenPtVsGenYOmegaPlus;	//! gen. Pt Vs gen. Rap. from the MC Omega+ associated with a reconstr. cascade
	
	// - Generated Eta of the the cascade candidates associated with MC, without PID info
	TH1F	*fHistAsMCGenEtaXiMinus;		//! generated Eta from the MC Xi- associated with a reconstr. cascade
	TH1F	*fHistAsMCGenEtaXiPlus;			//! generated Eta from the MC Xi+ associated with a reconstr. cascade
	TH1F	*fHistAsMCGenEtaOmegaMinus;		//! generated Eta from the MC Omega- associated with a reconstr. cascade
	TH1F	*fHistAsMCGenEtaOmegaPlus;		//! generated Eta from the MC Omega+ associated with a reconstr. cascade
	
	// - Resolution in Pt as function of generated Pt
	TH2F	*f2dHistAsMCResPtXiMinus;		//! resolution in Pt as function of gen. Pt, for Xi-
	TH2F	*f2dHistAsMCResPtXiPlus;		//! resolution in Pt as function of gen. Pt, for Xi-
	TH2F	*f2dHistAsMCResPtOmegaMinus;		//! resolution in Pt as function of gen. Pt, for Omega-
	TH2F	*f2dHistAsMCResPtOmegaPlus;		//! resolution in Pt as function of gen. Pt, for Omega+
	
	// - Resolution in R(2D) as function of generated R
	TH2F	*f2dHistAsMCResRXiMinus;		//! resolution in transv. R = f(transv. gen. R), for Xi-
	TH2F	*f2dHistAsMCResRXiPlus;			//! resolution in transv. R = f(transv. gen. R), for Xi+
	TH2F	*f2dHistAsMCResROmegaMinus;		//! resolution in transv. R = f(transv. gen. R), for Omega-
	TH2F	*f2dHistAsMCResROmegaPlus;		//! resolution in transv. R = f(transv. gen. R), for Omega+
        
        // - Resolution in phi as function of generated Pt
        TH2F    *f2dHistAsMCResPhiXiMinus;              //! resolution in azimuth Phi = f(gen. Pt), for Xi-
        TH2F    *f2dHistAsMCResPhiXiPlus;               //! resolution in azimuth Phi = f(gen. Pt), for Xi+
        TH2F    *f2dHistAsMCResPhiOmegaMinus;           //! resolution in azimuth Phi = f(gen. Pt), for Omega-
        TH2F    *f2dHistAsMCResPhiOmegaPlus;            //! resolution in azimuth Phi = f(gen. Pt), for Omega+
        
        // - Correlation in Pt between the cascade and its (anti)proton daughter
        TH2F    *f2dHistAsMCPtProtonVsPtXiMinus;        //! Pt(p) Vs Pt(XiMinus), for a associated-to-reco cascade
        TH2F    *f2dHistAsMCPtAntiProtonVsPtXiPlus;     //! Pt(anti-p) Vs Pt(XiPlus), for a associated-to-reco cascade
        TH2F    *f2dHistAsMCPtProtonVsPtOmegaMinus;     //! Pt(p) Vs Pt(OmegaMinus), for a associated-to-reco cascade
        TH2F    *f2dHistAsMCPtAntiProtonVsPtOmegaPlus;  //! Pt(anti-p) Vs Pt(OmegaPlus), for a associated-to-reco cascade
        
        
        
        // - Compilation of all PID plots (3D = casc. transv. momemtum Vs Casc Eff mass Vs Y), stored into an AliCFContainer
	AliCFContainer  *fCFContCascadePIDAsXiMinus;      //! for Xi-   : Container to store any 3D histos with the different PID flavours
	AliCFContainer  *fCFContCascadePIDAsXiPlus;       //! for Xi+   : Container to store any 3D histos with the different PID flavours
	AliCFContainer  *fCFContCascadePIDAsOmegaMinus;   //! for Omega-: Container to store any 3D histos with the different PID flavours
	AliCFContainer  *fCFContCascadePIDAsOmegaPlus;    //! for Omega+: Container to store any 3D histos with the different PID flavours
	
	// - Towards the optimisation of topological selections/ systematics (on associated candidates)
	AliCFContainer  *fCFContAsCascadeCuts;            //! Container meant to store all the relevant distributions corresponding to the cut variables
	
  AliAnalysisTaskCheckPerformanceCascade(const AliAnalysisTaskCheckPerformanceCascade&);            // not implemented
  AliAnalysisTaskCheckPerformanceCascade& operator=(const AliAnalysisTaskCheckPerformanceCascade&); // not implemented
  
  ClassDef(AliAnalysisTaskCheckPerformanceCascade, 6);
};

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