ATLAS Offline Software
ITkConfigFlags.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2 
3 from AthenaConfiguration.AthConfigFlags import AthConfigFlags
4 from AthenaConfiguration.Enums import BeamType
5 
6 
8  itkcf = AthConfigFlags()
9 
10  # take geometry XML files from local instance rather than Detector Database, for development
11  itkcf.addFlag("ITk.Geometry.AllLocal", False)
12  itkcf.addFlag("ITk.Geometry.PixelLocal",
13  lambda prevFlags: prevFlags.ITk.Geometry.AllLocal)
14  itkcf.addFlag("ITk.Geometry.PixelFilename",
15  "ITKLayouts/Pixel/ITkPixel.gmx")
16  itkcf.addFlag("ITk.Geometry.PixelClobOutputName", "")
17  itkcf.addFlag("ITk.Geometry.StripLocal",
18  lambda prevFlags: prevFlags.ITk.Geometry.AllLocal)
19  itkcf.addFlag("ITk.Geometry.StripFilename",
20  "ITKLayouts/Strip/ITkStrip.gmx")
21  itkcf.addFlag("ITk.Geometry.StripClobOutputName", "")
22  itkcf.addFlag("ITk.Geometry.BCMPrimeLocal",
23  lambda prevFlags: prevFlags.ITk.Geometry.AllLocal)
24  itkcf.addFlag("ITk.Geometry.BCMPrimeFilename",
25  "ITKLayouts/BCM/BCMPrime.gmx")
26  itkcf.addFlag("ITk.Geometry.BCMPrimeClobOutputName", "")
27  itkcf.addFlag("ITk.Geometry.PLRLocal",
28  lambda prevFlags: prevFlags.ITk.Geometry.AllLocal)
29  itkcf.addFlag("ITk.Geometry.PLRFilename", "ITKLayouts/PLR/PLR.gmx")
30  itkcf.addFlag("ITk.Geometry.PLRClobOutputName", "")
31  itkcf.addFlag("ITk.Geometry.DictionaryLocal",
32  lambda prevFlags: prevFlags.ITk.Geometry.AllLocal)
33  itkcf.addFlag("ITk.Geometry.DictionaryFilename",
34  "ITKLayouts/IdDictInnerDetector_ITK_LOCAL.xml")
35  itkcf.addFlag("ITk.Geometry.isLocal", lambda prevFlags:
36  prevFlags.ITk.Geometry.PixelLocal or
37  prevFlags.ITk.Geometry.StripLocal or
38  prevFlags.ITk.Geometry.BCMPrimeLocal or
39  prevFlags.ITk.Geometry.PLRLocal)
40  # The following flag is (3 Oct 2023) unused for now, the charge calibration
41  # constants are hardcoded in the alg implementation
42  # InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/ITkPixChargeCalibAlg.cxx
43  itkcf.addFlag("ITk.Conditions.PixelChargeCalibTag", "ChargeCalib-MC21-01")
44  itkcf.addFlag("ITk.Conditions.PixelChargeCalibFile", "")
45  itkcf.addFlag("ITk.Conditions.PixelOfflineCalibTag",
46  "PixelITkError_v5_ATLAS-P2-RUN4-01")
47  itkcf.addFlag("ITk.Conditions.PixelOfflineCalibFile", "")
48 
49  # Turn on running of PRD MultiTruthMaker
50  itkcf.addFlag("ITk.doTruth", lambda prevFlags: prevFlags.Input.isMC)
51 
52  # Turn on SCT_ModuleVetoSvc, allowing it to be configured later
53  itkcf.addFlag("ITk.doStripModuleVeto", False)
54  # Path to the JSON file to mask the modules
55  itkcf.addFlag("ITk.JsonPathStripModuleVeto", "")
56  # Enable check for dead modules and FEs
57  itkcf.addFlag("ITk.checkDeadPixelsOnTrack", True)
58  # defines if the X1X mode is used for the offline or not
59  itkcf.addFlag("ITk.selectStripIntimeHits", lambda prevFlags:
60  not(prevFlags.Beam.Type is BeamType.Cosmics))
61 
62  # Save cluster information to Derivation
63  itkcf.addFlag("ITk.DAODStorePixel", lambda prevFlags:
64  prevFlags.Detector.EnableITkPixel)
65  itkcf.addFlag("ITk.DAODStoreStrip", lambda prevFlags:
66  prevFlags.Detector.EnableITkStrip)
67  itkcf.addFlag("ITk.DAODStoreExtra", True)
68 
69  # Save SiHitCollections to RDO
70  itkcf.addFlag("ITk.savePixelSiHits", lambda prevFlags:
71  prevFlags.BTagging.Trackless or
72  prevFlags.BTagging.savePixelHits)
73  itkcf.addFlag("ITk.saveStripSiHits", lambda prevFlags:
74  prevFlags.BTagging.Trackless or
75  prevFlags.BTagging.saveSCTHits)
76 
77  # config flags for tracking geometry configuration
78  from InDetConfig.TrackingGeometryFlags import createITkTrackingGeometryFlags
79  itkcf.addFlagsCategory("ITk.trackingGeometry",
80  createITkTrackingGeometryFlags, prefix=True)
81 
82  return itkcf
python.ITkConfigFlags.createITkConfigFlags
def createITkConfigFlags()
Definition: ITkConfigFlags.py:7