1 AliAnalysisTask *AddTaskJPSIFilter(){
2 //get the current analysis manager
3 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
5 Error("AddTask_jpsi_DielectronFilter", "No analysis manager found.");
8 // currently don't accept AOD input
9 if (mgr->GetInputEventHandler()->IsA()==AliAODInputHandler::Class()) {
10 Warning("AddTask_jpsi_JPsi","No AOD input supported currently. Not adding the task!");
13 //check for output aod handler
14 if (!mgr->GetOutputEventHandler()||mgr->GetOutputEventHandler()->IsA()!=AliAODHandler::Class()) {
15 Warning("AddTask_jpsi_DielectronFilter","No AOD output handler available. Not adding the task!");
19 //Do we have an MC handler?
20 Bool_t hasMC=(AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()!=0x0);
22 //Create task and add it to the analysis manager
23 AliAnalysisTaskDielectronFilter *task=new AliAnalysisTaskDielectronFilter("jpsi_DielectronFilter");
25 gROOT->LoadMacro("$ALICE_ROOT/PWG3/dielectron/macros/ConfigJpsi2eeFilter.C");
26 AliDielectron *jpsi=ConfigJpsi2eeFilter();
27 if (!hasMC) task->UsePhysicsSelection();
28 task->SetDielectron(jpsi);
31 //----------------------
32 //create data containers
33 //----------------------
36 TString containerName = mgr->GetCommonFileName();
37 containerName += ":PWG3_dielectronFilter";
39 //create output container
41 AliAnalysisDataContainer *cOutputHist1 =
42 mgr->CreateContainer("QA", TList::Class(), AliAnalysisManager::kOutputContainer,
43 containerName.Data());
45 AliAnalysisDataContainer *cOutputHist2 =
46 mgr->CreateContainer("CF", TList::Class(), AliAnalysisManager::kOutputContainer,
47 containerName.Data());
49 mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
50 mgr->ConnectOutput(task, 1, cOutputHist1);
51 mgr->ConnectOutput(task, 2, cOutputHist2);