1 #include "AliFMDAnalysisTaskSE.h"
2 #include "AliESDEvent.h"
5 #include "AliMCEventHandler.h"
6 #include "AliAnalysisManager.h"
7 #include "AliFMDAnaParameters.h"
10 ClassImp(AliFMDAnalysisTaskSE)
12 //_____________________________________________________________________
13 AliFMDAnalysisTaskSE::AliFMDAnalysisTaskSE():
16 fSharing("Sharing",kFALSE),
17 fDensity("Density",kFALSE),
18 fBackground("BackgroundCorrected",kFALSE),
19 fDndeta("dNdeta",kFALSE),
22 // Default constructor
24 //_____________________________________________________________________
25 AliFMDAnalysisTaskSE::AliFMDAnalysisTaskSE(const char* name):
26 AliAnalysisTaskSE(name),
28 fSharing("Sharing",kFALSE),
29 fDensity("Density",kFALSE),
30 fBackground("BackgroundCorrected",kFALSE),
31 fDndeta("dNdeta",kFALSE),
34 SetParams(AliFMDAnaParameters::Instance());
35 DefineOutput(1, TList::Class());
37 //_____________________________________________________________________
38 void AliFMDAnalysisTaskSE::UserCreateOutputObjects()
40 // Create the output containers
42 fListOfHistos = new TList();
44 AliESDFMD* fmd = new AliESDFMD();
45 AliESDVertex* vertex = new AliESDVertex();
47 TList* densitylist = new TList();
49 TList* bgcorlist = new TList();
51 fSharing.SetFMDData(fmd);
52 fSharing.SetVertex(vertex);
53 fSharing.SetOutputList(fListOfHistos);
56 fDensity.SetOutputList(densitylist);
57 fDensity.SetInputESDFMD(fmd) ;
58 fDensity.SetInputVertex(vertex);
60 fBackground.SetInputList(densitylist);
61 fBackground.SetOutputList(bgcorlist);
62 fBackground.SetHitList(fListOfHistos);
64 fDndeta.SetInputList(bgcorlist);
65 fDndeta.SetOutputList(fListOfHistos);
67 fSharing.CreateOutputObjects();
68 fDensity.CreateOutputObjects();
69 fBackground.CreateOutputObjects();
70 fDndeta.CreateOutputObjects();
75 //_____________________________________________________________________
76 void AliFMDAnalysisTaskSE::Init()
78 std::cout<<"Init"<<std::endl;
80 //_____________________________________________________________________
81 void AliFMDAnalysisTaskSE::UserExec(Option_t */*option*/)
83 // Execute analysis for current event
85 // AliFMDAnaParameters* pars = AliFMDAnaParameters::Instance();
86 PostData(1, fListOfHistos);
87 AliESDEvent* fESD = (AliESDEvent*)InputEvent();
88 fSharing.SetInputESD(fESD);
91 if(fSharing.GetEventStatus()) {
93 if(fDensity.GetEventStatus()) {
102 //fListOfHistos = fBackground.GetOutputList();
106 //_____________________________________________________________________
107 void AliFMDAnalysisTaskSE::Terminate(Option_t */*option*/)
110 TList* outputList = (TList*)GetOutputData(1);
113 fSharing.SetOutputList(outputList);
114 fBackground.SetHitList(outputList);
115 fDndeta.SetOutputList(outputList);
116 fSharing.Terminate("");
117 fBackground.Terminate("");
118 fDndeta.Terminate("");
121 // TFile file("fmd_ana_histos_tmp.root","RECREATE");
122 // fListOfHistos->Write();
126 //_____________________________________________________________________
127 void AliFMDAnalysisTaskSE::Print(Option_t* option) const
129 AliInfo(Form("FMD Single Event Analysis Task\n"
130 "Parameters set to %p", fParams));
133 if (opt.Contains("s")) {
134 fSharing.Print(option);
135 fDensity.Print(option);
136 fBackground.Print(option);
137 fDndeta.Print(option);
139 if (opt.Contains("p") && fParams)
140 fParams->Print(option);
143 //_____________________________________________________________________