1 AliAnalysisTask *AddTaskJPSIFilter(){
2 //get the current analysis manager
3 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
5 Error("AddTaskJPSIFilter", "No analysis manager found.");
9 //check for output aod handler
10 if (!mgr->GetOutputEventHandler()||mgr->GetOutputEventHandler()->IsA()!=AliAODHandler::Class()) {
11 Warning("AddTaskJPSIFilter","No AOD output handler available. Not adding the task!");
15 //Do we have an MC handler?
16 Bool_t hasMC=(AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()!=0x0);
19 Bool_t isAOD=mgr->GetInputEventHandler()->IsA()==AliAODInputHandler::Class();
21 //Create task and add it to the analysis manager
22 AliAnalysisTaskDielectronFilter *task=new AliAnalysisTaskDielectronFilter("jpsi_DielectronFilter");
24 gROOT->LoadMacro("$ALICE_ROOT/PWG3/dielectron/macros/ConfigJpsi2eeFilter.C");
25 AliDielectron *jpsi=ConfigJpsi2eeFilter(isAOD);
26 if (!hasMC) task->UsePhysicsSelection();
27 task->SetDielectron(jpsi);
30 //----------------------
31 //create data containers
32 //----------------------
35 TString containerName = mgr->GetCommonFileName();
36 containerName += ":PWG3_dielectronFilter";
38 //create output container
40 AliAnalysisDataContainer *cOutputHist1 =
41 mgr->CreateContainer("jpsi_FilterQA",
43 AliAnalysisManager::kOutputContainer,
44 containerName.Data());
46 AliAnalysisDataContainer *cOutputHist2 =
47 mgr->CreateContainer("jpsi_FilterEventStat",
49 AliAnalysisManager::kOutputContainer,
50 containerName.Data());
53 mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
54 mgr->ConnectOutput(task, 1, cOutputHist1);
55 mgr->ConnectOutput(task, 2, cOutputHist2);