]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGDQ/dielectron/macrosLMEE/AddTask_mkoehler_lowmassMC.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / macrosLMEE / AddTask_mkoehler_lowmassMC.C
CommitLineData
16864de3 1
2
16864de3 3AliAnalysisTask *AddTask_mkoehler_lowmassMC(Bool_t hasMC_aod = kFALSE){
4 //get the current analysis manager
5 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
6 if (!mgr) {
7 ::Error("AddTask_mkoehler_lowmassMC", "No analysis manager found.");
8 return NULL;
9 }
10 if (!mgr->GetInputEventHandler()) {
11 ::Error("AddTask_mkoehler_lowmassMC", "This task requires an input event handler");
12 return NULL;
13 }
14
15 //Do we have an MC handler?
16 Bool_t hasMC=(mgr->GetMCtruthEventHandler()!=0x0);
a837c2f7 17
18
19 TString configBasePath("$ALICE_ROOT/PWGDQ/dielectron/macrosLMEE/");
16864de3 20 TString configFile("Config_mkoehler_lowmassMC.C");
a837c2f7 21 TString configFilePath(configBasePath+configFile);
16864de3 22 Bool_t isAOD=0;
23
24 //create task and add it to the manager
25 AliAnalysisTaskMultiDielectron *task=new AliAnalysisTaskMultiDielectron("MultiDie");
26 mgr->AddTask(task);
27
28 //load dielectron configuration file
a837c2f7 29 TString checkconfig="Config_mkoehler_lowmassMC.C";
16864de3 30 if (!gROOT->GetListOfGlobalFunctions()->FindObject(checkconfig.Data()))
a837c2f7 31 gROOT->LoadMacro(configFilePath.Data());
16864de3 32
33
34 //Add event filter
35 AliDielectronEventCuts *eventCuts=new AliDielectronEventCuts("eventCuts","Vertex Track && |vtxZ|<10 && ncontrib>0");
36 eventCuts->SetRequireVertex();
37 eventCuts->SetMinVtxContributors(1);
38 eventCuts->SetVertexZ(-10.,10.);
39 task->SetEventFilter(eventCuts);
40
41
42 //add dielectron analysis with different cuts to the task
43 for (Int_t i=0; i<nDie; ++i){ //nDie defined in config file
edd32676 44 AliDielectron *jpsi=Config_mkoehler_lowmassMC(i,isAOD, hasMC);
16864de3 45 task->AddDielectron(jpsi);
46 }
47
48 //----------------------
49 //create data containers
50 //----------------------
51
52 AliAnalysisDataContainer *cOutputHist1 =
53 mgr->CreateContainer("mkoehler_MC_QA", TList::Class(), AliAnalysisManager::kOutputContainer,
54 "LMEEoutput.root");
55
56 AliAnalysisDataContainer *cOutputHist2 =
57 mgr->CreateContainer("mkoehler_MC_CF", TList::Class(), AliAnalysisManager::kOutputContainer,
58 "LMEEoutput.root");
59
60 AliAnalysisDataContainer *cOutputHist3 =
61 mgr->CreateContainer("mkoehler_MC_EventStat", TH1D::Class(), AliAnalysisManager::kOutputContainer,
62 "LMEEoutput.root");
63
64 mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
65 mgr->ConnectOutput(task, 1, cOutputHist1);
66 mgr->ConnectOutput(task, 2, cOutputHist2);
67 mgr->ConnectOutput(task, 3, cOutputHist3);
68
69 return task;
70}