4 AliAnalysisTask *AddTask_mkoehler_CCbarMC(Bool_t hasMC_aod = kFALSE){
5 //get the current analysis manager
6 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
8 ::Error("AddTask_mkoehler_CCbar", "No analysis manager found.");
11 if (!mgr->GetInputEventHandler()) {
12 ::Error("AddTask_mkoehler_CCbar", "This task requires an input event handler");
16 //Do we have an MC handler?
17 Bool_t hasMC=(mgr->GetMCtruthEventHandler()!=0x0);
19 TString configFile("Config_mkoehler_CCbarMC.C");
22 //create task and add it to the manager
23 AliAnalysisTaskMultiDielectron *task=new AliAnalysisTaskMultiDielectron("MultiDie");
26 //load dielectron configuration file
27 TString checkconfig="Config_mkoehler_CCbarMC";
28 if (!gROOT->GetListOfGlobalFunctions()->FindObject(checkconfig.Data()))
29 gROOT->LoadMacro(configFile.Data());
36 AliDielectronEventCuts *eventCuts=new AliDielectronEventCuts("eventCuts","Vertex Track && |vtxZ|<10 && ncontrib>0");
37 eventCuts->SetRequireVertex();
38 eventCuts->SetMinVtxContributors(1);
39 eventCuts->SetVertexZ(-10.,10.);
40 task->SetEventFilter(eventCuts);
43 //add dielectron analysis with different cuts to the task
44 for (Int_t i=0; i<nDie; ++i){ //nDie defined in config file
45 AliDielectron *jpsi=Config_mkoehler_CCbarMC(i,isAOD);
46 task->AddDielectron(jpsi);
49 //----------------------
50 //create data containers
51 //----------------------
53 AliAnalysisDataContainer *cOutputHist1 =
54 mgr->CreateContainer("mkoehler_CCbarMC_QA", TList::Class(), AliAnalysisManager::kOutputContainer,
57 AliAnalysisDataContainer *cOutputHist2 =
58 mgr->CreateContainer("mkoehler_CCbarMC_CF", TList::Class(), AliAnalysisManager::kOutputContainer,
61 AliAnalysisDataContainer *cOutputHist3 =
62 mgr->CreateContainer("mkoehler_CCbarMC_EventStat", TH1D::Class(), AliAnalysisManager::kOutputContainer,
65 mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
66 mgr->ConnectOutput(task, 1, cOutputHist1);
67 mgr->ConnectOutput(task, 2, cOutputHist2);
68 mgr->ConnectOutput(task, 3, cOutputHist3);