]> git.uio.no Git - u/mrichter/AliRoot.git/blob - FMD/analysis/AliFMDAnalysisTaskSE.cxx
Adding new macro, loadFromOCDB.C, for loading magnetic field, mapping and
[u/mrichter/AliRoot.git] / FMD / analysis / AliFMDAnalysisTaskSE.cxx
1 #include "AliFMDAnalysisTaskSE.h"
2 #include "AliESDEvent.h"
3 #include "iostream"
4 #include "AliESDFMD.h"
5 #include "AliMCEventHandler.h"
6 #include "AliAnalysisManager.h"
7 #include "AliFMDAnaParameters.h"
8
9 ClassImp(AliFMDAnalysisTaskSE)
10
11 //_____________________________________________________________________
12 AliFMDAnalysisTaskSE::AliFMDAnalysisTaskSE():
13 AliAnalysisTaskSE(),
14   fListOfHistos(0),
15   fSharing("Sharing",kFALSE),
16   fDensity("Density",kFALSE),
17   fBackground("BackgroundCorrected",kFALSE),
18   fDndeta("dNdeta",kFALSE)
19 {
20   // Default constructor
21 }
22 //_____________________________________________________________________
23 AliFMDAnalysisTaskSE::AliFMDAnalysisTaskSE(const char* name):
24   AliAnalysisTaskSE(name),
25   fListOfHistos(0),
26   fSharing("Sharing",kFALSE),
27   fDensity("Density",kFALSE),
28   fBackground("BackgroundCorrected",kFALSE),
29   fDndeta("dNdeta",kFALSE)
30 {
31   
32   DefineOutput(1, TList::Class());
33 }
34 //_____________________________________________________________________
35 void AliFMDAnalysisTaskSE::UserCreateOutputObjects()
36 {
37 // Create the output containers
38 //
39   fListOfHistos = new TList();
40   
41   AliESDFMD* fmd = new AliESDFMD();
42   AliESDVertex* vertex = new AliESDVertex();
43   
44   TList* densitylist = new TList();
45   
46   TList* bgcorlist = new TList();
47   
48   fSharing.SetFMDData(fmd);
49   fSharing.SetVertex(vertex);
50   fSharing.SetOutputList(fListOfHistos);
51
52   fDensity.SetOutputList(densitylist);
53   fDensity.SetInputESDFMD(fmd) ;
54   fDensity.SetInputVertex(vertex);
55   
56   fBackground.SetInputList(densitylist);
57   fBackground.SetOutputList(bgcorlist);
58   fBackground.SetHitList(fListOfHistos);
59
60   fDndeta.SetInputList(bgcorlist); 
61   fDndeta.SetOutputList(fListOfHistos); 
62   
63   fSharing.CreateOutputObjects();
64   fDensity.CreateOutputObjects();
65   fBackground.CreateOutputObjects();
66   fDndeta.CreateOutputObjects();
67   
68   
69   
70 }
71 //_____________________________________________________________________
72 void AliFMDAnalysisTaskSE::Init()
73 {
74   std::cout<<"Init"<<std::endl;
75 }
76 //_____________________________________________________________________
77 void AliFMDAnalysisTaskSE::UserExec(Option_t */*option*/)
78 {
79   // Execute analysis for current event
80   //
81   //  AliFMDAnaParameters* pars = AliFMDAnaParameters::Instance();
82   AliESDEvent* fESD = (AliESDEvent*)InputEvent();
83   fSharing.SetInputESD(fESD);
84   
85   fSharing.Exec("");
86   if(fSharing.GetEventStatus()) {
87     fDensity.Exec("");
88     if(fDensity.GetEventStatus()) {
89       fBackground.Exec("");  
90       fDndeta.Exec("");
91       
92     }
93   }
94   else
95     return;
96   
97   //fListOfHistos = fBackground.GetOutputList();
98   
99   PostData(1, fListOfHistos);
100 }
101 //_____________________________________________________________________
102 void AliFMDAnalysisTaskSE::Terminate(Option_t */*option*/)
103 {
104   fBackground.Terminate("");
105   fDndeta.Terminate("");
106
107 }
108 //_____________________________________________________________________
109 //
110 // EOF
111 //