]>
Commit | Line | Data |
---|---|---|
86dd7ebf | 1 | AliAnalysisTaskJetServices* serv = 0;\r |
74323f57 | 2 | Bool_t ConfigWithFlagsJetServices();\r |
86dd7ebf | 3 | AliAnalysisTaskJetServices *AddTaskJetServices()\r |
599338e5 | 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 | |
86dd7ebf | 25 | serv = new AliAnalysisTaskJetServices("JetServices");\r |
599338e5 | 26 | \r |
27 | \r | |
28 | if(type == "AOD"){\r | |
5c4489e2 | 29 | serv->SetAODInput(kTRUE);\r |
599338e5 | 30 | }\r |
5c4489e2 | 31 | mgr->AddTask(serv);\r |
86dd7ebf | 32 | \r |
33 | // evaluate global variables \r | |
34 | Bool_t bGood1 = false;\r | |
35 | Bool_t bGood2 = false;\r | |
36 | \r | |
37 | \r | |
74323f57 | 38 | if(!ConfigWithFlagsJetServices())return 0;\r |
86dd7ebf | 39 | serv->SetUsePhysicsSelection(kTRUE);\r |
599338e5 | 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 | |
5c4489e2 | 44 | AliAnalysisDataContainer *coutput1_Serv = mgr->CreateContainer("pwgje_services", TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:PWGJE_services",AliAnalysisManager::GetCommonFileName()));\r |
599338e5 | 45 | \r |
5c4489e2 | 46 | mgr->ConnectInput (serv, 0, mgr->GetCommonInputContainer());\r |
47 | mgr->ConnectOutput (serv, 0, mgr->GetCommonOutputContainer());\r | |
48 | mgr->ConnectOutput (serv, 1, coutput1_Serv );\r | |
599338e5 | 49 | \r |
5c4489e2 | 50 | return serv;\r |
599338e5 | 51 | }\r |
86dd7ebf | 52 | \r |
74323f57 | 53 | Bool_t ConfigWithFlagsJetServices(){\r |
86dd7ebf | 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 |