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