]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGDQ/dielectron/macrosLMEE/AddTask_mkoehler_CCbarMC.C
update from pr task : sjena
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / macrosLMEE / AddTask_mkoehler_CCbarMC.C
1
2
3
4 AliAnalysisTask *AddTask_mkoehler_CCbarMC(Bool_t hasMC_aod = kFALSE){
5   //get the current analysis manager
6   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
7   if (!mgr) {
8     ::Error("AddTask_mkoehler_CCbar", "No analysis manager found.");
9     return NULL;
10   }
11   if (!mgr->GetInputEventHandler()) {
12     ::Error("AddTask_mkoehler_CCbar", "This task requires an input event handler");
13     return NULL;
14   }
15
16   //Do we have an MC handler?
17   Bool_t hasMC=(mgr->GetMCtruthEventHandler()!=0x0);
18   
19   TString configFile("Config_mkoehler_CCbarMC.C");
20   Bool_t isAOD=0;
21
22   //create task and add it to the manager
23   AliAnalysisTaskMultiDielectron *task=new AliAnalysisTaskMultiDielectron("MultiDie");
24   mgr->AddTask(task);
25   
26   //load dielectron configuration file
27   TString checkconfig="Config_mkoehler_CCbarMC";
28   if (!gROOT->GetListOfGlobalFunctions()->FindObject(checkconfig.Data()))
29     gROOT->LoadMacro(configFile.Data());
30   
31   
32   
33   
34   
35     //Add event filter
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);
41   
42   
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);
47   }
48
49   //----------------------
50   //create data containers
51   //----------------------
52   
53   AliAnalysisDataContainer *cOutputHist1 =
54     mgr->CreateContainer("mkoehler_CCbarMC_QA", TList::Class(), AliAnalysisManager::kOutputContainer,
55                          "LMEEoutput.root");
56   
57   AliAnalysisDataContainer *cOutputHist2 =
58     mgr->CreateContainer("mkoehler_CCbarMC_CF", TList::Class(), AliAnalysisManager::kOutputContainer,
59                          "LMEEoutput.root");
60
61   AliAnalysisDataContainer *cOutputHist3 =
62     mgr->CreateContainer("mkoehler_CCbarMC_EventStat", TH1D::Class(), AliAnalysisManager::kOutputContainer,
63                         "LMEEoutput.root");
64   
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);
69   
70   return task;
71 }