]>
Commit | Line | Data |
---|---|---|
80977d68 | 1 | #ifndef ALIANALYSISTASKGAMMACONVERSION_H |
2 | #define ALIANALYSISTASKGAMMACONVERSION_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | #include "AliAnalysisTaskSE.h" | |
8 | #include "AliV0Reader.h" | |
9 | //#include "TH2F.h" | |
10 | //#include "TH1F.h" | |
11 | #include "AliGammaConversionHistograms.h" | |
12 | #include "AliESDv0.h" | |
13 | #include <vector> | |
14 | //#include "TLorentzVector.h" | |
15 | #include "AliKFParticle.h" | |
16 | ||
17 | //class AliAnaGamma; | |
18 | class AliESDInputHandler; | |
19 | class AliESDEvent; | |
20 | class AliAODEvent; | |
21 | class TList; | |
22 | class AliStack; | |
23 | ||
24 | class AliAnalysisTaskGammaConversion : public AliAnalysisTaskSE | |
25 | { | |
26 | public: | |
27 | AliAnalysisTaskGammaConversion(); | |
28 | AliAnalysisTaskGammaConversion(const char* name); | |
29 | virtual ~AliAnalysisTaskGammaConversion() ;// virtual destructor | |
30 | ||
31 | // Implementation of interface methods | |
32 | virtual void UserCreateOutputObjects(); | |
33 | virtual void Init(); | |
34 | virtual void LocalInit() {Init();} | |
35 | virtual void Exec(Option_t *option); | |
36 | virtual void Terminate(Option_t *option); | |
37 | virtual void ConnectInputData(Option_t *); | |
38 | ||
39 | void ProcessMCData(); | |
40 | void ProcessV0s(); | |
41 | void ProcessGammasForNeutralMesonAnalysis(); | |
42 | void SetHistograms(AliGammaConversionHistograms *histograms){fHistograms=histograms;} | |
43 | void SetDoMCTruth(Bool_t flag){fDoMCTruth=flag;} | |
44 | void SetElectronMass(Double_t electronMass){fElectronMass = electronMass;} | |
45 | void SetGammaMass(Double_t gammaMass){fGammaMass = gammaMass;} | |
46 | void SetGammaWidth(Double_t gammaWidth){fGammaWidth = gammaWidth;} | |
47 | void SetPi0Mass(Double_t pi0Mass){fPi0Mass = pi0Mass;} | |
48 | void SetPi0Width(Double_t pi0Width){fPi0Width = pi0Width;} | |
49 | void SetEtaMass(Double_t etaMass){fEtaMass = etaMass;} | |
50 | void SetEtaWidth(Double_t etaWidth){fEtaWidth = etaWidth;} | |
51 | void SetV0Reader(AliV0Reader* reader){fV0Reader=reader;} | |
52 | void SetCalculateBackground(Bool_t bg){fCalculateBackground=bg;} | |
53 | void CalculateBackground(); | |
54 | Double_t GetMCOpeningAngle(TParticle* daughter0,TParticle* daughter1); | |
55 | ||
56 | private: | |
57 | AliAnalysisTaskGammaConversion(const AliAnalysisTaskGammaConversion&); // Not implemented | |
58 | AliAnalysisTaskGammaConversion& operator=(const AliAnalysisTaskGammaConversion&); // Not implemented | |
59 | ||
60 | AliV0Reader* fV0Reader; | |
61 | ||
62 | AliStack * fStack; | |
63 | ||
64 | TList * fOutputContainer ; // Histogram container | |
65 | ||
66 | AliGammaConversionHistograms *fHistograms; | |
67 | ||
68 | Bool_t fDoMCTruth; | |
69 | ||
70 | vector<TParticle*> fMCAllGammas; | |
71 | vector<TParticle*> fMCPi0s; | |
72 | vector<TParticle*> fMCEtas; | |
73 | vector<TParticle*> fMCGammaChi_c; | |
74 | ||
75 | vector<AliKFParticle> fKFReconstructedGammas; | |
76 | ||
77 | //mass defines | |
78 | Double_t fElectronMass; | |
79 | Double_t fGammaMass; | |
80 | Double_t fPi0Mass; | |
81 | Double_t fEtaMass; | |
82 | ||
83 | // width defines | |
84 | Double_t fGammaWidth; | |
85 | Double_t fPi0Width; | |
86 | Double_t fEtaWidth; | |
87 | Bool_t fCalculateBackground; | |
88 | ||
89 | ||
90 | ClassDef(AliAnalysisTaskGammaConversion, 0); // Analysis task for gamma conversions | |
91 | }; | |
92 | ||
93 | #endif //ALIANALYSISTASKGAMMA_H |