ROOT logo
#ifndef ALIANALYSISTASKNEUTRALMESONTOPIPLPIMIPIZERO_H
#define ALIANALYSISTASKNEUTRALMESONTOPIPLPIMIPIZERO_H

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


#include "AliAnalysisTaskSE.h"
#include "AliV0ReaderV1.h"
#include "AliKFConversionPhoton.h"
#include "AliPrimaryPionSelector.h"
#include "AliConversionMesonCuts.h"
#include "AliConvEventCuts.h"
#include "AliCaloPhotonCuts.h"
#include "AliGammaConversionAODBGHandler.h"
#include "TProfile2D.h"

class AliESDInputHandler;
class AliMCEventHandler;
class AliESDEvent;
class AliESDtrack;
class AliESDtrackCuts;
class AliESDpidCuts;
class AliTriggerAnalysis;

class AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero: public AliAnalysisTaskSE
{
	public:

		AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero();
		AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero( const char* name );
		virtual ~AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero();

		virtual void UserExec(Option_t *);
		virtual void UserCreateOutputObjects();
		virtual Bool_t Notify();
		virtual void Terminate(const Option_t *);

			
		void SetMoveParticleAccordingToVertex(Bool_t flag){fMoveParticleAccordingToVertex = flag;}
		void SetIsHeavyIon(Int_t flag){
			if (flag == 1 || flag ==2 ){
				fIsHeavyIon = 1;    
			} else {
				fIsHeavyIon = 0;    
			}
		}
		
		void SetIsMC(Bool_t isMC){fIsMC=isMC;}
		void SetEventCutList(Int_t nCuts, TList *CutArray){ 
			fnCuts= nCuts;	
			fEventCutArray = CutArray;
		}
		void SetConversionCutList(TList *CutArray){ fGammaCutArray = CutArray;}
		void SetClusterCutList(TList *CutArray){ fClusterCutArray = CutArray;}
		void SetPionCutList(TList *CutArray){ fPionCutArray = CutArray;}
		void SetNeutralPionCutList(TList *CutArray){ fNeutralPionMesonCutArray = CutArray; }
		void SetMesonCutList(TList *CutArray){ fMesonCutArray = CutArray; }
		void SetDoMesonQA(Bool_t flag){ fDoMesonQA = flag; }
		void SetNeutralPionMode(Int_t mode){fNeutralPionMode = mode; }
	

	private:

		void InitBack();
		
		// routines for photon selection from conversions
		void ProcessConversionPhotonCandidates();
		void ProcessTrueConversionPhotonCandidates(AliAODConversionPhoton*);
		
		// routines for photon selection from clusters
		void ProcessCaloPhotonCandidates();
		void ProcessTrueCaloPhotonCandidates(AliAODConversionPhoton *TruePhotonCandidate);
		
		void ProcessTrueMesonCandidates(AliAODConversionMother *Pi0Candidate, AliAODConversionMother *TrueNeutralPionCandidate, AliAODConversionPhoton *TrueVirtualGammaCandidate);
		void MoveParticleAccordingToVertex(AliAODConversionMother* particle,const AliGammaConversionAODBGHandler::GammaConversionVertex *vertex);
    	
		// routines for neutral pion candidates from pure conversion
		void ProcessNeutralPionCandidatesPureConversions();	
		void ProcessTrueNeutralPionCandidatesPureConversions(AliAODConversionMother *Pi0Candidate, AliAODConversionPhoton *TrueGammaCandidate0, AliAODConversionPhoton *TrueGammaCandidate1);
		void ProcessTrueNeutralPionCandidatesPureConversionsAOD(AliAODConversionMother *Pi0Candidate, AliAODConversionPhoton *TrueGammaCandidate0, AliAODConversionPhoton *TrueGammaCandidate1);
		
		// routines for neutral pion candidates from pure calo
		void ProcessNeutralPionCandidatesPureCalo();
		void ProcessTrueNeutralPionCandidatesPureCalo(AliAODConversionMother *Pi0Candidate, AliAODConversionPhoton *TrueGammaCandidate0, AliAODConversionPhoton *TrueGammaCandidate1);

		// routines for neutral pion candidates from mixed conv + calo
		void ProcessNeutralPionCandidatesMixedConvCalo();
		void ProcessTrueNeutralPionCandidatesMixedConvCalo( AliAODConversionMother *Pi0Candidate, AliAODConversionPhoton *TrueGammaCandidate0, AliAODConversionPhoton *TrueGammaCandidate1);
		
		void ProcessPionCandidates();
		void ProcessMCParticles();
		void CalculateMesonCandidates();
        void CalculateBackground();
		void UpdateEventByEventData();
        
		Bool_t IsPiPlPiMiPiZeroDecay(TParticle *fMCMother) const;
		Bool_t IsEtaPiPlPiMiPiZeroDaughter( Int_t label ) const;
		Bool_t IsOmegaPiPlPiMiPiZeroDaughter( Int_t label ) const;
		Bool_t GammaIsNeutralMesonPiPlPiMiPiZeroDaughter( Int_t label ) const;

		AliV0ReaderV1 					*fV0Reader;									// V0Reader for basic conversion photon selection
		AliPrimaryPionSelector			*fPionSelector;								// primary charged pion selector, basic selection of pi+,pi-
		AliGammaConversionAODBGHandler 	**fBGHandler;								// BG handler
		AliESDEvent 					*fESDEvent;									// current event
		AliMCEvent 						*fMCEvent;									// current MC event
		AliStack 						*fMCStack;									// current MC stack
		TList 							**fCutFolder;								// list of output folders with main cut name 
		TList 							**fESDList;									// list with main output histograms for data
		TList 							**fBackList;								// list with THnSparseF for BG 
		TList 							**fMotherList;								// list with THnSparseF for FG 
		TList 							**fTrueList;								// list with validated reconstructed MC histograms
		TList 							**fMCList;									// list with pure MC histograms
		TList 							*fOutputContainer;							// output container
		TClonesArray 					*fReaderGammas;								// array with photon from fV0Reader
		vector<Int_t> 					fSelectorNegPionIndex;						// array with pion indices for negative pions from fPionSelector
		vector<Int_t> 					fSelectorPosPionIndex;						// array with pion indices for positive pions from fPionSelector
		TList 							*fGoodConvGammas;							// good conv gammas after selection
		TList 							*fClusterCandidates; 						//! good calo gammas after selection 
		TList 							*fNeutralPionCandidates;					// good neutral pion candidates
		TList 							*fGoodVirtualParticles;						// combination of pi+pi- candidates
		TList 							*fEventCutArray;							// array with event cuts
		TList 							*fGammaCutArray;							// array with Conversion Cuts
		TList 							*fClusterCutArray;							// array with Cluster Cuts
		TList 							*fPionCutArray;								// array with charged pion cuts
		TList 							*fNeutralPionMesonCutArray;					// array with neutral pion cuts
		TList 							*fMesonCutArray;							// array with neutral meson cuts
		AliConvEventCuts 				*fEventCuts;								// current event cuts
		AliConversionPhotonCuts 		*fConversionCuts;							// current conversion cuts
		AliCaloPhotonCuts				*fClusterCuts;								// current cluster cuts
		
		// reconstructed particles
		TH1F 							**fHistoConvGammaPt;						// array of histos of conversion photon, pt
		TH1F 							**fHistoConvGammaEta;						// array of histos of conversion photon, eta
		TH1F 							**fHistoClusterGammaPt;						// array of histos of Cluster photon, pt
		TH1F 							**fHistoClusterGammaEta;					// array of histos of Cluster photon, eta
		TH1F 							**fHistoNegPionPt;							// array of histos of negative pion, pt
		TH1F 							**fHistoPosPionPt;							// array of histos of positive pion, pt
		TH1F 							**fHistoNegPionPhi;							// array of histos of negative pion, phi
		TH1F 							**fHistoPosPionPhi;							// array of histos of positive pion, phi
		TH1F 							**fHistoNegPionEta;							// array of histos of negative pion, eta
		TH1F 							**fHistoPosPionEta;							// array of histos of positive pion, eta
		TH2F 							**fHistoNegPionClsTPC;						// array of histos of negative pion, findable tpc cluster, pT
		TH2F 							**fHistoPosPionClsTPC;						// array of histos of positive pion, findable tpc cluster, pT
		TH2F 							**fHistoPionDCAxy;							// array of histos of pion, dca_xy, pT
		TH2F 							**fHistoPionDCAz;							// array of histos of pion, dca_z, pT
		TH2F 							**fHistoPionTPCdEdxNSigma;					// array of histos of pion, p, TPC nSigma dEdx pion
		TH2F 							**fHistoPionTPCdEdx;						// array of histos of pion, p, TPC dEdx
		TH2F 							**fHistoPionPionInvMassPt;					// array of histos of pion pion, invMass, pT_{pi+pi-}
		TH2F	 						**fHistoGammaGammaInvMassPt;				// array of histos of gamma-gamma, invMass, pT_{gamma gamma}
		TH2F	 						**fHistoMotherInvMassPt;					// array of histos of pi+pi-pi0 same event, invMass, pT_{pi+pi-pi0}
		THnSparseF 						**fTHnSparseMotherInvMassPtZM;				// array of THnSparseF of pi+pi-pi0 same event, invMass, pT_{pi+pi-pi0}, Z, M
		TH2F 							**fHistoMotherBackInvMassPt;				// array of histos of pi+pi-pi0 mixed event, invMass, pT_{pi+pi-pi0}
		THnSparseF				 		**fTHnSparseMotherBackInvMassPtZM;			// array of THnSparseF of pi+pi-pi0 mixed event, invMass, pT_{pi+pi-pi0}, Z, M
		
		// pure MC properties
		TH1F 							**fHistoMCAllGammaPt;						// array of histos of all produced gammas in the specified y range
		TH1F 							**fHistoMCConvGammaPt;						// array of histos of all converted gammas in the specified y range 
		TH1F 							**fHistoMCAllPosPionsPt;					// array of histos with all produced primary positive pions in the specified y range
		TH1F 							**fHistoMCAllNegPionsPt;					// array of histos with all produced primary negative pions in the specified y range
		TH1F 							**fHistoMCGammaFromNeutralMesonPt;			// array of histos of all produced gammas from omega or eta via pi+pi-pi0 in the specified y range/
		TH1F 							**fHistoMCPosPionsFromNeutralMesonPt;		// array of histos of all produced positive pions from omega or eta via pi+pi-pi0 in the specified y range/
		TH1F 							**fHistoMCNegPionsFromNeutralMesonPt;		// array of histos of all produced negative pions from omega or eta via pi+pi-pi0 in the specified y range/
		TH1F 							**fHistoMCEtaPiPlPiMiPiZeroPt;				// array of histos of produced etas via pi+pi-pi0 in the specified y range
		TH1F 							**fHistoMCEtaPiPlPiMiPiZeroInAccPt;			// array of histos of produced etas via pi+pi-pi0 in the specified y range, with decay products in respective y, eta ranges 
		TH1F 							**fHistoMCOmegaPiPlPiMiPiZeroPt;			// array of histos of produced omegas via pi+pi-pi0 in the specified y range
		TH1F 							**fHistoMCOmegaPiPlPiMiPiZeroInAccPt;		// array of histos of produced omegas via pi+pi-pi0 in the specified y range, with decay products in respective y, eta ranges 

		// reconstructed particles MC validated
		TH2F 							**fHistoTrueMotherPiPlPiMiPiZeroInvMassPt;	// histos with reconstructed validated eta or omega, inv mass, pT
		TH2F 							**fHistoTrueMotherGammaGammaInvMassPt;		// histos with reconstructed validated pi0, inv mass, pT
		TH2F 							**fHistoTrueMotherGammaGammaFromEtaInvMassPt;	// histos with reconstructed validated pi0, inv mass, pT
		TH2F 							**fHistoTrueMotherGammaGammaFromOmegaInvMassPt;	// histos with reconstructed validated pi0, inv mass, pT
		TH1F 							**fHistoTrueConvGammaPt;					// histos with reconstructed validated conv gamma, pT
		TH1F 							**fHistoTrueConvGammaFromNeutralMesonPt;	// histos with reconstructed validated conv gamma from eta or omega via pi0, pT
		TH1F 							**fHistoTrueClusterGammaPt;					// histos with reconstructed validated cluster gamma, pT
		TH1F 							**fHistoTrueClusterGammaFromNeutralMesonPt;	// histos with reconstructed validated cluster gamma from eta or omega via pi0, pT
		TH1F				 			**fHistoTruePosPionPt;						// histos with reconstructed validated positive pion, pT
		TH1F 							**fHistoTruePosPionFromNeutralMesonPt;		// histos with reconstructed validated positive pion from eta or omega, pT
		TH1F 							**fHistoTrueNegPionPt;						// histos with reconstructed validated negative pion, pT
		TH1F 							**fHistoTrueNegPionFromNeutralMesonPt;		// histos with reconstructed validated negative pion from eta or omega, pT
		TH2F 							**fHistoTruePionPionInvMassPt;				// histos with reconstructed validated two pion, invariant mass, pT
		TH2F 							**fHistoTruePionPionFromSameMotherInvMassPt;// histos with reconstructed validated two pion from same mother, invariant mass, pT
		TH2F 							**fHistoTruePionPionFromEtaInvMassPt;		// histos with reconstructed validated two pion from eta , invariant mass, pT
		TH2F 							**fHistoTruePionPionFromOmegaInvMassPt;		// histos with reconstructed validated two pion from omega, invariant mass, pT
		// Event properties
		TH1I 							**fHistoNEvents;							// histo for event counting
		TH1I 							**fHistoNGoodESDTracks;						// histo number of reconstructed primary tracks
		TProfile 						**fProfileEtaShift;							// profile for eta shift bookkeeping
			
		TRandom3 						fRandom;									// random number
		Int_t 							fnCuts;										// number of cuts to be run in parallel
		Int_t 							fiCut;										// current cut
		Int_t 							fNumberOfESDTracks;							// integer with number of primary tracks in this event
		Bool_t 							fMoveParticleAccordingToVertex;				// Flag to move parice to the vertex
		Int_t 							fIsHeavyIon;								// Flag for collision system 0: pp, 1: PbPb, 2: pPb
		Bool_t 							fDoMesonAnalysis;							// Flag for switching on meson analysis
		Bool_t 							fDoMesonQA;									// Flag for switching on small meson QA
		Bool_t 							fIsFromMBHeader;							// Flag for particle whether it belongs to accepted header
		Bool_t 							fIsMC;										// Flag for MC  
		Int_t							fNeutralPionMode;							// Flag how neutral pion is reconstructed 0=PCM-PCM, 1=PCM-Calo, 2=Calo-Calo

	private:
		AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero( const AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero& ); // Not implemented
		AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero& operator=( const AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero& ); // Not implemented

		ClassDef( AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero, 2 );
};

#endif // ALIANALYSISTASKNEUTRALMESONTOPIPLPIMIPIZERO_H

 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:1
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:2
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:3
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:4
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:5
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:6
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:7
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:8
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:9
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:10
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:11
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:12
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:13
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:14
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:15
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:16
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:17
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:18
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:19
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:20
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:21
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:22
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:23
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:24
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:25
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:26
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:27
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:28
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:29
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:30
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:31
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:32
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:33
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:34
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:35
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:36
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:37
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:38
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:39
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:40
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:41
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:42
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:43
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:44
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:45
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:46
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:47
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:48
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:49
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:50
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:51
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:52
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:53
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:54
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:55
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:56
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:57
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:58
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:59
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:60
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:61
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:62
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:63
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:64
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:65
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:66
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:67
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:68
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:69
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:70
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:71
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:72
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:73
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:74
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:75
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:76
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:77
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:78
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:79
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:80
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:81
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:82
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:83
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:84
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:85
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:86
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:87
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:88
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:89
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:90
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:91
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:92
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:93
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:94
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:95
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:96
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:97
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:98
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:99
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:100
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:101
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:102
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:103
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:104
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:105
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:106
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:107
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:108
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:109
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:110
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:111
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:112
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:113
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:114
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:115
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:116
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:117
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:118
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:119
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:120
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:121
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:122
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:123
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:124
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:125
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:126
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:127
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:128
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:129
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:130
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:131
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:132
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:133
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:134
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:135
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:136
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:137
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:138
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:139
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:140
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:141
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:142
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:143
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:144
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:145
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:146
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:147
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:148
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:149
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:150
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:151
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:152
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:153
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:154
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:155
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:156
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:157
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:158
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:159
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:160
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:161
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:162
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:163
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:164
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:165
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:166
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:167
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:168
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:169
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:170
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:171
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:172
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:173
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:174
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:175
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:176
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:177
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:178
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:179
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:180
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:181
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:182
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:183
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:184
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:185
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:186
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:187
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:188
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:189
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:190
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:191
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:192
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:193
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:194
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:195
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:196
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:197
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:198
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:199
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:200
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:201
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:202
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:203
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:204
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:205
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:206
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:207
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:208
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:209
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:210
 AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.h:211