1 #ifndef ALIANALYSISTASKGAMMACONVERSION_H
\r
2 #define ALIANALYSISTASKGAMMACONVERSION_H
\r
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
\r
5 * See cxx source for full Copyright notice */
\r
7 ////////////////////////////////////////////////
\r
8 //---------------------------------------------
\r
9 // Class used to do analysis on conversion pairs
\r
10 //---------------------------------------------
\r
11 ////////////////////////////////////////////////
\r
13 #include "AliAnalysisTaskSE.h"
\r
15 #include "AliV0Reader.h"
\r
17 class AliGammaConversionHistograms;
\r
19 class AliKFParticle;
\r
20 class AliESDInputHandler;
\r
26 class AliAnalysisTaskGammaConversion : public AliAnalysisTaskSE
\r
29 AliAnalysisTaskGammaConversion();
\r
30 AliAnalysisTaskGammaConversion(const char* name);
\r
31 virtual ~AliAnalysisTaskGammaConversion() ;// virtual destructor
\r
33 // Implementation of interface methods
\r
34 virtual void UserCreateOutputObjects();
\r
35 virtual void Init();
\r
36 virtual void LocalInit() {Init();}
\r
37 virtual void Exec(Option_t *option);
\r
38 virtual void Terminate(Option_t *option);
\r
39 virtual void ConnectInputData(Option_t *);
\r
41 void ProcessMCData();
\r
43 void ProcessGammasForNeutralMesonAnalysis();
\r
44 void SetHistograms(AliGammaConversionHistograms *histograms){fHistograms=histograms;}
\r
45 void SetDoMCTruth(Bool_t flag){fDoMCTruth=flag;}
\r
46 void SetElectronMass(Double_t electronMass){fElectronMass = electronMass;}
\r
47 void SetGammaMass(Double_t gammaMass){fGammaMass = gammaMass;}
\r
48 void SetGammaWidth(Double_t gammaWidth){fGammaWidth = gammaWidth;}
\r
49 void SetPi0Mass(Double_t pi0Mass){fPi0Mass = pi0Mass;}
\r
50 void SetPi0Width(Double_t pi0Width){fPi0Width = pi0Width;}
\r
51 void SetEtaMass(Double_t etaMass){fEtaMass = etaMass;}
\r
52 void SetEtaWidth(Double_t etaWidth){fEtaWidth = etaWidth;}
\r
53 void SetV0Reader(AliV0Reader* reader){fV0Reader=reader;}
\r
54 void SetCalculateBackground(Bool_t bg){fCalculateBackground=bg;}
\r
55 void CalculateBackground();
\r
56 Double_t GetMCOpeningAngle(TParticle* daughter0, TParticle* daughter1) const;
\r
59 AliAnalysisTaskGammaConversion(const AliAnalysisTaskGammaConversion&); // Not implemented
\r
60 AliAnalysisTaskGammaConversion& operator=(const AliAnalysisTaskGammaConversion&); // Not implemented
\r
62 AliV0Reader* fV0Reader;
\r
66 TList * fOutputContainer ; // Histogram container
\r
68 AliGammaConversionHistograms *fHistograms;
\r
72 vector<TParticle*> fMCAllGammas;
\r
73 vector<TParticle*> fMCPi0s;
\r
74 vector<TParticle*> fMCEtas;
\r
75 vector<TParticle*> fMCGammaChic;
\r
77 vector<AliKFParticle> fKFReconstructedGammas;
\r
80 Double_t fElectronMass;
\r
81 Double_t fGammaMass;
\r
86 Double_t fGammaWidth;
\r
89 Bool_t fCalculateBackground;
\r
92 ClassDef(AliAnalysisTaskGammaConversion, 0); // Analysis task for gamma conversions
\r
95 #endif //ALIANALYSISTASKGAMMA_H
\r