AliAnalysisTask *AddTaskTRDPIDTree(Int_t trigger=0, Int_t system=0){ //get the current analysis manager AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); if (!mgr) { Error("AddTask_pachmay_PIDTRDTree", "No analysis manager found."); return 0; } gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C"); Long_t r = gROOT->ProcessLine(Form("AddTaskPIDResponse(%d)", kFALSE)); AliAnalysisTask *pidTask = reinterpret_cast(r); if(!pidTask) { printf("no pidTask"); exit(1); } //========= Add task to the ANALYSIS manager ===== AliTRDPIDTree *task = new AliTRDPIDTree("TRDPIDTree"); if(trigger==0) task->SelectCollisionCandidates(AliVEvent::kMB | AliVEvent::kINT7 | AliVEvent::kINT8); else task->SelectCollisionCandidates(AliVEvent::kTRD); if(system==1) task->SetppAnalysis(); if(system==2) task->SetpPbAnalysis(); if(system==3) task->SetPbPbAnalysis(); // task->SetPbPbAnalysis(); mgr->AddTask(task); //================================================ // data containers //================================================ // find input container //below the trunk version AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer(); //dumm output container AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("TRDPIDTree_tree", TTree::Class(), AliAnalysisManager::kOutputContainer, "TRDPIDTree_tree.root"); AliAnalysisDataContainer *coutput2 = mgr->CreateContainer("TRDPIDTree_list", TList::Class(), AliAnalysisManager::kOutputContainer, "TRDPIDTree_hists.root"); //connect containers mgr->ConnectInput(task, 0, cinput ); mgr->ConnectOutput(task, 1, coutput1); mgr->ConnectOutput(task, 2, coutput2); return task; }