]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/EMCALTasks/macros/AddTaskEMCALTender.C
unified macro
[u/mrichter/AliRoot.git] / PWGGA / EMCALTasks / macros / AddTaskEMCALTender.C
CommitLineData
c4c7c022 1// $Id$
2
a56c1f4e 3AliAnalysisTaskSE *AddTaskEMCALTender()
4{
fd650c0d 5 // Get the pointer to the existing analysis manager via the static access method.
6 //==============================================================================
7 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
8 if (!mgr) {
32bf39af 9 ::Error("AddTaskEMCALTender", "No analysis manager to connect to.");
fd650c0d 10 return NULL;
a56c1f4e 11 }
12
13 AliVEventHandler *evhand = mgr->GetInputEventHandler();
14
fd650c0d 15 // Create the task and configure it.
16 //===========================================================================
fd650c0d 17
a56c1f4e 18 AliAnalysisTaskSE *ana = 0;
19 AliEMCALTenderSupply *EMCALSupply = 0;
fd650c0d 20
a55e4f1d 21 gROOT->LoadMacro("$ALICE_ROOT/PWGGA/EMCALTasks/macros/ConfigEmcalTenderSupply.C");
a56c1f4e 22
23 if (evhand->InheritsFrom("AliESDInputHandler")) {
24 EMCALSupply = ConfigEmcalTenderSupply(kTRUE);
25
26 AliTender* alitender = new AliTender("AliTender");
27 alitender->AddSupply(EMCALSupply);
28 ana = alitender;
29 }
30 else if (evhand->InheritsFrom("AliAODInputHandler")) {
31 EMCALSupply = ConfigEmcalTenderSupply(kFALSE);
32
33 AliEmcalTenderTask* emcaltender = new AliEmcalTenderTask("AliEmcalTenderTask");
34 emcaltender->SetEMCALTenderSupply(EMCALSupply);
35 ana = emcaltender;
36 }
37 else {
38 ::Error("AddTaskEMCALTender", "Input event handler not recognized, AOD/ESD expected. Returning...");
39 return NULL;
40 }
41
42 mgr->AddTask(ana);
a55e4f1d 43
fd650c0d 44 // Create ONLY the output containers for the data produced by the task.
45 // Get and connect other common input/output containers via the manager as below
46 //==============================================================================
85ed2f4c 47 AliAnalysisDataContainer *coutput1 =
48 mgr->CreateContainer("tender_event",
49 AliESDEvent::Class(),
50 AliAnalysisManager::kExchangeContainer,
51 "default_tender");
fd650c0d 52 mgr->ConnectInput (ana, 0, mgr->GetCommonInputContainer());
53 mgr->ConnectOutput (ana, 1, coutput1 );
54
55 return ana;
56}