]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/hfe/macros/AddTaskHFEElecHadronCorrlPbPb.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGHF / hfe / macros / AddTaskHFEElecHadronCorrlPbPb.C
1 AliAnalysisTaskElecHadronCorrel *AddTaskHFEElecHadronCorrlPbPb(Bool_t EventTrigSelMB=kTRUE,
2                                                                Bool_t TrigSelCen = kTRUE,
3                                                                Double_t CentrMin = 0,
4                                                                Double_t CentMax = 7,
5                                                                Double_t TPCNsigMinE = -2,
6                                                                Double_t TPCNsigMaxE = 2,
7                                                                Double_t TPCNsigMinH = -10,
8                                                                Double_t TPCNsigMaxH = -3.5,
9                                                                Double_t SSM02Min = 0.03,
10                                                                Double_t SSM02Max = 0.5,
11                                                                Double_t SSM20Min = 0.03,
12                                                                Double_t SSM20Max = 0.3,
13                                                                Double_t Disp = 1,
14                                                                Double_t EovPMin = 0.8,
15                                                                Double_t EovPMax = 1.2,
16                                                                Double_t InvM = 0.1,
17                                                                const char* CentralityMet = "VOM", 
18                                                                Int_t TPCNClsEle = 100,
19                                                                Int_t TPCNClsHad = 80,
20                                                                Bool_t AssoEleITSref=kTRUE,
21                                                                Int_t AssoElecTPCNCls=80,
22                                                                TString ContNameExt = "Central", 
23                                                                TString TaskName = "hfeCorrl"
24                                                                )
25
26 {
27   //get the current analysis manager
28   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
29   if (!mgr) {
30     Error("AddTaskHFEElecHadronCorrlPbPb", "No analysis manager found.");
31     return 0;
32   }
33
34   if (!mgr->GetInputEventHandler()) {
35     ::Error("AddTaskHFEElecHadronCorrlPbPb", "This task requires an input event handler");
36     return NULL;
37   }
38   TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
39 /*  if (type=="AOD"){
40     ::Error("AddTaskHFEElecHadronCorrlPbPb", "The tasks exits because AODs are in input");
41     return NULL;
42   }
43   */
44   Bool_t MCthere=kTRUE;
45   AliMCEventHandler *mcH = dynamic_cast<AliMCEventHandler*>(mgr->GetMCtruthEventHandler());
46   if(!mcH){
47     MCthere=kFALSE;
48   }
49
50   //analysis task 
51   gROOT->LoadMacro("$ALICE_ROOT/PWGHF/hfe/macros/configs/PbPb/ConfigHFEElecHadronCorrelPbPb.C");
52   AliAnalysisTaskElecHadronCorrel *taskHFEeh = ConfigHFEElecHadronCorrelPbPb(MCthere,EventTrigSelMB,TrigSelCen,CentrMin,CentMax,TPCNsigMinE,TPCNsigMaxE,TPCNsigMinH,TPCNsigMaxH,SSM02Min,SSM02Max,SSM20Min,SSM20Max,Disp,EovPMin,EovPMax,InvM,CentralityMet, TPCNClsEle, TPCNClsHad, AssoEleITSref,AssoElecTPCNCls,TaskName);
53
54   TString containerName = mgr->GetCommonFileName();
55   containerName += ":PWGHF_hfeCalPbPbeh";
56   containerName += ContNameExt;
57   TString SubcontainerName = "ccontainer0";
58   SubcontainerName += ContNameExt;
59   AliAnalysisDataContainer *coutput3 = mgr->CreateContainer(SubcontainerName,TList::Class(),AliAnalysisManager::kOutputContainer,containerName.Data());
60
61   mgr->ConnectInput(taskHFEeh,0,mgr->GetCommonInputContainer());
62   mgr->ConnectOutput(taskHFEeh,1,coutput3);
63
64   mgr->AddTask(taskHFEeh);
65
66   return taskHFEeh;
67 }