]>
Commit | Line | Data |
---|---|---|
8c99e995 | 1 | AliAnalysisTask *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 | } |