]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGDQ/dielectron/macrosJPSI/AddTask_mwinn_Efficiency.C
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / macrosJPSI / AddTask_mwinn_Efficiency.C
CommitLineData
8c99e995 1AliAnalysisTask *AddTask_mwinn_Efficiency(){
2 //get the current analysis manager
3 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
4 if (!mgr) {
5 Error("AddTask_jpsi_Efficiency", "No analysis manager found.");
6 return 0;
7 }
8
9 //set config file name
10 if (mgr->GetInputEventHandler()->IsA()==AliAODInputHandler::Class()){
11 ::Info("AddTask_jpsi_Efficiency", "Not running in AOD");
12 return 0;
13 }
14
15 //Do we have an MC handler?
16 Bool_t hasMC=(AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()!=0x0);
17
18
19 //create task and add it to the manager
20 AliAnalysisTaskMultiDielectron *task=new AliAnalysisTaskMultiDielectron("MultiDieDataEfficiency");
21 if (!hasMC) task->UsePhysicsSelection();
22 mgr->AddTask(task);
23
24 //load dielectron configuration file
25 TString configFile("$ALICE_ROOT/PWGDQ/dielectron/macrosJPSI/ConfigJpsi_mw_EffpPb.C");
26 gROOT->LoadMacro(configFile.Data());
27
28 //add dielectron analysis with different cuts to the task
29 for (Int_t i=0; i<nDieEff; ++i){ //nDie defined in config file
30 AliDielectron *jpsi=ConfigJpsi_mw_EffpPb(i);
31 task->AddDielectron(jpsi);
32 }
33
34
35 //create output container
36 TString containerName = "JPSI.root";
37 AliAnalysisDataContainer *coutput1 =
38 mgr->CreateContainer("mwinnEff_tree",
39 TTree::Class(),
40 AliAnalysisManager::kExchangeContainer,
41 containerName.Data());
42
43 AliAnalysisDataContainer *cOutputHist1 =
44 mgr->CreateContainer("mwinnEff_QA",
45 TList::Class(),
46 AliAnalysisManager::kOutputContainer,
47 containerName.Data());
48
49 AliAnalysisDataContainer *cOutputHist2 =
50 mgr->CreateContainer("mwinnEff_CF",
51 TList::Class(),
52 AliAnalysisManager::kOutputContainer,
53 containerName.Data());
54
55 AliAnalysisDataContainer *cOutputHist3 =
56 mgr->CreateContainer("mwinnEff_EventStat",
57 TH1D::Class(),
58 AliAnalysisManager::kOutputContainer,
59 containerName.Data());
60
61 mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
62 mgr->ConnectOutput(task, 0, coutput1 );
63 mgr->ConnectOutput(task, 1, cOutputHist1);
64 mgr->ConnectOutput(task, 2, cOutputHist2);
65 mgr->ConnectOutput(task, 3, cOutputHist3);
66
67 return task;
68}