ATLAS Offline Software
G4AtlasFieldServices.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
3 from AthenaConfiguration.ComponentFactory import CompFactory
4 
5 
6 def StandardFieldSvcCfg(flags, name="StandardField", **kwargs):
7  result = ComponentAccumulator()
8  if flags.BField.configuredSolenoidFieldScale>160/7730 and flags.BField.configuredSolenoidFieldScale<1: # custom field configuration
9  kwargs.setdefault("UseSoleCurrent", flags.BField.configuredSolenoidFieldScale * 7730)
10  result.addService(CompFactory.StandardFieldSvc(name, **kwargs), primary=True)
11  return result
12 
13 
14 def ForwardFieldSvcCfg(flags, name="ForwardField", **kwargs):
15  result = ComponentAccumulator()
16  # FIXME Once it exists this version should use the new MagField Service defined in ForwardRegionMgField
17  # kwargs.setdefault("MagneticFieldSvc", result.getService("AtlasFieldSvc"))
18  # kwargs.setdefault("FieldOn", True)
19  kwargs.setdefault("UseMagFieldSvc", True)
20  result.addService(CompFactory.StandardFieldSvc(name, **kwargs), primary=True)
21  return result
22 
23 
24 def ForwardRegionFieldSvcCfg(flags, name="ForwardRegionFieldSvc", **kwargs):
25  result = ComponentAccumulator()
26  from ForwardRegionProperties.ForwardRegionPropertiesConfig import ForwardRegionPropertiesCfg
27  kwargs.setdefault("ForwardRegionProperties", result.addPublicTool(result.popToolsAndMerge(ForwardRegionPropertiesCfg(flags))))
28  result.addService(CompFactory.MagField.ForwardRegionFieldSvc(name, **kwargs),
29  primary=True)
30  return result
31 
32 
33 def Q1FwdG4FieldSvcCfg(flags, name='Q1FwdG4FieldSvc', **kwargs):
34  result = ComponentAccumulator()
35  kwargs.setdefault("MagneticFieldSvc",
36  result.getPrimaryAndMerge(
38  flags,
39  name="Q1",
40  Magnet=0,
41  MQXA_DataFile="MQXA_NOMINAL.dat")).name)
42  fieldSvc = result.getPrimaryAndMerge(ForwardFieldSvcCfg(flags, name, **kwargs))
43  result.addService(fieldSvc, primary=True)
44  return result
45 
46 
47 def Q2FwdG4FieldSvcCfg(flags, name='Q2FwdG4FieldSvc', **kwargs):
48  result = ComponentAccumulator()
49  kwargs.setdefault("MagneticFieldSvc",
50  result.getPrimaryAndMerge(
52  flags,
53  name="Q2",
54  Magnet=1,
55  MQXA_DataFile="MQXA_NOMINAL.dat")).name)
56  fieldSvc = result.getPrimaryAndMerge(ForwardFieldSvcCfg(flags, name, **kwargs))
57  result.addService(fieldSvc, primary=True)
58  return result
59 
60 
61 def Q3FwdG4FieldSvcCfg(flags, name='Q3FwdG4FieldSvc', **kwargs):
62  result = ComponentAccumulator()
63  kwargs.setdefault("MagneticFieldSvc",
64  result.getPrimaryAndMerge(
66  flags,
67  name="Q3",
68  Magnet=2,
69  MQXA_DataFile="MQXA_NOMINAL.dat")).name)
70  fieldSvc = result.getPrimaryAndMerge(ForwardFieldSvcCfg(flags, name, **kwargs))
71  result.addService(fieldSvc, primary=True)
72  return result
73 
74 
75 def D1FwdG4FieldSvcCfg(flags, name='D1FwdG4FieldSvc', **kwargs):
76  result = ComponentAccumulator()
77  kwargs.setdefault("MagneticFieldSvc",
78  result.getPrimaryAndMerge(
80  flags,
81  name="D1",
82  Magnet=3)).name)
83  fieldSvc = result.getPrimaryAndMerge(ForwardFieldSvcCfg(flags, name, **kwargs))
84  result.addService(fieldSvc, primary=True)
85  return result
86 
87 
88 def D2FwdG4FieldSvcCfg(flags, name='D2FwdG4FieldSvc', **kwargs):
89  result = ComponentAccumulator()
90  kwargs.setdefault("MagneticFieldSvc",
91  result.getPrimaryAndMerge(
93  flags,
94  name="D2",
95  Magnet=4)).name)
96  fieldSvc = result.getPrimaryAndMerge(ForwardFieldSvcCfg(flags, name, **kwargs))
97  result.addService(fieldSvc, primary=True)
98  return result
99 
100 
101 def Q4FwdG4FieldSvcCfg(flags, name='Q4FwdG4FieldSvc', **kwargs):
102  result = ComponentAccumulator()
103  kwargs.setdefault("MagneticFieldSvc",
104  result.getPrimaryAndMerge(
106  flags,
107  name="Q4",
108  Magnet=5)).name)
109  fieldSvc = result.getPrimaryAndMerge(ForwardFieldSvcCfg(flags, name, **kwargs))
110  result.addService(fieldSvc, primary=True)
111  return result
112 
113 
114 def Q5FwdG4FieldSvcCfg(flags, name='Q5FwdG4FieldSvc', **kwargs):
115  result = ComponentAccumulator()
116  kwargs.setdefault("MagneticFieldSvc",
117  result.getPrimaryAndMerge(
119  flags,
120  name="Q5",
121  Magnet=6)).name)
122  fieldSvc = result.getPrimaryAndMerge(ForwardFieldSvcCfg(flags, name, **kwargs))
123  result.addService(fieldSvc, primary=True)
124  return result
125 
126 
127 def Q6FwdG4FieldSvcCfg(flags, name='Q6FwdG4FieldSvc', **kwargs):
128  result = ComponentAccumulator()
129  kwargs.setdefault("MagneticFieldSvc",
130  result.getPrimaryAndMerge(
132  flags,
133  name="Q6",
134  Magnet=7)).name)
135  fieldSvc = result.getPrimaryAndMerge(ForwardFieldSvcCfg(flags, name, **kwargs))
136  result.addService(fieldSvc, primary=True)
137  return result
138 
139 
140 def Q7FwdG4FieldSvcCfg(flags, name='Q7FwdG4FieldSvc', **kwargs):
141  result = ComponentAccumulator()
142  kwargs.setdefault("MagneticFieldSvc",
143  result.getPrimaryAndMerge(
145  flags,
146  name="Q7",
147  Magnet=8)).name)
148  fieldSvc = result.getPrimaryAndMerge(ForwardFieldSvcCfg(flags, name, **kwargs))
149  result.addService(fieldSvc, primary=True)
150  return result
151 
152 
153 def Q1HKickFwdG4FieldSvcCfg(flags, name='Q1HKickFwdG4FieldSvc', **kwargs):
154  result = ComponentAccumulator()
155  kwargs.setdefault("MagneticFieldSvc",
156  result.getPrimaryAndMerge(
158  flags,
159  name="Q1HKick",
160  Magnet=9)).name)
161  fieldSvc = result.getPrimaryAndMerge(ForwardFieldSvcCfg(flags, name, **kwargs))
162  result.addService(fieldSvc, primary=True)
163  return result
164 
165 
166 # note is lower case "v" in ForwardRegionMgFieldConfig.py
167 def Q1VKickFwdG4FieldSvcCfg(flags, name='Q1VKickFwdG4FieldSvc', **kwargs):
168  result = ComponentAccumulator()
169  kwargs.setdefault("MagneticFieldSvc",
170  result.getPrimaryAndMerge(
172  flags,
173  name="Q1VKick",
174  Magnet=10)).name)
175  fieldSvc = result.getPrimaryAndMerge(ForwardFieldSvcCfg(flags, name, **kwargs))
176  result.addService(fieldSvc, primary=True)
177  return result
178 
179 
180 def Q2HKickFwdG4FieldSvcCfg(flags, name='Q2HKickFwdG4FieldSvc', **kwargs):
181  result = ComponentAccumulator()
182  kwargs.setdefault("MagneticFieldSvc",
183  result.getPrimaryAndMerge(
185  flags,
186  name="Q2HKick",
187  Magnet=11)).name)
188  fieldSvc = result.getPrimaryAndMerge(ForwardFieldSvcCfg(flags, name, **kwargs))
189  result.addService(fieldSvc, primary=True)
190  return result
191 
192 
193 def Q2VKickFwdG4FieldSvcCfg(flags, name='Q2VKickFwdG4FieldSvc', **kwargs):
194  result = ComponentAccumulator()
195  kwargs.setdefault("MagneticFieldSvc",
196  result.getPrimaryAndMerge(
198  flags,
199  name="Q2VKick",
200  Magnet=12)).name)
201  fieldSvc = result.getPrimaryAndMerge(ForwardFieldSvcCfg(flags, name, **kwargs))
202  result.addService(fieldSvc, primary=True)
203  return result
204 
205 
206 def Q3HKickFwdG4FieldSvcCfg(flags, name='Q3HKickFwdG4FieldSvc', **kwargs):
207  result = ComponentAccumulator()
208  kwargs.setdefault("MagneticFieldSvc",
209  result.getPrimaryAndMerge(
211  flags,
212  name="Q3HKick",
213  Magnet=13)).name)
214  fieldSvc = result.getPrimaryAndMerge(ForwardFieldSvcCfg(flags, name, **kwargs))
215  result.addService(fieldSvc, primary=True)
216  return result
217 
218 
219 def Q3VKickFwdG4FieldSvcCfg(flags, name='Q3VKickFwdG4FieldSvc', **kwargs):
220  result = ComponentAccumulator()
221  kwargs.setdefault("MagneticFieldSvc",
222  result.getPrimaryAndMerge(
224  flags,
225  name="Q3VKick",
226  Magnet=14)).name)
227  fieldSvc = result.getPrimaryAndMerge(ForwardFieldSvcCfg(flags, name, **kwargs))
228  result.addService(fieldSvc, primary=True)
229  return result
230 
231 
232 def Q4VKickAFwdG4FieldSvcCfg(flags, name='Q4VKickAFwdG4FieldSvc', **kwargs):
233  result = ComponentAccumulator()
234  kwargs.setdefault("MagneticFieldSvc",
235  result.getPrimaryAndMerge(
237  flags,
238  name="Q4VKickA",
239  Magnet=15)).name)
240  fieldSvc = result.getPrimaryAndMerge(ForwardFieldSvcCfg(flags, name, **kwargs))
241  result.addService(fieldSvc, primary=True)
242  return result
243 
244 
245 def Q4HKickFwdG4FieldSvcCfg(flags, name='Q4HKickFwdG4FieldSvc', **kwargs):
246  result = ComponentAccumulator()
247  kwargs.setdefault("MagneticFieldSvc",
248  result.getPrimaryAndMerge(
250  flags,
251  name="Q4HKick",
252  Magnet=16)).name)
253  fieldSvc = result.getPrimaryAndMerge(ForwardFieldSvcCfg(flags, name, **kwargs))
254  result.addService(fieldSvc, primary=True)
255  return result
256 
257 
258 def Q4VKickBFwdG4FieldSvcCfg(flags, name='Q4VKickBFwdG4FieldSvc', **kwargs):
259  result = ComponentAccumulator()
260  kwargs.setdefault("MagneticFieldSvc",
261  result.getPrimaryAndMerge(
263  flags,
264  name="Q4VKickB",
265  Magnet=17)).name)
266  fieldSvc = result.getPrimaryAndMerge(ForwardFieldSvcCfg(flags, name, **kwargs))
267  result.addService(fieldSvc, primary=True)
268  return result
269 
270 
271 def Q5HKickFwdG4FieldSvcCfg(flags, name='Q5HKickFwdG4FieldSvc', **kwargs):
272  result = ComponentAccumulator()
273  kwargs.setdefault("MagneticFieldSvc",
274  result.getPrimaryAndMerge(
276  flags,
277  name="Q5HKick",
278  Magnet=18)).name)
279  fieldSvc = result.getPrimaryAndMerge(ForwardFieldSvcCfg(flags, name, **kwargs))
280  result.addService(fieldSvc, primary=True)
281  return result
282 
283 
284 def Q6VKickFwdG4FieldSvcCfg(flags, name='Q6VKickFwdG4FieldSvc', **kwargs):
285  result = ComponentAccumulator()
286  kwargs.setdefault("MagneticFieldSvc",
287  result.getPrimaryAndMerge(
289  flags,
290  name="Q6VKick",
291  Magnet=19)).name)
292  fieldSvc = result.getPrimaryAndMerge(ForwardFieldSvcCfg(flags, name, **kwargs))
293  result.addService(fieldSvc, primary=True)
294  return result
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
G4AtlasFieldServices.Q1FwdG4FieldSvcCfg
def Q1FwdG4FieldSvcCfg(flags, name='Q1FwdG4FieldSvc', **kwargs)
Definition: G4AtlasFieldServices.py:33
G4AtlasFieldServices.Q7FwdG4FieldSvcCfg
def Q7FwdG4FieldSvcCfg(flags, name='Q7FwdG4FieldSvc', **kwargs)
Definition: G4AtlasFieldServices.py:140
G4AtlasFieldServices.Q2HKickFwdG4FieldSvcCfg
def Q2HKickFwdG4FieldSvcCfg(flags, name='Q2HKickFwdG4FieldSvc', **kwargs)
Definition: G4AtlasFieldServices.py:180
G4AtlasFieldServices.Q4VKickAFwdG4FieldSvcCfg
def Q4VKickAFwdG4FieldSvcCfg(flags, name='Q4VKickAFwdG4FieldSvc', **kwargs)
Definition: G4AtlasFieldServices.py:232
G4AtlasFieldServices.Q1HKickFwdG4FieldSvcCfg
def Q1HKickFwdG4FieldSvcCfg(flags, name='Q1HKickFwdG4FieldSvc', **kwargs)
Definition: G4AtlasFieldServices.py:153
G4AtlasFieldServices.Q3FwdG4FieldSvcCfg
def Q3FwdG4FieldSvcCfg(flags, name='Q3FwdG4FieldSvc', **kwargs)
Definition: G4AtlasFieldServices.py:61
G4AtlasFieldServices.Q5HKickFwdG4FieldSvcCfg
def Q5HKickFwdG4FieldSvcCfg(flags, name='Q5HKickFwdG4FieldSvc', **kwargs)
Definition: G4AtlasFieldServices.py:271
G4AtlasFieldServices.Q4FwdG4FieldSvcCfg
def Q4FwdG4FieldSvcCfg(flags, name='Q4FwdG4FieldSvc', **kwargs)
Definition: G4AtlasFieldServices.py:101
G4AtlasFieldServices.Q6VKickFwdG4FieldSvcCfg
def Q6VKickFwdG4FieldSvcCfg(flags, name='Q6VKickFwdG4FieldSvc', **kwargs)
Definition: G4AtlasFieldServices.py:284
G4AtlasFieldServices.Q1VKickFwdG4FieldSvcCfg
def Q1VKickFwdG4FieldSvcCfg(flags, name='Q1VKickFwdG4FieldSvc', **kwargs)
Definition: G4AtlasFieldServices.py:167
G4AtlasFieldServices.Q4HKickFwdG4FieldSvcCfg
def Q4HKickFwdG4FieldSvcCfg(flags, name='Q4HKickFwdG4FieldSvc', **kwargs)
Definition: G4AtlasFieldServices.py:245
G4AtlasFieldServices.ForwardRegionFieldSvcCfg
def ForwardRegionFieldSvcCfg(flags, name="ForwardRegionFieldSvc", **kwargs)
Definition: G4AtlasFieldServices.py:24
G4AtlasFieldServices.Q2FwdG4FieldSvcCfg
def Q2FwdG4FieldSvcCfg(flags, name='Q2FwdG4FieldSvc', **kwargs)
Definition: G4AtlasFieldServices.py:47
G4AtlasFieldServices.Q3HKickFwdG4FieldSvcCfg
def Q3HKickFwdG4FieldSvcCfg(flags, name='Q3HKickFwdG4FieldSvc', **kwargs)
Definition: G4AtlasFieldServices.py:206
G4AtlasFieldServices.StandardFieldSvcCfg
def StandardFieldSvcCfg(flags, name="StandardField", **kwargs)
Definition: G4AtlasFieldServices.py:6
G4AtlasFieldServices.D1FwdG4FieldSvcCfg
def D1FwdG4FieldSvcCfg(flags, name='D1FwdG4FieldSvc', **kwargs)
Definition: G4AtlasFieldServices.py:75
G4AtlasFieldServices.Q5FwdG4FieldSvcCfg
def Q5FwdG4FieldSvcCfg(flags, name='Q5FwdG4FieldSvc', **kwargs)
Definition: G4AtlasFieldServices.py:114
G4AtlasFieldServices.D2FwdG4FieldSvcCfg
def D2FwdG4FieldSvcCfg(flags, name='D2FwdG4FieldSvc', **kwargs)
Definition: G4AtlasFieldServices.py:88
G4AtlasFieldServices.Q3VKickFwdG4FieldSvcCfg
def Q3VKickFwdG4FieldSvcCfg(flags, name='Q3VKickFwdG4FieldSvc', **kwargs)
Definition: G4AtlasFieldServices.py:219
G4AtlasFieldServices.Q6FwdG4FieldSvcCfg
def Q6FwdG4FieldSvcCfg(flags, name='Q6FwdG4FieldSvc', **kwargs)
Definition: G4AtlasFieldServices.py:127
G4AtlasFieldServices.Q2VKickFwdG4FieldSvcCfg
def Q2VKickFwdG4FieldSvcCfg(flags, name='Q2VKickFwdG4FieldSvc', **kwargs)
Definition: G4AtlasFieldServices.py:193
G4AtlasFieldServices.Q4VKickBFwdG4FieldSvcCfg
def Q4VKickBFwdG4FieldSvcCfg(flags, name='Q4VKickBFwdG4FieldSvc', **kwargs)
Definition: G4AtlasFieldServices.py:258
G4AtlasFieldServices.ForwardFieldSvcCfg
def ForwardFieldSvcCfg(flags, name="ForwardField", **kwargs)
Definition: G4AtlasFieldServices.py:14
ForwardRegionPropertiesConfig.ForwardRegionPropertiesCfg
def ForwardRegionPropertiesCfg(flags, name="ForwardRegionProperties", **kwargs)
Definition: ForwardRegionPropertiesConfig.py:45