4 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
5 from AthenaConfiguration.ComponentFactory
import CompFactory
6 from AthenaConfiguration.Enums
import BeamType, LHCPeriod
7 from IOVDbSvc.IOVDbSvcConfig
import addFoldersSplitOnline
15 from PixelConditionsAlgorithms.PixelConditionsConfig
import (
16 PixelChargeCalibCondCfg, PixelOfflineCalibCondAlgCfg)
17 if (
'SCT' in flags.Digitization.DoFastDigi
and
18 'Pixel' not in flags.Digitization.DoFastDigi):
24 from PixelReadoutGeometry.PixelReadoutGeometryConfig
import (
25 PixelReadoutManagerCfg)
28 if "PixelLorentzAngleTool" not in kwargs:
29 from SiLorentzAngleTool.PixelLorentzAngleConfig
import (
30 PixelLorentzAngleToolCfg)
31 kwargs.setdefault(
"PixelLorentzAngleTool", acc.popToolsAndMerge(
34 if "SCTLorentzAngleTool" not in kwargs:
35 from SiLorentzAngleTool.SCT_LorentzAngleConfig
import (
36 SCT_LorentzAngleToolCfg)
37 kwargs.setdefault(
"SCTLorentzAngleTool", acc.popToolsAndMerge(
40 acc.setPrivateTools(CompFactory.InDet.ClusterMakerTool(name, **kwargs))
47 from PixelConditionsAlgorithms.ITkPixelConditionsConfig
import (
48 ITkPixelChargeCalibCondAlgCfg)
49 from PixelReadoutGeometry.PixelReadoutGeometryConfig
import (
50 ITkPixelReadoutManagerCfg)
56 kwargs.setdefault(
"PixelReadoutManager", acc.getService(
57 "ITkPixelReadoutManager"))
59 if "PixelLorentzAngleTool" not in kwargs:
60 from SiLorentzAngleTool.ITkPixelLorentzAngleConfig
import (
61 ITkPixelLorentzAngleToolCfg)
62 kwargs.setdefault(
"PixelLorentzAngleTool", acc.popToolsAndMerge(
65 if "SCTLorentzAngleTool" not in kwargs:
66 from SiLorentzAngleTool.ITkStripLorentzAngleConfig
import (
67 ITkStripLorentzAngleToolCfg)
68 kwargs.setdefault(
"SCTLorentzAngleTool", acc.popToolsAndMerge(
71 acc.setPrivateTools(CompFactory.InDet.ClusterMakerTool(name, **kwargs))
77 from PixelGeoModel.PixelGeoModelConfig
import PixelReadoutGeometryCfg
80 kwargs.setdefault(
"PixelDetElStatus",
"PixelDetectorElementStatus")
82 if kwargs[
"PixelDetElStatus"] !=
"":
83 from PixelConditionsAlgorithms.PixelConditionsConfig
import (
84 PixelDetectorElementStatusAlgCfg)
87 if "PixelConditionsSummaryTool" not in kwargs:
88 from PixelConditionsTools.PixelConditionsSummaryConfig
import (
89 PixelConditionsSummaryCfg)
90 kwargs.setdefault(
"PixelConditionsSummaryTool", acc.popToolsAndMerge(
95 kwargs.setdefault(
"CheckDuplicatedRDO",
96 (len(flags.Input.ProjectName) >= 6
and
97 flags.Input.ProjectName[:6] ==
"data15"))
99 acc.setPrivateTools(CompFactory.InDet.PixelRDOTool(name, **kwargs))
105 from PixelGeoModelXml.ITkPixelGeoModelConfig
import (
106 ITkPixelReadoutGeometryCfg)
109 if "PixelConditionsSummaryTool" not in kwargs:
110 from PixelConditionsTools.ITkPixelConditionsSummaryConfig
import (
111 ITkPixelConditionsSummaryCfg)
112 kwargs.setdefault(
"PixelConditionsSummaryTool", acc.popToolsAndMerge(
115 kwargs.setdefault(
"PixelDetEleCollKey",
"ITkPixelDetectorElementCollection")
116 kwargs.setdefault(
"CheckGanged",
False)
118 acc.setPrivateTools(CompFactory.InDet.PixelRDOTool(name, **kwargs))
129 kwargs.setdefault(
"globalPosAlg", acc.popToolsAndMerge(
131 kwargs.setdefault(
"PixelRDOTool", acc.popToolsAndMerge(
134 acc.setPrivateTools(CompFactory.InDet.MergedPixelsTool(name, **kwargs))
145 acc.setPrivateTools(CompFactory.InDet.MergedPixelsTool(name, **kwargs))
152 kwargs.setdefault(
"globalPosAlg", acc.popToolsAndMerge(
154 kwargs.setdefault(
"PixelRDOTool", acc.popToolsAndMerge(
157 kwargs.setdefault(
"PixelChargeCalibCondData",
"ITkPixelChargeCalibCondData")
158 kwargs.setdefault(
"PixelOfflineCalibData",
"")
160 acc.setPrivateTools(CompFactory.InDet.MergedPixelsTool(name, **kwargs))
165 flags, name="PixelClusterNnCondAlg", trackNetwork=False, **kwargs):
169 "NumberParticles_NoTrack/",
170 "ImpactPoints1P_NoTrack/",
171 "ImpactPoints2P_NoTrack/",
172 "ImpactPoints3P_NoTrack/",
173 "ImpactPointErrorsX1_NoTrack/",
174 "ImpactPointErrorsX2_NoTrack/",
175 "ImpactPointErrorsX3_NoTrack/",
176 "ImpactPointErrorsY1_NoTrack/",
177 "ImpactPointErrorsY2_NoTrack/",
178 "ImpactPointErrorsY3_NoTrack/"]
181 nn_names = [elm.replace(
'_NoTrack',
'')
for elm
in nn_names]
183 kwargs.setdefault(
"NetworkNames", nn_names)
184 kwargs.setdefault(
"GetInputsInfo",
True)
185 kwargs.setdefault(
"WriteKey", (
"PixelClusterNN" if not trackNetwork
186 else "PixelClusterNNWithTrack"))
190 "/PIXEL/Onl/PixelClustering/PixelClusNNCalib",
191 "/PIXEL/PixelClustering/PixelClusNNCalib",
192 className=
'CondAttrListCollection'))
194 if "NetworkToHistoTool" not in kwargs:
195 from TrkConfig.TrkNeuralNetworkUtilsConfig
import (
196 NeuralNetworkToHistoToolCfg)
197 kwargs.setdefault(
"NetworkToHistoTool", acc.popToolsAndMerge(
200 acc.addCondAlgo(CompFactory.InDet.TTrainedNetworkCondAlg(name, **kwargs))
205 flags, name="PixelClusterNnWithTrackCondAlg"):
214 "/PIXEL/Onl/PixelClustering/PixelNNCalibJSON",
215 "/PIXEL/PixelClustering/PixelNNCalibJSON",
216 className=
"CondAttrListCollection"))
218 kwargs.setdefault(
"WriteKey",
"PixelClusterNNJSON")
220 acc.addCondAlgo(CompFactory.InDet.LWTNNCondAlg(name, **kwargs))
225 from PixelReadoutGeometry.PixelReadoutGeometryConfig
import (
226 PixelReadoutManagerCfg)
229 from PixelConditionsAlgorithms.PixelConditionsConfig
import (
230 PixelChargeCalibCondCfg)
233 if flags.GeoModel.Run
is LHCPeriod.Run1:
239 if "PixelLorentzAngleTool" not in kwargs:
240 from SiLorentzAngleTool.PixelLorentzAngleConfig
import (
241 PixelLorentzAngleToolCfg)
242 kwargs.setdefault(
"PixelLorentzAngleTool", acc.popToolsAndMerge(
245 kwargs.setdefault(
"doRunI", flags.GeoModel.Run
is LHCPeriod.Run1)
246 kwargs.setdefault(
"useToT",
False)
247 kwargs.setdefault(
"useRecenteringNNWithoutTracks", (
248 flags.GeoModel.Run
is LHCPeriod.Run1))
249 kwargs.setdefault(
"useRecenteringNNWithTracks",
False)
250 kwargs.setdefault(
"correctLorShiftBarrelWithoutTracks", 0)
251 kwargs.setdefault(
"correctLorShiftBarrelWithTracks", (
252 0.03
if flags.GeoModel.Run
is LHCPeriod.Run1
else 0.))
253 kwargs.setdefault(
"useTTrainedNetworks",
254 flags.GeoModel.Run
is LHCPeriod.Run1)
255 kwargs.setdefault(
"NnCollectionReadKey", (
256 "PixelClusterNN" if flags.GeoModel.Run
is LHCPeriod.Run1
else ""))
257 kwargs.setdefault(
"NnCollectionWithTrackReadKey", (
258 "PixelClusterNNWithTrack" if flags.GeoModel.Run
is LHCPeriod.Run1
260 kwargs.setdefault(
"NnCollectionJSONReadKey", (
261 "" if flags.GeoModel.Run
is LHCPeriod.Run1
262 else "PixelClusterNNJSON"))
265 CompFactory.InDet.NnClusterizationFactory(name, **kwargs))
273 from PixelConditionsAlgorithms.PixelConditionsConfig
import (
274 PixelChargeCalibCondCfg)
280 from SiLorentzAngleTool.PixelLorentzAngleConfig
import (
281 PixelLorentzAngleToolCfg)
282 kwargs[
"PixelLorentzAngleTool"] = acc.popToolsAndMerge(
285 kwargs[
"useToT"] =
False
286 kwargs[
"NnCollectionReadKey"] =
"PixelClusterNN"
287 kwargs[
"NnCollectionWithTrackReadKey"] =
"PixelClusterNNWithTrack"
290 CompFactory.InDet.NnClusterizationFactory(name, **kwargs))
295 flags, name="NnPixelClusterSplitProbTool", **kwargs):
298 kwargs.setdefault(
"NnClusterizationFactory", acc.popToolsAndMerge(
300 kwargs.setdefault(
"PriorMultiplicityContent", [1, 1, 1])
301 kwargs.setdefault(
"useBeamSpotInfo", flags.Tracking.useBeamSpotInfoNN)
304 CompFactory.InDet.NnPixelClusterSplitProbTool(name, **kwargs))
309 flags, name="InDetPixelGangedAmbiguitiesFinder", **kwargs):
311 from PixelGeoModel.PixelGeoModelConfig
import PixelReadoutGeometryCfg
314 CompFactory.InDet.PixelGangedAmbiguitiesFinder(name, **kwargs))
319 flags, name="ITkPixelGangedAmbiguitiesFinder", **kwargs):
321 from PixelGeoModelXml.ITkPixelGeoModelConfig
import (
322 ITkPixelReadoutGeometryCfg)
324 kwargs.setdefault(
"PixelDetEleCollKey",
"ITkPixelDetectorElementCollection")
326 CompFactory.InDet.PixelGangedAmbiguitiesFinder(name, **kwargs))
331 flags, name="InDetSCT_ClusteringTool", **kwargs):
333 from SCT_GeoModel.SCT_GeoModelConfig
import SCT_ReadoutGeometryCfg
336 kwargs.setdefault(
"SCTDetElStatus",
337 "SCTDetectorElementStatusWithoutFlagged")
339 if "conditionsTool" not in kwargs:
340 from SCT_ConditionsTools.SCT_ConditionsToolsConfig
import (
341 SCT_ConditionsSummaryToolCfg)
342 kwargs.setdefault(
"conditionsTool", acc.popToolsAndMerge(
345 if "LorentzAngleTool" not in kwargs:
346 from SiLorentzAngleTool.SCT_LorentzAngleConfig
import (
347 SCT_LorentzAngleToolCfg)
348 kwargs.setdefault(
"LorentzAngleTool", acc.popToolsAndMerge(
351 kwargs.setdefault(
"globalPosAlg", acc.popToolsAndMerge(
354 if flags.InDet.selectSCTIntimeHits:
355 coll_25ns = (flags.Beam.BunchSpacing <= 25
and
356 flags.Beam.Type
is BeamType.Collisions)
357 kwargs.setdefault(
"timeBins",
"01X" if coll_25ns
else "X1X")
359 acc.setPrivateTools(CompFactory.InDet.SCT_ClusteringTool(name, **kwargs))
366 from SCT_ConditionsTools.SCT_ConditionsToolsConfig
import (
367 SCT_ConditionsSummaryToolCfg)
369 flags, withFlaggedCondTool=
False, withTdaqTool=
False))
373 conditionsTool=conditionsTool,
380 flags, name="ITkStripClusteringTool", **kwargs):
382 from StripGeoModelXml.ITkStripGeoModelConfig
import (
383 ITkStripReadoutGeometryCfg)
386 kwargs.setdefault(
"SCTDetEleCollKey",
"ITkStripDetectorElementCollection")
387 kwargs.setdefault(
"useRowInformation",
True)
389 if "conditionsTool" not in kwargs:
390 from SCT_ConditionsTools.ITkStripConditionsToolsConfig
import (
391 ITkStripConditionsSummaryToolCfg)
392 kwargs.setdefault(
"conditionsTool", acc.popToolsAndMerge(
395 if "LorentzAngleTool" not in kwargs:
396 from SiLorentzAngleTool.ITkStripLorentzAngleConfig
import (
397 ITkStripLorentzAngleToolCfg)
398 kwargs.setdefault(
"LorentzAngleTool", acc.popToolsAndMerge(
401 kwargs.setdefault(
"globalPosAlg", acc.popToolsAndMerge(
404 if flags.ITk.selectStripIntimeHits:
405 coll_25ns = (flags.Beam.BunchSpacing <= 25
and
406 flags.Beam.Type
is BeamType.Collisions)
407 kwargs.setdefault(
"timeBins",
"01X" if coll_25ns
else "X1X")
409 acc.setPrivateTools(CompFactory.InDet.SCT_ClusteringTool(name, **kwargs))
414 flags, name='ITkTruthClusterizationFactory', **kwargs):
417 kwargs.setdefault(
"InputSDOMap",
"ITkPixelSDO_Map")
418 kwargs.setdefault(
"discardPUHits", flags.Digitization.PileUp)
419 kwargs.setdefault(
"truthClusterSplittingEff", flags.Tracking.TruthClusterSplittingEff)
421 CompFactory.InDet.TruthClusterizationFactory(name, **kwargs))
426 flags, name="ITkTruthPixelClusterSplitProbTool", **kwargs):
428 kwargs.setdefault(
"PriorMultiplicityContent", [1, 1, 1])
429 kwargs.setdefault(
"NnClusterizationFactory", acc.popToolsAndMerge(
432 CompFactory.InDet.TruthPixelClusterSplitProbTool(name, **kwargs))
438 from InDetConfig.SiClusterizationToolConfig
import ITkPixelRDOToolCfg
440 alg = CompFactory.InDet.HitsToxAODCopier(PixelRDOTool=tool, PixelRDOContainerKey=
"ITkPixelRDOs")
443 from OutputStreamAthenaPool.OutputStreamConfig
import addToESD, addToAOD
445 toRecod = [
"xAOD::BaseContainer#PixelHits",
"xAOD::AuxContainerBase#PixelHitsAux.col.row.tot.eta_module.phi_module.layer_disk.barrel_ec.detid",
446 "xAOD::BaseContainer#StripHits",
"xAOD::AuxContainerBase#StripHitsAux.strip.side.eta_module.phi_module.layer_disk.barrel_ec.detid" ]