]>
Commit | Line | Data |
---|---|---|
5eb970a4 | 1 | // |
2 | // Class AliRsnVAnalysisTaskME | |
3 | // | |
4 | // Virtual Class derivated from AliAnalysisTaskME which will be base class | |
5 | // for all RSN ME tasks | |
6 | // | |
7 | // authors: Martin Vala (martin.vala@cern.ch) | |
8 | // Alberto Pulvirenti (alberto.pulvirenti@ct.infn.it) | |
9 | // | |
10 | ||
4fbb2459 | 11 | #include <TH1.h> |
5eb970a4 | 12 | |
13 | #include "AliESDEvent.h" | |
14 | #include "AliMCEvent.h" | |
15 | #include "AliAODEvent.h" | |
16 | ||
17 | #include "AliRsnVAnalysisTaskME.h" | |
18 | ||
19 | ClassImp(AliRsnVAnalysisTaskME) | |
20 | ||
21 | //_____________________________________________________________________________ | |
22 | AliRsnVAnalysisTaskME::AliRsnVAnalysisTaskME(const char *name) : | |
23 | AliAnalysisTaskME(name), | |
24 | fLogType(AliLog::kInfo), | |
25 | fLogClassesString(""), | |
26 | fESDEvent(0x0), | |
27 | fMCEvent(0x0), | |
28 | fAODEvent(0x0), | |
29 | fOutList(0x0), | |
30 | fTaskInfo(name) | |
31 | { | |
32 | // | |
33 | // Default constructor | |
34 | // | |
35 | AliDebug(AliLog::kDebug+2,"<-"); | |
36 | DefineOutput(1, TList::Class()); | |
37 | AliDebug(AliLog::kDebug+2,"->"); | |
38 | } | |
39 | ||
40 | AliRsnVAnalysisTaskME::AliRsnVAnalysisTaskME(const AliRsnVAnalysisTaskME& copy) : AliAnalysisTaskME(copy), | |
41 | fLogType(copy.fLogType), | |
42 | fLogClassesString(copy.fLogClassesString), | |
43 | fESDEvent(copy.fESDEvent), | |
44 | fMCEvent(copy.fMCEvent), | |
45 | fAODEvent(copy.fAODEvent), | |
46 | fOutList(copy.fOutList), | |
47 | fTaskInfo(copy.fTaskInfo) | |
48 | { | |
49 | AliDebug(AliLog::kDebug+2,"<-"); | |
50 | AliDebug(AliLog::kDebug+2,"->"); | |
51 | } | |
52 | ||
53 | //_____________________________________________________________________________ | |
54 | void AliRsnVAnalysisTaskME::LocalInit() | |
55 | { | |
56 | // | |
57 | // LocalInit() | |
58 | // | |
59 | AliLog::SetClassDebugLevel(GetName(), fLogType); | |
60 | SetDebugForOtherClasses(); | |
4fbb2459 | 61 | |
5eb970a4 | 62 | AliDebug(AliLog::kDebug+2,"<-"); |
63 | AliAnalysisTaskME::LocalInit(); | |
64 | AliDebug(AliLog::kDebug+2,"->"); | |
65 | } | |
66 | ||
67 | //_____________________________________________________________________________ | |
68 | Bool_t AliRsnVAnalysisTaskME::Notify() | |
69 | { | |
70 | // | |
71 | // Notify() | |
72 | // | |
73 | AliDebug(AliLog::kDebug+2,"<-"); | |
74 | return AliAnalysisTaskME::Notify(); | |
75 | AliDebug(AliLog::kDebug+2,"->"); | |
76 | } | |
77 | ||
78 | ||
79 | //_____________________________________________________________________________ | |
80 | void AliRsnVAnalysisTaskME::ConnectInputData(Option_t *opt) | |
81 | { | |
4fbb2459 | 82 | // |
83 | // TODO | |
84 | // | |
85 | ||
5eb970a4 | 86 | AliDebug(AliLog::kDebug+2,"<-"); |
87 | AliAnalysisTaskME::ConnectInputData(opt); | |
88 | ||
89 | // fESDEvent = dynamic_cast<AliESDEvent *> (fInputEvent); | |
90 | // if (fESDEvent) | |
91 | // AliInfo(Form("Input is ESD (%p)",fESDEvent)); | |
92 | // | |
93 | // fMCEvent = (AliMCEvent*) MCEvent(); | |
94 | // if (fMCEvent) | |
95 | // AliInfo(Form("Input is MC (%p)",fMCEvent)); | |
96 | // | |
97 | // fAODEvent = dynamic_cast<AliAODEvent *> (fInputEvent); | |
98 | // if (fAODEvent) | |
99 | // AliInfo(Form("Input is AOD INPUT (%p)",fAODEvent)); | |
100 | // | |
101 | // if (!fAODEvent) { | |
102 | // fAODEvent = dynamic_cast<AliAODEvent *> (AODEvent()); | |
103 | // if (fAODEvent) | |
104 | // AliInfo(Form("Input is AOD OUTPUT (%p)",fAODEvent)); | |
105 | // } | |
106 | ||
107 | ||
108 | ||
109 | AliDebug(AliLog::kDebug+2,"->"); | |
110 | } | |
111 | ||
112 | //_____________________________________________________________________________ | |
113 | void AliRsnVAnalysisTaskME::RsnUserCreateOutputObjects() | |
114 | { | |
4fbb2459 | 115 | // |
116 | // TODO | |
117 | // | |
118 | ||
5eb970a4 | 119 | AliDebug(AliLog::kDebug+2,"<-"); |
120 | ||
121 | AliDebug(AliLog::kDebug+2,"->"); | |
122 | } | |
123 | ||
124 | ||
125 | //_____________________________________________________________________________ | |
126 | void AliRsnVAnalysisTaskME::UserCreateOutputObjects() | |
127 | { | |
4fbb2459 | 128 | // |
129 | // TODO | |
130 | // | |
131 | ||
5eb970a4 | 132 | AliLog::SetClassDebugLevel(GetName(), fLogType); |
4fbb2459 | 133 | |
5eb970a4 | 134 | SetDebugForOtherClasses(); |
4fbb2459 | 135 | |
5eb970a4 | 136 | AliDebug(AliLog::kDebug+2,"<-"); |
137 | ||
138 | fOutList = new TList(); | |
139 | fOutList->SetOwner(); | |
140 | ||
4fbb2459 | 141 | // fOutList->Add(); |
142 | fTaskInfo.GenerateInfoList(fOutList); | |
5eb970a4 | 143 | RsnUserCreateOutputObjects(); |
144 | ||
145 | AliDebug(AliLog::kDebug+2,"<-"); | |
146 | } | |
147 | ||
148 | //_____________________________________________________________________________ | |
149 | void AliRsnVAnalysisTaskME::UserExec(Option_t* opt) | |
150 | { | |
4fbb2459 | 151 | // |
152 | // TODO | |
153 | // | |
5eb970a4 | 154 | |
155 | AliDebug(AliLog::kDebug+2,"<-"); | |
156 | ||
157 | RsnUserExec(opt); | |
158 | ||
159 | FillInfo(); | |
160 | ||
161 | fTaskInfo.PrintInfo(fEntry); | |
162 | ||
163 | PostData(1, fOutList); | |
164 | ||
165 | AliDebug(AliLog::kDebug+2,"->"); | |
166 | } | |
167 | ||
168 | //_____________________________________________________________________________ | |
4fbb2459 | 169 | void AliRsnVAnalysisTaskME::RsnUserExec(Option_t*) |
5eb970a4 | 170 | { |
4fbb2459 | 171 | // |
172 | // TODO | |
173 | // | |
174 | ||
5eb970a4 | 175 | AliDebug(AliLog::kDebug+2,"<-"); |
176 | // if (fESDEvent) { | |
177 | // AliDebug(AliLog::kDebug+1,Form("fESDEvent if %p",fESDEvent)); | |
178 | // AliDebug(AliLog::kDebug,Form("ESD tracks %d",fESDEvent->GetNumberOfTracks())); | |
179 | // } | |
180 | // if (fMCEvent) { | |
181 | // AliDebug(AliLog::kDebug+1,Form("fMCEvent if %p",fMCEvent)); | |
182 | // AliDebug(AliLog::kDebug,Form("MC tracks %d",fMCEvent->GetNumberOfTracks())); | |
183 | // } | |
184 | // if (fAODEvent) { | |
185 | // AliDebug(AliLog::kDebug+1,Form("fAODEvent if %p",fAODEvent)); | |
186 | // AliDebug(AliLog::kDebug,Form("AOD tracks %d",fAODEvent->GetNumberOfTracks())); | |
187 | // | |
188 | // | |
189 | // } | |
190 | AliAODEvent* aod1 = (AliAODEvent*)GetEvent(0); | |
191 | AliAODEvent* aod2 = (AliAODEvent*)GetEvent(1); | |
192 | AliDebug(AliLog::kDebug,Form("AOD tracks %d",aod1->GetNumberOfTracks())); | |
193 | AliDebug(AliLog::kDebug,Form("AOD tracks %d",aod2->GetNumberOfTracks())); | |
194 | AliDebug(AliLog::kDebug+2,"->"); | |
195 | } | |
196 | ||
197 | //_____________________________________________________________________________ | |
198 | void AliRsnVAnalysisTaskME::Terminate(Option_t* opt) | |
199 | { | |
4fbb2459 | 200 | // |
201 | // TODO | |
202 | // | |
203 | ||
5eb970a4 | 204 | AliDebug(AliLog::kDebug+2,"<-"); |
205 | AliAnalysisTask::Terminate(); | |
206 | ||
207 | fOutList = dynamic_cast<TList*>(GetOutputData(1)); | |
208 | if (!fOutList) { | |
209 | AliError(Form("At end of analysis, fOutList is %p",fOutList)); | |
210 | return; | |
211 | } | |
212 | ||
213 | RsnTerminate(opt); | |
214 | ||
4fbb2459 | 215 | TH1I *hEventInfo = (TH1I*) fOutList->FindObject(fTaskInfo.GetEventHistogramName()); |
5eb970a4 | 216 | if (!hEventInfo) { |
217 | AliError(Form("hEventInfo is %p",hEventInfo)); | |
218 | return; | |
219 | } | |
220 | ||
221 | AliInfo(Form("=== %s ==================",GetName())); | |
222 | AliInfo(Form("Number Of Events Processed : %10d",(Long64_t)hEventInfo->Integral())); | |
223 | AliInfo(Form("Number Of Events Accepted : %10d",(Long64_t)hEventInfo->GetBinContent(2))); | |
224 | AliInfo(Form("Number Of Events Skipped : %10d",(Long64_t)hEventInfo->GetBinContent(1))); | |
225 | AliInfo(Form("=== end %s ==============",GetName())); | |
226 | ||
227 | AliDebug(AliLog::kDebug+2,"->"); | |
228 | } | |
229 | ||
230 | //_____________________________________________________________________________ | |
4fbb2459 | 231 | void AliRsnVAnalysisTaskME::RsnTerminate(Option_t*) |
5eb970a4 | 232 | { |
4fbb2459 | 233 | // |
234 | // TODO | |
235 | // | |
236 | ||
5eb970a4 | 237 | AliDebug(AliLog::kDebug+2,"<-"); |
238 | AliDebug(AliLog::kDebug+2,"->"); | |
239 | } | |
240 | ||
241 | //_____________________________________________________________________________ | |
242 | void AliRsnVAnalysisTaskME::FillInfo() | |
243 | { | |
4fbb2459 | 244 | // |
245 | // TODO | |
246 | // | |
5eb970a4 | 247 | |
248 | if (fESDEvent) { | |
4fbb2459 | 249 | fTaskInfo.SetEventUsed(kTRUE); |
5eb970a4 | 250 | } else if (fAODEvent) { |
4fbb2459 | 251 | fTaskInfo.SetEventUsed(kTRUE); |
5eb970a4 | 252 | } |
253 | ||
254 | fTaskInfo.FillInfo(); | |
255 | } | |
256 | ||
257 | //_____________________________________________________________________________ | |
258 | void AliRsnVAnalysisTaskME::SetLogType(AliLog::EType_t type,TString otherClasses) | |
259 | { | |
4fbb2459 | 260 | // |
261 | // TODO | |
262 | // | |
263 | ||
5eb970a4 | 264 | AliDebug(AliLog::kDebug+2,"<-"); |
265 | fLogType = type; | |
266 | fLogClassesString = otherClasses; | |
267 | AliDebug(AliLog::kDebug+2,"->"); | |
268 | } | |
269 | //_____________________________________________________________________________ | |
270 | void AliRsnVAnalysisTaskME::SetDebugForOtherClasses() | |
271 | { | |
4fbb2459 | 272 | // |
273 | // TODOss ss | |
274 | // | |
275 | ||
5eb970a4 | 276 | AliDebug(AliLog::kDebug+2,"<-"); |
277 | TObjArray* array = fLogClassesString.Tokenize(":"); | |
278 | TObjString *str; | |
279 | TString strr; | |
280 | for (Int_t i=0;i< array->GetEntriesFast();i++) { | |
281 | str = (TObjString *) array->At(i); | |
282 | strr = str->GetString(); | |
283 | AliLog::SetClassDebugLevel(strr.Data(), fLogType); | |
284 | } | |
285 | AliDebug(AliLog::kDebug+2,"->"); | |
286 | } |