1 AliAnalysisTask *AddTaskJPSI(const char* config=""){
2 //get the current analysis manager
3 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
5 ::Error("AddTasJPSI", "No analysis manager found.");
8 if (!mgr->GetInputEventHandler()) {
9 ::Error("AddTaskJPSI", "This task requires an input event handler");
13 TString configFile("$ALICE_ROOT/PWG3/dielectron/macros/ConfigJpsi2eeData.C");
14 if (mgr->GetInputEventHandler()->IsA()==AliAODInputHandler::Class()){
15 ::Info("AddTaskJPSI", "Using AOD configuration");
16 configFile="$ALICE_ROOT/PWG3/dielectron/macros/ConfigJpsi2eeDataAOD.C";
19 //create task and add it to the manager
20 AliAnalysisTaskMultiDielectron *task=new AliAnalysisTaskMultiDielectron("MultiDie");
23 //load dielectron configuration file
24 gROOT->LoadMacro(configFile.Data());
26 //add dielectron analysis with different cuts to the task
27 for (Int_t i=0; i<nDie; ++i){ //nDie defined in config file
28 AliDielectron *jpsi=ConfigJpsi2ee(i);
29 task->AddDielectron(jpsi);
32 //----------------------
33 //create data containers
34 //----------------------
36 //find input container
37 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
39 TString containerName = mgr->GetCommonFileName();
40 containerName += ":PWG3_dielectron";
42 //create output container
44 AliAnalysisDataContainer *cOutputHist1 =
45 mgr->CreateContainer("QA", TList::Class(), AliAnalysisManager::kOutputContainer,
46 containerName.Data());
48 AliAnalysisDataContainer *cOutputHist2 =
49 mgr->CreateContainer("CF", TList::Class(), AliAnalysisManager::kOutputContainer,
50 containerName.Data());
52 mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
53 mgr->ConnectOutput(task, 1, cOutputHist1);
54 mgr->ConnectOutput(task, 2, cOutputHist2);