Gamma conversion analysis moved to its own subdirectory from PartCorr
[u/mrichter/AliRoot.git] / PWG4 / GammaConv / AliAnalysisTaskGammaConversion.h
CommitLineData
3c538586 1#ifndef ALIANALYSISTASKGAMMACONVERSION_H\r
2#define ALIANALYSISTASKGAMMACONVERSION_H\r
3 \r
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *\r
5 * See cxx source for full Copyright notice */\r
6\r
7////////////////////////////////////////////////\r
8//--------------------------------------------- \r
9// Class used to do analysis on conversion pairs\r
10//---------------------------------------------\r
11////////////////////////////////////////////////\r
12 \r
13#include "AliAnalysisTaskSE.h"\r
14#include <vector>\r
15#include "AliV0Reader.h"\r
16\r
17class AliGammaConversionHistograms;\r
18class AliESDv0;\r
19class AliKFParticle;\r
20class AliESDInputHandler;\r
21class AliESDEvent;\r
22class AliAODEvent;\r
23class TList;\r
24class AliStack;\r
25\r
26class AliAnalysisTaskGammaConversion : public AliAnalysisTaskSE\r
27{\r
28 public:\r
29 AliAnalysisTaskGammaConversion();\r
30 AliAnalysisTaskGammaConversion(const char* name);\r
31 virtual ~AliAnalysisTaskGammaConversion() ;// virtual destructor\r
32 \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
40 \r
41 void ProcessMCData();\r
42 void ProcessV0s();\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
57\r
58 private:\r
59 AliAnalysisTaskGammaConversion(const AliAnalysisTaskGammaConversion&); // Not implemented\r
60 AliAnalysisTaskGammaConversion& operator=(const AliAnalysisTaskGammaConversion&); // Not implemented\r
61\r
62 AliV0Reader* fV0Reader;\r
63\r
64 AliStack * fStack;\r
65\r
66 TList * fOutputContainer ; // Histogram container\r
67\r
68 AliGammaConversionHistograms *fHistograms;\r
69\r
70 Bool_t fDoMCTruth;\r
71 \r
72 vector<TParticle*> fMCAllGammas;\r
73 vector<TParticle*> fMCPi0s;\r
74 vector<TParticle*> fMCEtas;\r
75 vector<TParticle*> fMCGammaChic;\r
76\r
77 vector<AliKFParticle> fKFReconstructedGammas;\r
78\r
79 //mass defines\r
80 Double_t fElectronMass;\r
81 Double_t fGammaMass;\r
82 Double_t fPi0Mass;\r
83 Double_t fEtaMass;\r
84\r
85 // width defines\r
86 Double_t fGammaWidth;\r
87 Double_t fPi0Width;\r
88 Double_t fEtaWidth;\r
89 Bool_t fCalculateBackground;\r
90\r
91\r
92 ClassDef(AliAnalysisTaskGammaConversion, 0); // Analysis task for gamma conversions\r
93};\r
94 \r
95#endif //ALIANALYSISTASKGAMMA_H\r