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("jpsi_FilterQA",
44 AliAnalysisManager::kOutputContainer,
45 containerName.Data());
47 AliAnalysisDataContainer *cOutputHist2 =
48 mgr->CreateContainer("jpsi_FilterEventStat",
50 AliAnalysisManager::kOutputContainer,
51 containerName.Data());
53 mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
54 mgr->ConnectOutput(task, 1, cOutputHist1);
55 mgr->ConnectOutput(task, 2, cOutputHist2);