dff6e0d66f57230afb7d33c852b2b59724d49f53
[u/mrichter/AliRoot.git] / PWGHF / hfe / macros / AddTaskHFEemcQA.C
1 AliAnalysisTask *AddTaskHFEemcQA(){
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   
14  Bool_t MCthere=kFALSE;
15   AliMCEventHandler *mcH = dynamic_cast<AliMCEventHandler*>(mgr->GetMCtruthEventHandler());
16   if(!mcH){
17     MCthere=kFALSE;
18   }else{
19     MCthere=kTRUE;
20   }
21
22   // +++ EMCal MB
23   AliAnalysisTaskHFEemcQA *hfecalqa = new AliAnalysisTaskHFEemcQA("emcqa");
24   mgr->AddTask(hfecalqa);
25   hfecalqa->SelectCollisionCandidates(AliVEvent::kINT8);
26   TString containerName = mgr->GetCommonFileName();
27   containerName += ":PWGHF_hfeHFEemcQAINT8";
28   AliAnalysisDataContainer *cinput  = mgr->GetCommonInputContainer();
29   AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("HFEemcQAINT8", TList::Class(),AliAnalysisManager::kOutputContainer, containerName.Data());
30   mgr->ConnectInput(hfecalqa, 0, cinput);
31   mgr->ConnectOutput(hfecalqa, 1, coutput1); 
32   /*
33   mgr->ConnectInput  (hfecalqa,0,cinput);
34   hfecalqa->ConnectOutput(1, mgr->CreateContainer("HFE_Results_EMCALINT8", TList::Class(),
35                                                  AliAnalysisManager::kOutputContainer, containerName.Data()));
36   hfecalqa->ConnectOutput(2, mgr->CreateContainer("HFE_QA_EMCALINT8", TList::Class(),
37                                               AliAnalysisManager::kOutputContainer, containerName.Data()));
38   */
39
40   AliAnalysisTaskHFEemcQA *hfecalqa7 = new AliAnalysisTaskHFEemcQA("emcqa");
41   mgr->AddTask(hfecalqa7);
42   hfecalqa7->SelectCollisionCandidates(AliVEvent::kINT7);
43   TString containerName7 = mgr->GetCommonFileName();
44   containerName7 += ":PWGHF_hfeHFEemcQAINT7";
45   AliAnalysisDataContainer *cinput  = mgr->GetCommonInputContainer();
46   AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("HFEemcQAINT7", TList::Class(),AliAnalysisManager::kOutputContainer, containerName7.Data());
47   mgr->ConnectInput(hfecalqa7, 0, cinput);
48   mgr->ConnectOutput(hfecalqa7, 1, coutput1); 
49
50   // EMCal EGA
51   AliAnalysisTaskHFEemcQA *hfecalqaTrig0 = new AliAnalysisTaskHFEemcQA("emcqa");
52   mgr->AddTask(hfecalqaTrig0);
53   hfecalqaTrig0->SelectCollisionCandidates(AliVEvent::kEMCEGA);
54   TString containerName1 = mgr->GetCommonFileName();
55   containerName1 += ":PWGHF_hfeHFEemcQATrigGA";
56   AliAnalysisDataContainer *cinput  = mgr->GetCommonInputContainer();
57   AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("HFEemcQATrigGA", TList::Class(),AliAnalysisManager::kOutputContainer, containerName1.Data());
58   mgr->ConnectInput(hfecalqaTrig0, 0, cinput);
59   mgr->ConnectOutput(hfecalqaTrig0, 1, coutput1); 
60
61  
62   // EMCal EJE
63   AliAnalysisTaskHFEemcQA *hfecalqaTrig1 = new AliAnalysisTaskHFEemcQA("emcqa");
64   mgr->AddTask(hfecalqaTrig1);
65   hfecalqaTrig1->SelectCollisionCandidates(AliVEvent::kEMCEJE);
66   TString containerName2 = mgr->GetCommonFileName();
67   containerName2 += ":PWGHF_hfeHFEemcQATrigJE";
68   AliAnalysisDataContainer *cinput  = mgr->GetCommonInputContainer();
69   AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("HFEemcQATrigJE", TList::Class(),AliAnalysisManager::kOutputContainer, containerName2.Data());
70   mgr->ConnectInput(hfecalqaTrig1, 0, cinput);
71   mgr->ConnectOutput(hfecalqaTrig1, 1, coutput1); 
72
73   //return hfecalqa;
74   return NULL;
75 }