AliAnalysisTask *AddTaskJPSIFilter(){
//get the current analysis manager
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr) {
Error("AddTaskJPSIFilter", "No analysis manager found.");
return 0;
}
//check for output aod handler
if (!mgr->GetOutputEventHandler()||mgr->GetOutputEventHandler()->IsA()!=AliAODHandler::Class()) {
Warning("AddTaskJPSIFilter","No AOD output handler available. Not adding the task!");
return 0;
}
//Do we have an MC handler?
Bool_t hasMC=(AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()!=0x0);
//Do we run on AOD?
Bool_t isAOD=mgr->GetInputEventHandler()->IsA()==AliAODInputHandler::Class();
if(isAOD) {
//add options to AliAODHandler to duplicate input event
AliAODHandler *aodHandler = (AliAODHandler*)mgr->GetOutputEventHandler();
aodHandler->SetCreateNonStandardAOD();
aodHandler->SetNeedsHeaderReplication();
aodHandler->SetNeedsTracksBranchReplication();
aodHandler->SetNeedsVerticesBranchReplication();
aodHandler->SetNeedsV0sBranchReplication();
aodHandler->SetNeedsCascadesBranchReplication();
aodHandler->SetNeedsTrackletsBranchReplication();
aodHandler->SetNeedsPMDClustersBranchReplication();
aodHandler->SetNeedsJetsBranchReplication();
aodHandler->SetNeedsFMDClustersBranchReplication();
aodHandler->SetNeedsCaloClustersBranchReplication();
//aodHandler->SetNeedsMCParticlesBranchReplication();
aodHandler->SetNeedsDimuonsBranchReplication();
if(hasMC) aodHandler->SetNeedsMCParticlesBranchReplication();
}
//Create task and add it to the analysis manager
AliAnalysisTaskDielectronFilter *task=new AliAnalysisTaskDielectronFilter("jpsi_DielectronFilter");
gROOT->LoadMacro("$ALICE_ROOT/PWGDQ/dielectron/macros/ConfigJpsi2eeFilterPbPb.C");
AliDielectron *jpsi=ConfigJpsi2eeFilter(isAOD);
if (!hasMC) task->UsePhysicsSelection();
task->SetDielectron(jpsi);
mgr->AddTask(task);
//----------------------
//create data containers
//----------------------
TString containerName = mgr->GetCommonFileName();
containerName += ":PWGDQ_dielectronFilter";
//create output container
AliAnalysisDataContainer *cOutputHist1 =
mgr->CreateContainer("jpsi_FilterQA",
THashList::Class(),
AliAnalysisManager::kOutputContainer,
containerName.Data());
AliAnalysisDataContainer *cOutputHist2 =
mgr->CreateContainer("jpsi_FilterEventStat",
TH1D::Class(),
AliAnalysisManager::kOutputContainer,
containerName.Data());
mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
mgr->ConnectOutput(task, 1, cOutputHist1);
mgr->ConnectOutput(task, 2, cOutputHist2);
return task;
}
AddTaskJPSIFilterPbPb.C:1 AddTaskJPSIFilterPbPb.C:2 AddTaskJPSIFilterPbPb.C:3 AddTaskJPSIFilterPbPb.C:4 AddTaskJPSIFilterPbPb.C:5 AddTaskJPSIFilterPbPb.C:6 AddTaskJPSIFilterPbPb.C:7 AddTaskJPSIFilterPbPb.C:8 AddTaskJPSIFilterPbPb.C:9 AddTaskJPSIFilterPbPb.C:10 AddTaskJPSIFilterPbPb.C:11 AddTaskJPSIFilterPbPb.C:12 AddTaskJPSIFilterPbPb.C:13 AddTaskJPSIFilterPbPb.C:14 AddTaskJPSIFilterPbPb.C:15 AddTaskJPSIFilterPbPb.C:16 AddTaskJPSIFilterPbPb.C:17 AddTaskJPSIFilterPbPb.C:18 AddTaskJPSIFilterPbPb.C:19 AddTaskJPSIFilterPbPb.C:20 AddTaskJPSIFilterPbPb.C:21 AddTaskJPSIFilterPbPb.C:22 AddTaskJPSIFilterPbPb.C:23 AddTaskJPSIFilterPbPb.C:24 AddTaskJPSIFilterPbPb.C:25 AddTaskJPSIFilterPbPb.C:26 AddTaskJPSIFilterPbPb.C:27 AddTaskJPSIFilterPbPb.C:28 AddTaskJPSIFilterPbPb.C:29 AddTaskJPSIFilterPbPb.C:30 AddTaskJPSIFilterPbPb.C:31 AddTaskJPSIFilterPbPb.C:32 AddTaskJPSIFilterPbPb.C:33 AddTaskJPSIFilterPbPb.C:34 AddTaskJPSIFilterPbPb.C:35 AddTaskJPSIFilterPbPb.C:36 AddTaskJPSIFilterPbPb.C:37 AddTaskJPSIFilterPbPb.C:38 AddTaskJPSIFilterPbPb.C:39 AddTaskJPSIFilterPbPb.C:40 AddTaskJPSIFilterPbPb.C:41 AddTaskJPSIFilterPbPb.C:42 AddTaskJPSIFilterPbPb.C:43 AddTaskJPSIFilterPbPb.C:44 AddTaskJPSIFilterPbPb.C:45 AddTaskJPSIFilterPbPb.C:46 AddTaskJPSIFilterPbPb.C:47 AddTaskJPSIFilterPbPb.C:48 AddTaskJPSIFilterPbPb.C:49 AddTaskJPSIFilterPbPb.C:50 AddTaskJPSIFilterPbPb.C:51 AddTaskJPSIFilterPbPb.C:52 AddTaskJPSIFilterPbPb.C:53 AddTaskJPSIFilterPbPb.C:54 AddTaskJPSIFilterPbPb.C:55 AddTaskJPSIFilterPbPb.C:56 AddTaskJPSIFilterPbPb.C:57 AddTaskJPSIFilterPbPb.C:58 AddTaskJPSIFilterPbPb.C:59 AddTaskJPSIFilterPbPb.C:60 AddTaskJPSIFilterPbPb.C:61 AddTaskJPSIFilterPbPb.C:62 AddTaskJPSIFilterPbPb.C:63 AddTaskJPSIFilterPbPb.C:64 AddTaskJPSIFilterPbPb.C:65 AddTaskJPSIFilterPbPb.C:66 AddTaskJPSIFilterPbPb.C:67 AddTaskJPSIFilterPbPb.C:68 AddTaskJPSIFilterPbPb.C:69 AddTaskJPSIFilterPbPb.C:70 AddTaskJPSIFilterPbPb.C:71 AddTaskJPSIFilterPbPb.C:72 AddTaskJPSIFilterPbPb.C:73 AddTaskJPSIFilterPbPb.C:74 AddTaskJPSIFilterPbPb.C:75 AddTaskJPSIFilterPbPb.C:76 AddTaskJPSIFilterPbPb.C:77 AddTaskJPSIFilterPbPb.C:78