ROOT logo
#ifndef ALIANALYSISTASKCHECKCASCADEPBPB_H
#define ALIANALYSISTASKCHECKCASCADEPBPB_H

/*  See cxx source for full Copyright notice */

//-----------------------------------------------------------------
//            AliAnalysisTaskCheckCascadePbPb class
//              Origin AliAnalysisTaskCheckCascade
//              This task has four roles :
//                1. QAing the Cascades from ESD and AOD
//                   Origin:  AliAnalysisTaskESDCheckV0 by Boris Hippolyte Nov2007, hippolyt@in2p3.fr
//                2. Prepare the plots which stand as raw material for yield extraction (wi/wo PID)
//                3. Supply an AliCFContainer meant to define the optimised topological selections
//                4. Rough azimuthal correlation study (Eta, Phi)
//                Adapted to Cascade : A.Maire Mar2008, antonin.maire@ires.in2p3.fr
//                Modified :           A.Maire Mar2010, antonin.maire@ires.in2p3.fr
//                Modified for PbPb analysis: M. Nicassio Feb 2011, maria.nicassio@ba.infn.it
//-----------------------------------------------------------------

class TList;
class TH1F;
class TH2F;
class TH3F;
class TVector3;
class THnSparse;
 
class AliESDEvent;
class AliPhysicsSelection;
class AliCFContainer;
class AliPIDResponse;

#include "TString.h"

#include "AliAnalysisTaskSE.h"

class AliAnalysisTaskCheckCascadePbPb : public AliAnalysisTaskSE {
 public:
  AliAnalysisTaskCheckCascadePbPb();
  AliAnalysisTaskCheckCascadePbPb(const char *name);
  virtual ~AliAnalysisTaskCheckCascadePbPb();
  
  virtual void   UserCreateOutputObjects();
  virtual void   UserExec(Option_t *option);
/*	  void   DoAngularCorrelation(const Char_t   *lCascType, 
				            Double_t  lInvMassCascade, 
				      const Int_t    *lArrTrackID,
				            TVector3 &lTVect3MomXi, 
				            Double_t  lEtaXi);*/
  virtual Int_t  DoESDTrackWithTPCrefitMultiplicity(const AliESDEvent *lESDevent);
  virtual void   Terminate(Option_t *);
  
  void SetAnalysisType               (const char* analysisType          = "ESD") { fAnalysisType                = analysisType;               }
  void SetRelaunchV0CascVertexers    (Bool_t rerunV0CascVertexers       = 0    ) { fkRerunV0CascVertexers       = rerunV0CascVertexers;       }
  void SetQualityCutZprimVtxPos      (Bool_t qualityCutZprimVtxPos      = kTRUE) { fkQualityCutZprimVtxPos      = qualityCutZprimVtxPos;      }
  void SetQualityCutNoTPConlyPrimVtx (Bool_t qualityCutNoTPConlyPrimVtx = kTRUE) { fkQualityCutNoTPConlyPrimVtx = qualityCutNoTPConlyPrimVtx; }
  void SetQualityCutTPCrefit         (Bool_t qualityCutTPCrefit         = kTRUE) { fkQualityCutTPCrefit         = qualityCutTPCrefit;         }
  void SetQualityCutnTPCcls          (Bool_t qualityCutnTPCcls          = kTRUE) { fkQualityCutnTPCcls          = qualityCutnTPCcls;          }
  void SetQualityCutMinnTPCcls       (Int_t minnTPCcls                  = 70   ) { fMinnTPCcls                  = minnTPCcls;                 }
  void SetExtraSelections            (Bool_t extraSelections            = 0    ) { fkExtraSelections            = extraSelections;            }
  void SetCentralityLowLim           (Float_t centrlowlim               = 0.   ) { fCentrLowLim                 = centrlowlim;                }  
  void SetCentralityUpLim            (Float_t centruplim                = 100. ) { fCentrUpLim                  = centruplim;                 }
  void SetCentralityEst              (TString   centrest                = "V0M") { fCentrEstimator              = centrest;                   }
  void SetUseCleaning                (Bool_t   usecleaning              = kTRUE) { fkUseCleaning                = usecleaning;                }
  void SetVertexRange                (Float_t vtxrange                  = 0.   ) { fVtxRange                    = vtxrange;                   }
  void SetMinptCutOnDaughterTracks   (Float_t minptdaughtrks            = 0.   ) { fMinPtCutOnDaughterTracks    = minptdaughtrks;             }
  void SetEtaCutOnDaughterTracks     (Float_t etadaughtrks              = 0.   ) { fEtaCutOnDaughterTracks      = etadaughtrks;               }
  //Setters for the V0 and cascade Vertexer Parameters
  void SetV0VertexerMaxChisquare           (Double_t lParameter){ fV0VertexerSels[0] = lParameter; }
  void SetV0VertexerDCAFirstToPV           (Double_t lParameter){ fV0VertexerSels[1] = lParameter; }
  void SetV0VertexerDCASecondtoPV          (Double_t lParameter){ fV0VertexerSels[2] = lParameter; }
  void SetV0VertexerDCAV0Daughters         (Double_t lParameter){ fV0VertexerSels[3] = lParameter; }
  void SetV0VertexerCosinePA               (Double_t lParameter){ fV0VertexerSels[4] = lParameter; }
  void SetV0VertexerMinRadius              (Double_t lParameter){ fV0VertexerSels[5] = lParameter; }
  void SetV0VertexerMaxRadius              (Double_t lParameter){ fV0VertexerSels[6] = lParameter; }
  void SetCascVertexerMaxChisquare         (Double_t lParameter){ fCascadeVertexerSels[0] = lParameter; }
  void SetCascVertexerMinV0ImpactParameter (Double_t lParameter){ fCascadeVertexerSels[1] = lParameter; }
  void SetCascVertexerV0MassWindow         (Double_t lParameter){ fCascadeVertexerSels[2] = lParameter; }
  void SetCascVertexerDCABachToPV          (Double_t lParameter){ fCascadeVertexerSels[3] = lParameter; }
  void SetCascVertexerDCACascadeDaughters  (Double_t lParameter){ fCascadeVertexerSels[4] = lParameter; }
  void SetCascVertexerCascadeCosinePA      (Double_t lParameter){ fCascadeVertexerSels[5] = lParameter; }
  void SetCascVertexerCascadeMinRadius     (Double_t lParameter){ fCascadeVertexerSels[6] = lParameter; }
  void SetCascVertexerCascadeMaxRadius     (Double_t lParameter){ fCascadeVertexerSels[7] = lParameter; } 



 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


        TString         fAnalysisType;                  // "ESD" or "AOD" analysis type	
        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, ...)
        AliPIDResponse *fPIDResponse;                   //! PID response object

        Bool_t          fkRerunV0CascVertexers;         // Boolean : kTRUE = relaunch both V0 + Cascade vertexers
        Bool_t          fkQualityCutZprimVtxPos;        // Boolean : kTRUE = cut on the prim.vtx  z-position
        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          fkQualityCutnTPCcls;            // Boolean : kTRUE = ask for at least n TPC clusters for each daughter track
        Int_t           fMinnTPCcls;                    // minimum number of TPC cluster for daughter tracks
        Bool_t          fkExtraSelections;              // Boolean : kTRUE = apply tighter selections, before starting the analysis
        Float_t         fCentrLowLim;                   // Lower limit for centrality percentile selection
        Float_t         fCentrUpLim;                    // Upper limit for centrality percentile selection
        TString         fCentrEstimator;                // string for the centrality estimator
        Bool_t          fkUseCleaning;                  // Boolean : kTRUE = uses all the cleaning criteria of centrality selections (vertex cut + outliers) otherwise only outliers
        Float_t         fVtxRange;                      // to select events with |zvtx|<fVtxRange cm
        Float_t         fMinPtCutOnDaughterTracks;      // minimum pt cut on daughter tracks
        Float_t         fEtaCutOnDaughterTracks;        // pseudorapidity cut on daughter tracks
       
        Double_t        fV0VertexerSels[7];             // Array to store the 7 values for the different selections V0 related (if fkRerunV0CascVertexers)
        Double_t        fCascadeVertexerSels[8];        // Array to store the 8 values for the different selections Casc. related (if fkRerunV0CascVertexers)

        TList      *fListHistCascade;                   //! List of Cascade histograms
        
        // - General histos (filled before the trigger selection)
        TH2F    *fHistEvtsInCentralityBinsvsNtracks;    //! Events in centrality bins vs N ESDtracks
        TH1F    *fHistCascadeMultiplicityBeforeEvSel;   //! Cascade multiplicity distribution
         
        // - General histos (filled for any triggered event)
        TH1F    *fHistCascadeMultiplicityForCentrEvt;              //! Cascade multiplicity distribution
        TH1F    *fHistTrackMultiplicityForCentrEvt;                //! Track multiplicity distribution (without any cut = include ITS stand-alone + global tracks)
        TH1F    *fHistTPCrefitTrackMultiplicityForCentrEvt;        //! Track multiplicity distribution for tracks with TPCrefit
        
        // - General histos (filled for events selected in this analysis (|z(prim. vtx)| < 10 cm + prim vtx = SPD or Tracking) )
        TH1F    *fHistCascadeMultiplicityForSelEvt;     //! Cascade multiplicity distribution
        TH1F    *fHistPosBestPrimaryVtxXForSelEvt;      //! (best) primary vertex position distribution in x 
        TH1F    *fHistPosBestPrimaryVtxYForSelEvt;      //! (best) primary vertex position distribution in y
        TH1F    *fHistPosBestPrimaryVtxZForSelEvt;      //! (best) primary vertex position distribution in z
        
        
        

        // - Characteristics for event with >1 cascade : Track Multiplicity, TPC clusters + Prim. vertex positions
        TH1F	*fHistTPCrefitTrackMultiplicityForCascadeEvt;   //! TPCrefit Track multiplicity distribution for event with >1 cascade candidate (NB: after quality sel. within the task)

        TH1F    *fHistPosV0TPCClusters;                 //! TPC clusters distribution for Positive V0 daughter track
        TH1F    *fHistNegV0TPCClusters;                 //! TPC clusters distribution for Negative V0 daughter track
        TH1F    *fHistBachTPCClusters;                  //! TPC clusters distribution for Bachelor             track

        TH1F    *fHistVtxStatus;                        //! Is there a tracking vertex in the cascade event ?

                // Vtx coming from the full tracking, for events containing at least a cascade
        TH1F    *fHistPosTrkgPrimaryVtxXForCascadeEvt;  //! primary vertex position distribution in x 
        TH1F    *fHistPosTrkgPrimaryVtxYForCascadeEvt;  //! primary vertex position distribution in y
        TH1F    *fHistPosTrkgPrimaryVtxZForCascadeEvt;  //! primary vertex position distribution in z
        TH1F    *fHistTrkgPrimaryVtxRadius;             //! primary vertex (3D) radius distribution 

                // Best primary Vtx available, for events containing at least a cascade
        TH1F    *fHistPosBestPrimaryVtxXForCascadeEvt;  //! (best) primary vertex position distribution in x 
        TH1F    *fHistPosBestPrimaryVtxYForCascadeEvt;  //! (best) primary vertex position distribution in y
        TH1F    *fHistPosBestPrimaryVtxZForCascadeEvt;  //! (best) primary vertex position distribution in z
        TH1F    *fHistBestPrimaryVtxRadius;             //! (best) primary vertex radius distribution 

                // Correlation Best Vtx / Full Tracking Vtx
        TH2F    *f2dHistTrkgPrimVtxVsBestPrimVtx;       //!  Radius of prim. Vtx from tracks Vs Radius of best Prim. Vtx


// PART 1 : Adavanced QA
// - Typical histos on the variables used for the selection of cascades
        TH1F    *fHistEffMassXi;      			//! reconstructed cascade effective mass
        TH1F    *fHistChi2Xi;         			//! chi2 value
        TH1F    *fHistDcaXiDaughters; 			//! dca between Xi's daughters
        TH1F    *fHistDcaBachToPrimVertex;		//! dca of the bachelor track to primary vertex
        TH1F    *fHistXiCosineOfPointingAngle;		//! cosine of Xi pointing angle in a cascade
        TH1F    *fHistXiRadius;                         //! (transverse) radius of the cascade vertex 
		
	// - Histos about ~ the "V0 selection part" of the cascade,  coming by inheritance from AliESDv0
	TH1F	*fHistMassLambdaAsCascDghter;		//! Test Invariant Mass of Lambda coming from Cascade
	TH1F	*fHistV0Chi2Xi;				//! V0 chi2 distribution, for the V0 associated to a cascade
	TH1F	*fHistDcaV0DaughtersXi;			//! Dca between V0 daughters, for the V0 associated to a cascade
	TH1F	*fHistDcaV0ToPrimVertexXi;		//! Dca of V0 to primary vertex, for the V0 associated to a cascade	
	TH1F	*fHistV0CosineOfPointingAngle;	        //! Cosine of V0 pointing angle, for the V0 associated to a cascade
	TH1F	*fHistV0RadiusXi;			//! V0 (transverse) distance distribution, for the V0 associated to a cascade

	TH1F	*fHistDcaPosToPrimVertexXi;		//! Dca of V0 positive daughter to primary vertex, for the V0 associated to a cascade
	TH1F	*fHistDcaNegToPrimVertexXi;		//! Dca of V0 negative daughter to primary vertex, for the V0 associated to a cascade
	

	// - Effective mass histos for cascades.
	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.
	
	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

	// - Complements for QA
        TH1F	*fHistXiTransvMom;                      //! Xi transverse momentum, around the mass peak of Xi-/+ 
	TH1F	*fHistXiTotMom;                         //! Xi momentum norm, around the mass peak of Xi-/+
	
	TH1F	*fHistBachTransvMomXi;                  //! bachelor transverse momentum, for cand. around the mass peak of Xi-/+
	TH1F	*fHistBachTotMomXi;                     //! bachelor momentum norm, for cand. around the mass peak of Xi-/+
        TH1F    *fHistPosTransvMomXi;                   //! positive daughter transverse momentum, for cand. around the mass peak of Xi-/+
        TH1F    *fHistNegTransvMomXi;                   //! negative daughter transverse momentum, for cand. around the mass peak of Xi-/+

	TH1F	*fHistChargeXi;				//! Charge sign of the cascade candidate
	TH1F	*fHistV0toXiCosineOfPointingAngle;	//! Cos. of Pointing angle between the V0 mom and the Xi-V0 vtx line
  
	TH1F	*fHistRapXi;                            //! rapidity of Xi candidates, around the mass peak of Xi-/+
	TH1F	*fHistRapOmega;                         //! rapidity of Omega candidates, around the mass peak of Omega-/+
	TH1F	*fHistEtaXi;                            //! eta distrib. of all the cascade candidates, around the mass peak of Xi-/+
	TH1F	*fHistThetaXi;                          //! theta distrib. of all the cascade candidates, around the mass peak of Xi-/+
	TH1F	*fHistPhiXi;                            //! phi distrib. of all the cascade candidates, around the mass peak of Xi-/+
	
	TH2F	*f2dHistArmenteros;			//! alpha(casc. cand.) Vs PtArm(casc. cand.)
	
	TH2F	*f2dHistEffMassLambdaVsEffMassXiMinus;	//! Xi- Eff mass Vs V0 Eff mass, under Xi- hyp.
	TH2F	*f2dHistEffMassXiVsEffMassOmegaMinus;	//! Xi- Eff mass Vs Omega- Eff mass, for negative cascades
	TH2F	*f2dHistEffMassLambdaVsEffMassXiPlus;	//! Xi+ Eff mass Vs V0 Eff mass, under Xi+ hyp.
	TH2F	*f2dHistEffMassXiVsEffMassOmegaPlus;	//! Xi+ Eff mass Vs Omega+ Eff mass, for positive cascades
	
	TH2F	*f2dHistXiRadiusVsEffMassXiMinus;	//! transv. casc. decay radius Vs Xi- Eff mass, under Xi- hyp.
	TH2F	*f2dHistXiRadiusVsEffMassXiPlus;	//! transv. casc. decay radius Vs Xi+ Eff mass, under Xi+ hyp.
	TH2F	*f2dHistXiRadiusVsEffMassOmegaMinus;	//! transv. casc. decay radius Vs Omega- Eff mass, under Omega- hyp.
	TH2F	*f2dHistXiRadiusVsEffMassOmegaPlus;	//! transv. casc. decay radius Vs Omega+ Eff mass, under Omega+ hyp.
        
        TH2F    *f2dHistTPCdEdxOfCascDghters;           //! TPC Bethe-Bloch curve, populated with the cascade daughters
	
	
	// PART 2 : TH3F needed for pt spectrum and yield extraction
	// Without any PID
/*	TH3F	*f3dHistXiPtVsEffMassVsYXiMinus;        //! casc. transv. momemtum Vs Xi- Eff mass Vs Y
	TH3F	*f3dHistXiPtVsEffMassVsYXiPlus;         //! casc. transv. momemtum Vs Xi+ Eff mass Vs Y
	TH3F	*f3dHistXiPtVsEffMassVsYOmegaMinus;     //! casc. transv. momemtum Vs Omega- Eff mass Vs Y
	TH3F	*f3dHistXiPtVsEffMassVsYOmegaPlus;      //! casc. transv. momemtum Vs Omega+ Eff mass Vs Y
*/	
	// Compilation of all PID plots (3D = casc. transv. momemtum Vs Casc Eff mass Vs Y), stored into an AliCFContainer
	AliCFContainer  *fCFContCascadePIDXiMinus;      //! for Xi-   : Container to store any 3D histos with the different PID flavours
	AliCFContainer  *fCFContCascadePIDXiPlus;       //! for Xi+   : Container to store any 3D histos with the different PID flavours
	AliCFContainer  *fCFContCascadePIDOmegaMinus;   //! for Omega-: Container to store any 3D histos with the different PID flavours
	AliCFContainer  *fCFContCascadePIDOmegaPlus;    //! for Omega+: Container to store any 3D histos with the different PID flavours
	
	
	
	// PART 3 : Towards the optimisation of topological selections / systematics
	AliCFContainer  *fCFContCascadeCuts;            //! Container meant to store all the relevant distributions corresponding to the cut variables
	
	
	// PART 4 :  Azimuthal correlation study
/*	THnSparseF	*fHnSpAngularCorrXiMinus;	//! Delta Phi(Casc,any trck) Vs Delta Eta(Casc,any trck) Vs Casc Pt Vs Pt of the tracks Vs Eff Mass
	THnSparseF	*fHnSpAngularCorrXiPlus;	//! Delta Phi(Casc,any trck) Vs Delta Eta(Casc,any trck) Vs Casc Pt Vs Pt of the tracks Vs Eff Mass
	THnSparseF	*fHnSpAngularCorrOmegaMinus;	//! Delta Phi(Casc,any trck) Vs Delta Eta(Casc,any trck) Vs Casc Pt Vs Pt of the tracks Vs Eff Mass
	THnSparseF	*fHnSpAngularCorrOmegaPlus;	//! Delta Phi(Casc,any trck) Vs Delta Eta(Casc,any trck) Vs Casc Pt Vs Pt of the tracks Vs Eff Mass
*/
        TH1F *fV0Ampl;                                  //! histo to check the V0 amplitude distribution  

        TH2F    *fHistDcaXiDaughtersvsInvMass;          //! cut variables vs inv. mass
        TH2F    *fHistDcaBachToPrimVertexvsInvMass;     //! cut variables vs inv. mass
        TH2F    *fHistXiCosineOfPointingAnglevsInvMass; //! cut variables vs inv. mass
        TH2F    *fHistMassLambdaAsCascDghtervsInvMass;  //! cut variables vs inv. mass
        TH2F    *fHistDcaV0DaughtersXivsInvMass;        //! cut variables vs inv. mass
        TH2F    *fHistDcaV0ToPrimVertexXivsInvMass;     //! cut variables vs inv. mass

        // Control plots for reco pseudorapidity of daughter tracks (Xi- only)

        TH1F    *fHistEtaBachXiM;                       //! bachelor pseudorapidity
        TH1F    *fHistEtaPosXiM;                        //! positive daughter pseudorapidity
        TH1F    *fHistEtaNegXiM;                        //! negative daughter pseudorapidity



  AliAnalysisTaskCheckCascadePbPb(const AliAnalysisTaskCheckCascadePbPb&);            // not implemented
  AliAnalysisTaskCheckCascadePbPb& operator=(const AliAnalysisTaskCheckCascadePbPb&); // not implemented
  
  ClassDef(AliAnalysisTaskCheckCascadePbPb, 7);
};

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