]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGDQ/dielectron/macrosLMEE/AddTask_shin_pPb.C
Merge branch 'master_patch'
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / macrosLMEE / AddTask_shin_pPb.C
CommitLineData
c683985a 1AliAnalysisTask *AddTask_shin_pPb(){
2 //get the current analysis manager
3 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
4 if (!mgr) {
5 Error("AddTask_shin_pPb", "No analysis manager found.");
6 return 0;
7 }
8
9
10 //Do we have an MC handler?
11 Bool_t hasMC=(AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()!=0x0);
12
13 //Get the current train configuration
14 // TString trainConfig=gSystem->Getenv("CONFIG_FILE");
15
16 //set config file name
17 TString configBasePath("$ALICE_ROOT/PWGDQ/dielectron/macrosLMEE/");
18 TString configFile("Config_shin_pPb.C");
19 TString configFilePath(configBasePath+configFile);
20
21 // TString list=gSystem->Getenv("LIST");
22 //create task and add it to the manager
23 AliAnalysisTaskMultiDielectron *task=new AliAnalysisTaskMultiDielectron("MultiDieData");
24 if (!hasMC ) task->UsePhysicsSelection();
25 task->SetTriggerMask(AliVEvent::kINT7);
26 mgr->AddTask(task);
27
28
29 //load dielectron configuration file
30 gROOT->LoadMacro(configFilePath.Data());
31
32 //add dielectron analysis with different cuts to the task
33 for (Int_t i=0; i<nDie; ++i){ //nDie defined in config file
34 AliDielectron *dile=Config_shin_pPb(i);
35 if (!dile) continue;
36 task->AddDielectron(dile);
37 }
38
39 //Add event filter
40 AliDielectronEventCuts *eventCuts=new AliDielectronEventCuts("eventCuts","Vertex Track && |vtxZ|<10 && ncontrib>0");
41 eventCuts->SetRequireVertex();
42 eventCuts->SetMinVtxContributors(1);
43 eventCuts->SetVertexZ(-10.,10.);
44 task->SetEventFilter(eventCuts);
45
46 //create output container
47 TString containerName = "hayashi_lowmass.root";
48 AliAnalysisDataContainer *coutput1 =
49 mgr->CreateContainer("tree_lowmass",
50 TTree::Class(),
51 AliAnalysisManager::kExchangeContainer,
52 containerName.Data());
53
54 AliAnalysisDataContainer *cOutputHist1 =
55 mgr->CreateContainer("Histos_diel_lowmass",
56 TList::Class(),
57 AliAnalysisManager::kOutputContainer,
58 containerName.Data());
59
60 AliAnalysisDataContainer *cOutputHist2 =
61 mgr->CreateContainer("CF_diel_lowmass",
62 TList::Class(),
63 AliAnalysisManager::kOutputContainer,
64 containerName.Data());
65
66 AliAnalysisDataContainer *cOutputHist3 =
fae36d1e 67 mgr->CreateContainer("EventStat",
c683985a 68 TH1D::Class(),
69 AliAnalysisManager::kOutputContainer,
70 containerName.Data());
71
72 mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
73 mgr->ConnectOutput(task, 0, coutput1 );
74 mgr->ConnectOutput(task, 1, cOutputHist1);
75 mgr->ConnectOutput(task, 2, cOutputHist2);
76 mgr->ConnectOutput(task, 3, cOutputHist3);
77
78 return task;
79}