]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/macros/AddTaskJetServices.C
fix bug from last commit - Marta V.
[u/mrichter/AliRoot.git] / PWGJE / macros / AddTaskJetServices.C
1 AliAnalysisTaskJetServices* serv = 0;\r
2 Bool_t ConfigWithFlagsJetServices();\r
3 AliAnalysisTaskJetServices *AddTaskJetServices()\r
4 {\r
5    // Get the pointer to the existing analysis manager via the static access method.\r
6    //==============================================================================\r
7    AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();\r
8    if (!mgr) {\r
9       ::Error("AddTaskJetServices", "No analysis manager to connect to.");\r
10       return NULL;\r
11    }  \r
12    \r
13    // Check the analysis type using the event handlers connected to the analysis manager.\r
14    //==============================================================================\r
15    if (!mgr->GetInputEventHandler()) {\r
16      ::Error("AddTaskJetServices", "This task requires an input event handler");\r
17       return NULL;\r
18    }\r
19 \r
20    TString type = mgr->GetInputEventHandler()->GetDataType();\r
21    type.ToUpper();\r
22    // Create the task and configure it.\r
23    //===========================================================================\r
24    \r
25    serv = new AliAnalysisTaskJetServices("JetServices");\r
26       \r
27 \r
28    if(type == "AOD"){\r
29      serv->SetAODInput(kTRUE);\r
30    }\r
31    mgr->AddTask(serv);\r
32 \r
33    // evaluate global variables \r
34    Bool_t bGood1 = false;\r
35    Bool_t bGood2 = false;\r
36 \r
37 \r
38    if(!ConfigWithFlagsJetServices())return 0;\r
39    serv->SetUsePhysicsSelection(kTRUE);\r
40      \r
41    // Create ONLY the output containers for the data produced by the task.\r
42    // Get and connect other common input/output containers via the manager as below\r
43    //==============================================================================\r
44    AliAnalysisDataContainer *coutput1_Serv = mgr->CreateContainer("pwgje_services", TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:PWGJE_services",AliAnalysisManager::GetCommonFileName()));\r
45 \r
46    mgr->ConnectInput  (serv, 0, mgr->GetCommonInputContainer());\r
47    mgr->ConnectOutput (serv, 0, mgr->GetCommonOutputContainer());\r
48    mgr->ConnectOutput (serv,  1, coutput1_Serv );\r
49    \r
50    return serv;\r
51 }\r
52 \r
53 Bool_t ConfigWithFlagsJetServices(){\r
54     \r
55   Bool_t bGood1 = kFALSE;\r
56   Bool_t bGood2 = kFALSE;\r
57 \r
58 \r
59   serv->SetRunRange(AliAnalysisManager::GetGlobalInt("kGridRunRangeLo",bGood1),\r
60                       AliAnalysisManager::GetGlobalInt("kGridRunRangeLo",bGood2));\r
61   \r
62   if(!bGood1||!bGood2){\r
63     Printf("%s:%d Run range not set",(char*)__FILE__,__LINE__);\r
64     serv->SetRunRange(110000,160000);\r
65   }\r
66    \r
67 \r
68   Int_t nTrigger = AliAnalysisManager::GetGlobalInt("kNTrigger",bGood1);\r
69   \r
70   if(bGood1){\r
71     serv->SetNTrigger(nTrigger);\r
72     for(int it = 0;it < nTrigger;it++){\r
73       serv->SetTrigger(it,\r
74                        AliAnalysisManager::GetGlobalInt(Form("kTriggerBit%d",it),bGood1),\r
75                        AliAnalysisManager::GetGlobalStr(Form("kTriggerName%d",it),bGood2));\r
76      }\r
77    }\r
78      \r
79    AliAnalysisManager::GetGlobalInt("kPhysicsSelectionFlag",bGood1);if(bGood1)serv->SetPhysicsSelectionFlag(AliAnalysisManager::GetGlobalInt("kPhysicsSelectionFlag",bGood1));\r
80    else {Printf("%s%d: kPhysicsSelectionFlag not defined",(char*)__FILE__,__LINE__); return kFALSE; }\r
81    AliAnalysisManager::GetGlobalStr("kDeltaAODJetName",bGood1);if(bGood1)serv->SetNonStdFile(AliAnalysisManager::GetGlobalStr("kDeltaAODJetName",bGood1));\r
82    else {Printf("%s%d: kDeltaAODJetName not defined",(char*)__FILE__,__LINE__); return kFALSE; }\r
83 \r
84    AliAnalysisManager::GetGlobalDbl("kTrackEtaWindow",bGood1);if(bGood1)serv->SetTrackEtaWindow(AliAnalysisManager::GetGlobalDbl("kTrackEtaWindow",bGood1));\r
85    else {Printf("%s%d: kTrackEtaWindow not defined",(char*)__FILE__,__LINE__); return kFALSE; }\r
86    AliAnalysisManager::GetGlobalDbl("kVertexWindow",bGood1);if(bGood1)serv->SetZVertexCut(AliAnalysisManager::GetGlobalDbl("kVertexWindow",bGood1));\r
87    else {Printf("%s%d: kVertexWindow not defined",(char*)__FILE__,__LINE__); return kFALSE; }\r
88    \r
89    AliAnalysisManager::GetGlobalInt("kHighPtFilterMask",bGood1);if(bGood1)serv->SetFilterMask(AliAnalysisManager::GetGlobalInt("kHighPtFilterMask",bGood1));\r
90    else {Printf("%s%d: kHighPtFilterMask not defined",(char*)__FILE__,__LINE__); return kFALSE; }   \r
91 \r
92    TString cRun(AliAnalysisManager::GetGlobalStr("kJetRunPeriod",bGood1));\r
93    if(cRun.Contains("10h")||cRun.Contains("11h")){\r
94      serv->SetCollisionType(AliAnalysisTaskJetServices::kPbPb);\r
95    }\r
96    else{\r
97      serv->SetCollisionType(AliAnalysisTaskJetServices::kPP);\r
98    }\r
99    \r
100    return kTRUE;\r
101 \r
102 }\r