AliAnalysisTask *AddTaskHFEemcQA(Bool_t UseTender=kTRUE, Bool_t FillElecSparse=kFALSE){ //get the current analysis manager AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); if (!mgr) { Error("AddTaskHFE", "No analysis manager found."); return NULL; } if (!mgr->GetInputEventHandler()) { ::Error("AddTaskHFE", "This task requires an input event handler"); return NULL; } TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD" Bool_t MCthere=kFALSE; AliMCEventHandler *mcH = dynamic_cast(mgr->GetMCtruthEventHandler()); if(!mcH){ MCthere=kFALSE; }else{ MCthere=kTRUE; } // +++ EMCal MB AliAnalysisTaskHFEemcQA *hfecalqa = new AliAnalysisTaskHFEemcQA("emcqa"); mgr->AddTask(hfecalqa); hfecalqa->SelectCollisionCandidates(AliVEvent::kINT8); hfecalqa->SetElecIDsparse(FillElecSparse); hfecalqa->SetTenderSwitch(UseTender); TString containerName = mgr->GetCommonFileName(); containerName += ":PWGHF_hfeHFEemcQAINT8"; AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer(); AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("HFEemcQAINT8", TList::Class(),AliAnalysisManager::kOutputContainer, containerName.Data()); mgr->ConnectInput(hfecalqa, 0, cinput); mgr->ConnectOutput(hfecalqa, 1, coutput1); AliAnalysisTaskHFEemcQA *hfecalqa7 = new AliAnalysisTaskHFEemcQA("emcqa"); mgr->AddTask(hfecalqa7); hfecalqa7->SelectCollisionCandidates(AliVEvent::kINT7); hfecalqa7->SetElecIDsparse(FillElecSparse); hfecalqa7->SetTenderSwitch(UseTender); TString containerName7 = mgr->GetCommonFileName(); containerName7 += ":PWGHF_hfeHFEemcQAINT7"; AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer(); AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("HFEemcQAINT7", TList::Class(),AliAnalysisManager::kOutputContainer, containerName7.Data()); mgr->ConnectInput(hfecalqa7, 0, cinput); mgr->ConnectOutput(hfecalqa7, 1, coutput1); // EMCal EGA AliAnalysisTaskHFEemcQA *hfecalqaTrig0 = new AliAnalysisTaskHFEemcQA("emcqa"); mgr->AddTask(hfecalqaTrig0); hfecalqaTrig0->SelectCollisionCandidates(AliVEvent::kEMCEGA); hfecalqaTrig0->SetElecIDsparse(FillElecSparse); hfecalqaTrig0->SetTenderSwitch(UseTender); TString containerName1 = mgr->GetCommonFileName(); containerName1 += ":PWGHF_hfeHFEemcQATrigGA"; AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer(); AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("HFEemcQATrigGA", TList::Class(),AliAnalysisManager::kOutputContainer, containerName1.Data()); mgr->ConnectInput(hfecalqaTrig0, 0, cinput); mgr->ConnectOutput(hfecalqaTrig0, 1, coutput1); // EMCal EJE AliAnalysisTaskHFEemcQA *hfecalqaTrig1 = new AliAnalysisTaskHFEemcQA("emcqa"); mgr->AddTask(hfecalqaTrig1); hfecalqaTrig1->SelectCollisionCandidates(AliVEvent::kEMCEJE); hfecalqaTrig1->SetElecIDsparse(FillElecSparse); hfecalqaTrig1->SetTenderSwitch(UseTender); TString containerName2 = mgr->GetCommonFileName(); containerName2 += ":PWGHF_hfeHFEemcQATrigJE"; AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer(); AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("HFEemcQATrigJE", TList::Class(),AliAnalysisManager::kOutputContainer, containerName2.Data()); mgr->ConnectInput(hfecalqaTrig1, 0, cinput); mgr->ConnectOutput(hfecalqaTrig1, 1, coutput1); //return hfecalqa; return NULL; }