]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG/muondep/AddTaskESDMCLabelAddition.C
Non-implemented method are commented out or moved to the private part of the class
[u/mrichter/AliRoot.git] / PWG / muondep / AddTaskESDMCLabelAddition.C
CommitLineData
e5b66c63 1AliAnalysisTaskESDMCLabelAddition *AddTaskESDMCLabelAddition(Double_t trkSigmaCut = -1, Double_t trgSigmaCut = -1)
63c5d0a6 2{
b54df4f9 3 /// Add AliAnalysisTaskESDMCLabelAddition to the train (Philippe Pillot)
e5b66c63 4 /// If trkSigmaCut (trgSigmaCut) is negative, value is taken from the OCDB recoParam
b54df4f9 5
6 // Get the pointer to the existing analysis manager via the static access method.
7 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
8 if(!mgr) {
9 Error("AddTaskESDMCLabelAddition","AliAnalysisManager not set!");
10 return NULL;
11 }
12
13 // This task runs on ESDs
14 TString type = mgr->GetInputEventHandler()->GetDataType();
15 if (!type.Contains("ESD")) {
16 Error("AddTaskESDMCLabelAddition", "ESD input handler needed!");
17 return NULL;
18 }
19
20 // This task needs MC input
21 AliMCEventHandler *mcH = (AliMCEventHandler*)mgr->GetMCtruthEventHandler();
22 if (!mcH) {
23 Error("AddTaskESDMCLabelAddition", "No MC handler connected!");
24 return NULL;
25 }
26
27 // Create and configure task
28 AliAnalysisTaskESDMCLabelAddition *task = new AliAnalysisTaskESDMCLabelAddition("ESD MC Labels addition");
29 if (!task) {
30 Error("AddTaskESDMCLabelAddition", "MClabel addition task cannot be created!");
31 return NULL;
32 }
e5b66c63 33 task->SetExternalTrkSigmaCut(trkSigmaCut);
34 task->SetExternalTrgSigmaCut(trgSigmaCut);
b54df4f9 35
36 // Add task to analysis manager
37 mgr->AddTask(task);
38
39 // Connect input container
40 mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
41
42 return task;
43
44}
63c5d0a6 45