]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/hfe/macros/AddTaskHFECal.C
coverity fox and updates
[u/mrichter/AliRoot.git] / PWGHF / hfe / macros / AddTaskHFECal.C
1 AliAnalysisTask *AddTaskHFECal(Bool_t MassConst, Bool_t MassWidthCut, Bool_t MassNonlinear)
2 {
3   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
4   if (!mgr) {
5     Error("AddTaskHFEECal", "No analysis manager found.");
6     return NULL;
7   }
8
9   if (!mgr->GetInputEventHandler()) {
10     ::Error("AddTaskHFECal", "This task requires an input event handler");
11     return NULL;
12   }
13   TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
14   if (type=="AOD"){
15     ::Error("AddTaskHFECal", "The tasks exits because AODs are in input");
16     return NULL;
17   }
18   Bool_t MCthere=kFALSE;
19   AliMCEventHandler *mcH = dynamic_cast<AliMCEventHandler*>(mgr->GetMCtruthEventHandler());
20   if(!mcH){
21     MCthere=kFALSE;
22   }else{
23     MCthere=kTRUE;
24   }
25   
26   Bool_t MassCal = kTRUE;
27   Double_t masscut = 0.05;
28   if(!MassConst)masscut = 0.1;
29   //analysis task 
30   gROOT->LoadMacro("$ALICE_ROOT/PWGHF/hfe/macros/configs/PbPb/ConfigHFECal.C");
31
32   AliAnalysisTaskHFECal *hfetaskCent = ConfigHFECal(MCthere,MassConst,MassWidthCut,MassCal,MassNonlinear,0.5,0.1,masscut,-5,1);
33   AliAnalysisTaskHFECal *hfetaskTrig= ConfigHFECal(MCthere,MassConst,MassWidthCut,MassCal,MassNonlinear,0.5,0.1,masscut,-5,1);
34   AliAnalysisTaskHFECal *hfetaskTrig2= ConfigHFECal(MCthere,MassConst,MassWidthCut,MassCal,MassNonlinear,0.5,0.1,masscut,-5,1);
35  
36   mgr->AddTask(hfetaskCent);
37   mgr->AddTask(hfetaskTrig);
38   mgr->AddTask(hfetaskTrig2);
39   
40   // central trigger
41   hfetaskCent->SelectCollisionCandidates(AliVEvent::kCentral);
42   
43   TString containerName = mgr->GetCommonFileName();
44   containerName += ":PWGHF_hfeCalCentral";
45   
46   AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
47   AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("HFE_Results_EMCalCentral", TList::Class(),AliAnalysisManager::kOutputContainer, containerName.Data());
48   mgr->ConnectInput(hfetaskCent, 0, cinput);
49   mgr->ConnectOutput(hfetaskCent, 1, coutput1);
50   
51   //L1 gamma trigger
52   hfetaskTrig->SelectCollisionCandidates(AliVEvent::kEMCEGA);
53   
54   TString containerName2 = mgr->GetCommonFileName();
55   containerName2 += ":PWGHF_hfeCalTrigEGA";
56   
57   AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
58   AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("HFE_Results_EMCalTrigEGA", TList::Class(),AliAnalysisManager::kOutputContainer, containerName2.Data());
59   mgr->ConnectInput(hfetaskTrig, 0, cinput);
60   mgr->ConnectOutput(hfetaskTrig, 1, coutput1);
61   
62
63   //Jet trigger
64   // semi-central
65   hfetaskTrig2->SelectCollisionCandidates(AliVEvent::kSemiCentral);
66   
67   TString containerName3 = mgr->GetCommonFileName();
68   containerName3 += ":PWGHF_hfeCalSemiCentral";
69   
70   AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
71   AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("HFE_Results_SemiCentral", TList::Class(),AliAnalysisManager::kOutputContainer, containerName3.Data());
72   mgr->ConnectInput(hfetaskTrig2, 0, cinput);
73   mgr->ConnectOutput(hfetaskTrig2, 1, coutput1);
74   
75
76   //if(MCthere)
77     //{
78     //MB trigger
79     AliAnalysisTaskHFECal *hfetaskMB = ConfigHFECal(MCthere,MassConst,MassWidthCut,MassCal,MassNonlinear,0.5,0.1,masscut,-5,1);
80     mgr->AddTask(hfetaskMB);
81     hfetaskMB->SelectCollisionCandidates(AliVEvent::kMB);
82
83     TString containerName4 = mgr->GetCommonFileName();
84     containerName4 += ":PWGHF_hfeCalkMB";
85
86      AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
87      AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("HFE_Results_EMCalMB", TList::Class(),AliAnalysisManager::kOutputContainer, containerName4.Data());
88      mgr->ConnectInput(hfetaskMB, 0, cinput);
89      mgr->ConnectOutput(hfetaskMB, 1, coutput1);
90      //}
91   
92
93   return NULL;
94 }