ROOT logo
#ifndef AliAnalysisTaskMaterial_cxx
#define AliAnalysisTaskMaterial_cxx

#include "AliAnalysisTaskSE.h"
#include "AliConversionPhotonBase.h"
#include "TH1.h"
#include "TH2.h"
#include "TTreeStream.h"
#include "AliLog.h"
#include <vector>
#include "AliV0ReaderV1.h"
#include "AliConversionPhotonCuts.h"
#include "AliConvEventCuts.h"
#include "TList.h"
#include "AliStack.h"
#include "TClonesArray.h"


using namespace std;


class AliAnalysisTaskMaterial : public AliAnalysisTaskSE{

	public:

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

		virtual void   UserCreateOutputObjects();
		virtual void   UserExec(Option_t *option);
		virtual void   Terminate(Option_t *);

		void SetIsMC(Bool_t isMC){fIsMC=isMC;}
		void SetV0Reader(AliV0ReaderV1 *v0Reader){fV0Reader=v0Reader;}
		void SetConversionCuts(AliConversionPhotonCuts* conversionCuts,Int_t IsHeavyIon ){
			fConversionCuts=conversionCuts;
			fIsHeavyIon = IsHeavyIon;
		}
		void SetEventCuts(AliConvEventCuts* conversionCuts,Int_t IsHeavyIon ){
			fEventCuts=conversionCuts;
			fIsHeavyIon = IsHeavyIon;
		}
		
	private:
		
		void ProcessPhotons();
		void ProcessMCPhotons();
		void FillMCTree(Int_t stackPos);
		Int_t CountTracks0914();
		Int_t CountTracks09();

		AliV0ReaderV1 				*fV0Reader;					// 
		TClonesArray 				*fConversionGammas; 		// Reconstructed Photons;
		AliConversionPhotonCuts 	*fConversionCuts; 			// Cuts used by the V0Reader
		AliConvEventCuts 			*fEventCuts; 				// Cuts used by the V0Reader
		TList 						*fOutputList; 				//
		TList 						*fEventList;				//
		TList 						*fRecGammaList;				//
		TList 						*fAllMCGammaList;			//
		TList 						*fAllMCConvGammaList;		//
		TTree* 						fTreeEvent;					//
		TTree* 						fTreeMaterialRec;			//
		TTree* 						fTreeMaterialAllGamma;		//
		TTree* 						fTreeMaterialConvGamma;		//
		Float_t 					fPrimVtxZ;					//
		Int_t 						fNContrVtx;					//
		Int_t 						fNESDtracksEta09;			//
		Int_t 						fNESDtracksEta0914;			//
		Int_t 						fNESDtracksEta14;			//
		Float_t 					fGammaMCPt;					//
		Float_t 					fGammaMCTheta;				//
		Float_t 					fGammaMCConvPt;				//
		Float_t 					fGammaMCConvTheta;			//
		TVectorF 					fMCConvCords;				//
		TVectorF 					fMCConvDaughterProp;		//
		Float_t 					fGammaPt;					//
		Float_t 					fGammaTheta;				//
		Float_t 					fGammaChi2NDF;				//
		TVectorF 					fRecCords;					//
		TVectorF 					fDaughterProp;				//
		UChar_t 					fKind;						//
		Int_t 						fIsHeavyIon;				//
		Bool_t 						fIsMC;						//
		AliESDEvent 				*fESDEvent;					//
		AliMCEvent 					*fMCEvent;					//

		AliAnalysisTaskMaterial(const AliAnalysisTaskMaterial&); // not implemented
		AliAnalysisTaskMaterial& operator=(const AliAnalysisTaskMaterial&); // not implemented


		ClassDef(AliAnalysisTaskMaterial, 2);
};

#endif
 AliAnalysisTaskMaterial.h:1
 AliAnalysisTaskMaterial.h:2
 AliAnalysisTaskMaterial.h:3
 AliAnalysisTaskMaterial.h:4
 AliAnalysisTaskMaterial.h:5
 AliAnalysisTaskMaterial.h:6
 AliAnalysisTaskMaterial.h:7
 AliAnalysisTaskMaterial.h:8
 AliAnalysisTaskMaterial.h:9
 AliAnalysisTaskMaterial.h:10
 AliAnalysisTaskMaterial.h:11
 AliAnalysisTaskMaterial.h:12
 AliAnalysisTaskMaterial.h:13
 AliAnalysisTaskMaterial.h:14
 AliAnalysisTaskMaterial.h:15
 AliAnalysisTaskMaterial.h:16
 AliAnalysisTaskMaterial.h:17
 AliAnalysisTaskMaterial.h:18
 AliAnalysisTaskMaterial.h:19
 AliAnalysisTaskMaterial.h:20
 AliAnalysisTaskMaterial.h:21
 AliAnalysisTaskMaterial.h:22
 AliAnalysisTaskMaterial.h:23
 AliAnalysisTaskMaterial.h:24
 AliAnalysisTaskMaterial.h:25
 AliAnalysisTaskMaterial.h:26
 AliAnalysisTaskMaterial.h:27
 AliAnalysisTaskMaterial.h:28
 AliAnalysisTaskMaterial.h:29
 AliAnalysisTaskMaterial.h:30
 AliAnalysisTaskMaterial.h:31
 AliAnalysisTaskMaterial.h:32
 AliAnalysisTaskMaterial.h:33
 AliAnalysisTaskMaterial.h:34
 AliAnalysisTaskMaterial.h:35
 AliAnalysisTaskMaterial.h:36
 AliAnalysisTaskMaterial.h:37
 AliAnalysisTaskMaterial.h:38
 AliAnalysisTaskMaterial.h:39
 AliAnalysisTaskMaterial.h:40
 AliAnalysisTaskMaterial.h:41
 AliAnalysisTaskMaterial.h:42
 AliAnalysisTaskMaterial.h:43
 AliAnalysisTaskMaterial.h:44
 AliAnalysisTaskMaterial.h:45
 AliAnalysisTaskMaterial.h:46
 AliAnalysisTaskMaterial.h:47
 AliAnalysisTaskMaterial.h:48
 AliAnalysisTaskMaterial.h:49
 AliAnalysisTaskMaterial.h:50
 AliAnalysisTaskMaterial.h:51
 AliAnalysisTaskMaterial.h:52
 AliAnalysisTaskMaterial.h:53
 AliAnalysisTaskMaterial.h:54
 AliAnalysisTaskMaterial.h:55
 AliAnalysisTaskMaterial.h:56
 AliAnalysisTaskMaterial.h:57
 AliAnalysisTaskMaterial.h:58
 AliAnalysisTaskMaterial.h:59
 AliAnalysisTaskMaterial.h:60
 AliAnalysisTaskMaterial.h:61
 AliAnalysisTaskMaterial.h:62
 AliAnalysisTaskMaterial.h:63
 AliAnalysisTaskMaterial.h:64
 AliAnalysisTaskMaterial.h:65
 AliAnalysisTaskMaterial.h:66
 AliAnalysisTaskMaterial.h:67
 AliAnalysisTaskMaterial.h:68
 AliAnalysisTaskMaterial.h:69
 AliAnalysisTaskMaterial.h:70
 AliAnalysisTaskMaterial.h:71
 AliAnalysisTaskMaterial.h:72
 AliAnalysisTaskMaterial.h:73
 AliAnalysisTaskMaterial.h:74
 AliAnalysisTaskMaterial.h:75
 AliAnalysisTaskMaterial.h:76
 AliAnalysisTaskMaterial.h:77
 AliAnalysisTaskMaterial.h:78
 AliAnalysisTaskMaterial.h:79
 AliAnalysisTaskMaterial.h:80
 AliAnalysisTaskMaterial.h:81
 AliAnalysisTaskMaterial.h:82
 AliAnalysisTaskMaterial.h:83
 AliAnalysisTaskMaterial.h:84
 AliAnalysisTaskMaterial.h:85
 AliAnalysisTaskMaterial.h:86
 AliAnalysisTaskMaterial.h:87
 AliAnalysisTaskMaterial.h:88
 AliAnalysisTaskMaterial.h:89
 AliAnalysisTaskMaterial.h:90
 AliAnalysisTaskMaterial.h:91
 AliAnalysisTaskMaterial.h:92
 AliAnalysisTaskMaterial.h:93
 AliAnalysisTaskMaterial.h:94
 AliAnalysisTaskMaterial.h:95