ATLAS Offline Software
Loading...
Searching...
No Matches
ITkConfigFlags.py
Go to the documentation of this file.
1# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2
3from AthenaConfiguration.AthConfigFlags import AthConfigFlags
4from 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
41 itkcf.addFlag("ITk.Geometry.isAlignable",False)
42 itkcf.addFlag("ITk.Geometry.stripAlignable",lambda prevFlags: prevFlags.ITk.Geometry.isAlignable)
43 itkcf.addFlag("ITk.Geometry.pixelAlignable",lambda prevFlags: prevFlags.ITk.Geometry.isAlignable)
44 itkcf.addFlag("ITk.Geometry.alignmentFolder","/Indet/Align")
45
46 # The following flag is (3 Oct 2023) unused for now, the charge calibration
47 # constants are hardcoded in the alg implementation
48 # InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/ITkPixChargeCalibAlg.cxx
49 itkcf.addFlag("ITk.Conditions.PixelChargeCalibTag", "ChargeCalib-MC21-01")
50 itkcf.addFlag("ITk.Conditions.PixelChargeCalibFile", "")
51 itkcf.addFlag("ITk.Conditions.PixelOfflineCalibTag",
52 "PixelITkError_v5_ATLAS-P2-RUN4-01")
53 itkcf.addFlag("ITk.Conditions.PixelOfflineCalibFile", "")
54
55 # Turn on running of PRD MultiTruthMaker
56 itkcf.addFlag("ITk.doTruth", lambda prevFlags: prevFlags.Input.isMC)
57
58 # Turn on SCT_ModuleVetoSvc, allowing it to be configured later
59 itkcf.addFlag("ITk.doStripModuleVeto", False)
60 # Path to the JSON file to mask the modules
61 itkcf.addFlag("ITk.JsonPathStripModuleVeto", "")
62 # Path to the JSON file to mask the modules for Pixel.
63 # A non-empty string activates the veto automatically
64 itkcf.addFlag("ITk.JsonPathPixelModuleVeto", "")
65 # Enable check for dead modules and FEs
66 itkcf.addFlag("ITk.checkDeadPixelsOnTrack", True)
67 # defines if the X1X mode is used for the offline or not
68 itkcf.addFlag("ITk.selectStripIntimeHits", lambda prevFlags:
69 not(prevFlags.Beam.Type is BeamType.Cosmics))
70
71 # Save cluster information to Derivation
72 itkcf.addFlag("ITk.DAODStorePixel", lambda prevFlags:
73 prevFlags.Detector.EnableITkPixel)
74 itkcf.addFlag("ITk.DAODStoreStrip", lambda prevFlags:
75 prevFlags.Detector.EnableITkStrip)
76 itkcf.addFlag("ITk.DAODStoreExtra", True)
77
78 # Save SiHitCollections to RDO
79 itkcf.addFlag("ITk.savePixelSiHits", lambda prevFlags:
80 prevFlags.BTagging.Trackless or
81 prevFlags.BTagging.savePixelHits)
82 itkcf.addFlag("ITk.saveStripSiHits", lambda prevFlags:
83 prevFlags.BTagging.Trackless or
84 prevFlags.BTagging.saveSCTHits)
85
86 # config flags for tracking geometry configuration
87 from InDetConfig.TrackingGeometryFlags import createITkTrackingGeometryFlags
88 itkcf.addFlagsCategory("ITk.trackingGeometry",
89 createITkTrackingGeometryFlags, prefix=True)
90
91 # config flags for alignment configuration
92 from InDetAlignConfig.ITkAlignFlags import createITkAlignFlags
93 itkcf.addFlagsCategory("ITk.Align", createITkAlignFlags, prefix=True)
94
95 # if we want to make eta overlap space points in strip endcaps
96 # need to search for neighbour elements in eta
97 itkcf.addFlag("ITk.doEndcapEtaNeighbour", False)
98
99 return itkcf