1 #include "AliFMDAnalysisTaskSE.h"
2 #include "AliESDEvent.h"
5 #include "AliMCEventHandler.h"
6 #include "AliAnalysisManager.h"
8 ClassImp(AliFMDAnalysisTaskSE)
10 //_____________________________________________________________________
11 AliFMDAnalysisTaskSE::AliFMDAnalysisTaskSE():
14 fSharing("Sharing",kFALSE),
15 fDensity("Density",kFALSE),
16 fBackground("BackgroundCorrected",kFALSE),
17 fDndeta("dNdeta",kFALSE),
21 // Default constructor
23 //_____________________________________________________________________
24 AliFMDAnalysisTaskSE::AliFMDAnalysisTaskSE(const char* name):
25 AliAnalysisTaskSE(name),
27 fSharing("Sharing",kFALSE),
28 fDensity("Density",kFALSE),
29 fBackground("BackgroundCorrected",kFALSE),
30 fDndeta("dNdeta",kFALSE),
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 TObjString* vtxString1 = new TObjString();
49 TList* densitylist = new TList();
51 TList* bgcorlist = new TList();
53 fSharing.SetFMDData(fmd);
54 fSharing.SetVertex(vertex);
55 fSharing.SetOutputList(fListOfHistos);
57 fDensity.SetOutputList(densitylist);
58 fDensity.SetInputESDFMD(fmd) ;
59 fDensity.SetInputVertex(vertex);
61 fBackground.SetInputList(densitylist);
62 fBackground.SetOutputList(bgcorlist);
63 fBackground.SetHitList(fListOfHistos);
64 fBackground.SetOutputVertex(vtxString1);
66 fDndeta.SetInputVertex(vtxString1);
67 fDndeta.SetInputList(bgcorlist);
68 fDndeta.SetOutputList(fListOfHistos);
69 fDndeta.SetAnalyzePrimary(fPrimary);
70 fDndeta.SetRecordHits(fRecordHits);
71 fSharing.CreateOutputObjects();
72 fDensity.CreateOutputObjects();
73 fBackground.CreateOutputObjects();
74 fDndeta.CreateOutputObjects();
79 //_____________________________________________________________________
80 void AliFMDAnalysisTaskSE::Init()
82 std::cout<<"Init"<<std::endl;
84 //_____________________________________________________________________
85 void AliFMDAnalysisTaskSE::UserExec(Option_t */*option*/)
87 // Execute analysis for current event
89 AliESDEvent* fESD = (AliESDEvent*)InputEvent();
90 fSharing.SetInputESD(fESD);
93 if(fSharing.GetEventStatus()) {
95 if(fDensity.GetEventStatus()) {
97 //AliMCEvent* mcevent = MCEvent();
99 AliMCEventHandler* eventHandler = dynamic_cast<AliMCEventHandler*> (AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler());
100 AliMCEvent* mcevent = eventHandler->MCEvent();
101 fDndeta.SetMCEvent(mcevent);
110 //fListOfHistos = fBackground.GetOutputList();
112 PostData(1, fListOfHistos);
114 //_____________________________________________________________________
115 void AliFMDAnalysisTaskSE::Terminate(Option_t */*option*/)
117 fDndeta.Terminate("");
120 //_____________________________________________________________________