Changed to new naming scheme for histograms, added functionality to the analysis...
[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
a19c3402 16#include "TNtuple.h"\r
3c538586 17\r
18class AliGammaConversionHistograms;\r
19class AliESDv0;\r
20class AliKFParticle;\r
21class AliESDInputHandler;\r
22class AliESDEvent;\r
23class AliAODEvent;\r
24class TList;\r
25class AliStack;\r
26\r
27class AliAnalysisTaskGammaConversion : public AliAnalysisTaskSE\r
28{\r
29 public:\r
32a6d407 30 AliAnalysisTaskGammaConversion();\r
31 AliAnalysisTaskGammaConversion(const char* name);\r
32 virtual ~AliAnalysisTaskGammaConversion() ;// virtual destructor\r
3c538586 33 \r
32a6d407 34 // Implementation of interface methods\r
35 virtual void UserCreateOutputObjects();\r
36 virtual void Init();\r
37 virtual void LocalInit() {Init();}\r
38 virtual void Exec(Option_t *option);\r
39 virtual void Terminate(Option_t *option);\r
40 virtual void ConnectInputData(Option_t *);\r
3c538586 41 \r
32a6d407 42 void ProcessMCData();\r
43 void ProcessV0sNoCut();\r
44 void ProcessV0s();\r
45 void ProcessGammasForNeutralMesonAnalysis();\r
46 void SetHistograms(AliGammaConversionHistograms *histograms){fHistograms=histograms;}\r
47 void SetDoMCTruth(Bool_t flag){fDoMCTruth=flag;}\r
48 void SetElectronMass(Double_t electronMass){fElectronMass = electronMass;}\r
49 void SetGammaMass(Double_t gammaMass){fGammaMass = gammaMass;}\r
50 void SetGammaWidth(Double_t gammaWidth){fGammaWidth = gammaWidth;}\r
51 void SetPi0Mass(Double_t pi0Mass){fPi0Mass = pi0Mass;}\r
52 void SetPi0Width(Double_t pi0Width){fPi0Width = pi0Width;}\r
53 void SetEtaMass(Double_t etaMass){fEtaMass = etaMass;}\r
54 void SetEtaWidth(Double_t etaWidth){fEtaWidth = etaWidth;}\r
55 void SetMinOpeningAngleGhostCut(Double_t ghostCut){fMinOpeningAngleGhostCut = ghostCut;}\r
56 void SetV0Reader(AliV0Reader* reader){fV0Reader=reader;}\r
57 void SetCalculateBackground(Bool_t bg){fCalculateBackground=bg;}\r
58 void CalculateBackground();\r
59 void SetWriteNtuple(Bool_t writeNtuple){fWriteNtuple = writeNtuple;}\r
60 void FillNtuple();\r
61 Double_t GetMCOpeningAngle(TParticle* daughter0, TParticle* daughter1) const;\r
3c538586 62\r
63 private:\r
32a6d407 64 AliAnalysisTaskGammaConversion(const AliAnalysisTaskGammaConversion&); // Not implemented\r
65 AliAnalysisTaskGammaConversion& operator=(const AliAnalysisTaskGammaConversion&); // Not implemented\r
3c538586 66\r
32a6d407 67 AliV0Reader* fV0Reader;\r
3c538586 68\r
32a6d407 69 AliStack * fStack;\r
3c538586 70\r
32a6d407 71 TList * fOutputContainer ; // Histogram container\r
3c538586 72\r
32a6d407 73 AliGammaConversionHistograms *fHistograms;\r
3c538586 74\r
32a6d407 75 Bool_t fDoMCTruth;\r
3c538586 76 \r
32a6d407 77 vector<TParticle*> fMCAllGammas;\r
78 vector<TParticle*> fMCPi0s;\r
79 vector<TParticle*> fMCEtas;\r
80 vector<TParticle*> fMCGammaChic;\r
81\r
82 vector<AliKFParticle> fKFReconstructedGammas;\r
83 vector<Bool_t> fIsTrueReconstructedGammas;\r
84 vector<Int_t> electronv1;\r
85 vector<Int_t> electronv2;\r
86\r
87 //mass defines\r
88 Double_t fElectronMass;\r
89 Double_t fGammaMass;\r
90 Double_t fPi0Mass;\r
91 Double_t fEtaMass;\r
92\r
93 // width defines\r
94 Double_t fGammaWidth;\r
95 Double_t fPi0Width;\r
96 Double_t fEtaWidth;\r
97\r
98 Double_t fMinOpeningAngleGhostCut;\r
99\r
100 Bool_t fCalculateBackground;\r
101 Bool_t fWriteNtuple;\r
102 TNtuple *fGammaNtuple;\r
103 TNtuple *fNeutralMesonNtuple;\r
104\r
105 Int_t fTotalNumberOfAddedNtupleEntries;\r
106\r
107 ClassDef(AliAnalysisTaskGammaConversion, 2); // Analysis task for gamma conversions\r
3c538586 108};\r
109 \r
110#endif //ALIANALYSISTASKGAMMA_H\r