]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/hfe/macros/AddTaskHFECalPbPb.C
updated
[u/mrichter/AliRoot.git] / PWGHF / hfe / macros / AddTaskHFECalPbPb.C
1 AliAnalysisTask *AddTaskHFECalPbPb(){
2   //get the current analysis manager
3   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
4   if (!mgr) {
5     Error("AddTaskHFE", "No analysis manager found.");
6     return NULL;
7   }
8   if (!mgr->GetInputEventHandler()) {
9     ::Error("AddTaskHFE", "This task requires an input event handler");
10     return NULL;
11   }  
12   TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
13   if (type=="AOD"){
14     ::Error("AddTaskHFE", "The tasks exits because AODs are in input");
15     return NULL;
16   }
17   Bool_t MCthere=kFALSE;
18   AliMCEventHandler *mcH = dynamic_cast<AliMCEventHandler*>(mgr->GetMCtruthEventHandler());
19   if(!mcH){
20     MCthere=kFALSE;
21   }else{
22     MCthere=kTRUE;
23   }
24   cout<<"AddTaskHFE - MC config is: "<<MCthere<<endl;
25
26   //============= Set Task Name ===================
27   //TString taskName=("AliAnalysisTaskHFE.cxx+");
28   //===============================================
29   
30   //cout<<"BLEH!"<<endl;
31   //gROOT->LoadMacro(Form("%s/PWG3/hfe/macros/ConfigHFEstandard.C",gSystem->Getenv("ALICE_ROOT")));
32   //gROOT->LoadMacro("$ETRAIN_ROOT/hfe/ConfigHFEemcalMod.C");
33   gROOT->LoadMacro("$ALICE_ROOT/PWGHF/hfe/macros/configs/PbPb/ConfigHFECalstandard_PbPb.C");
34   //cout<<"BLEH2!"<<endl;
35   //gROOT->LoadMacro(Form("%s/PWG3/hfe/macros/ConfigHFEtrd.C", gSystem->Getenv("ALICE_ROOT")));
36
37   //AliAnalysisTaskHFEMod *hfetask = ConfigHFEemcalMod(MCthere);
38   AliAnalysisTaskHFE *hfetask = ConfigHFECalstandard_PbPb(MCthere);
39   //RequestMemory(hfetask, 250*1024);
40
41   //Added by Irakli's request
42   hfetask->SelectCollisionCandidates(AliVEvent::kEMCEGA);
43   mgr->AddTask(hfetask);
44
45   //----------------------
46   //create data containers
47   //----------------------
48  
49   //find input container
50   AliAnalysisDataContainer *cinput  = mgr->GetCommonInputContainer();
51   TString containerName = mgr->GetCommonFileName();
52   containerName += ":PWGHF_hfeCalPbPbEGA";
53   
54   //TString outname = Form("HFEtaskCalPbPb.root");
55
56   hfetask->ConnectOutput(1, mgr->CreateContainer("HFE_Results_EMCAL", TList::Class(),
57                                                  AliAnalysisManager::kOutputContainer, containerName.Data()));
58   hfetask->ConnectOutput(2, mgr->CreateContainer("HFE_QA_EMCAL", TList::Class(),
59                                               AliAnalysisManager::kOutputContainer, containerName.Data()));
60
61   mgr->ConnectInput  (hfetask,  0, cinput );
62   
63 /*
64   AliAnalysisTaskHFE *trdtask = ConfigHFEtrd(MCthere);
65
66   //----------------------
67   //create data containers
68   //----------------------
69  
70   trdtask->ConnectOutput(1, mgr->CreateContainer("HFE_Results", TList::Class(),
71                                               AliAnalysisManager::kOutputContainer, containerName.Data()));
72   trdtask->ConnectOutput(2, mgr->CreateContainer("HFE_QA", TList::Class(),
73                                               AliAnalysisManager::kOutputContainer, containerName.Data()));
74   mgr->ConnectInput  (trdtask,  0, cinput );
75 */
76
77   return hfetask;
78 }