]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGDQ/dielectron/macrosLMEE/AddTask_shin_pPb.C
Corrected end-of-line behavior
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / macrosLMEE / AddTask_shin_pPb.C
1 AliAnalysisTask *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 =
67     mgr->CreateContainer("sweber_EventStat",
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 }