9def createInDetConfigFlags():
10 icf = AthConfigFlags()
11
12
13
14
15 icf.addFlag("InDet.doSplitReco", False)
16
17 icf.addFlag("InDet.doTruth", lambda prevFlags:
18 prevFlags.Input.isMC or
19 (prevFlags.Overlay.DataOverlay and prevFlags.Common.ProductionStep is not ProductionStep.MinbiasPreprocessing))
20
21
22 icf.addFlag("InDet.selectSCTIntimeHits", lambda prevFlags: (
23 not(prevFlags.Beam.Type is BeamType.Cosmics or
24 prevFlags.Tracking.PrimaryPassConfig is PrimaryPassConfig.VtxBeamSpot)))
25 icf.addFlag("InDet.useDCS", True)
26
27 icf.addFlag("InDet.useHVActiveStates", False)
28 icf.addFlag("InDet.usePixelDCS", lambda prevFlags: (
29 prevFlags.InDet.useDCS and prevFlags.Detector.EnablePixel))
30 icf.addFlag("InDet.useSctDCS", lambda prevFlags: (
31 prevFlags.InDet.useDCS and prevFlags.Detector.EnableSCT))
32
33 icf.addFlag("InDet.ForceCoraCool", False)
34
35 icf.addFlag("InDet.ForceCoolVectorPayload", False)
36
37 icf.addFlag("InDet.doSCTModuleVeto", False)
38
39 icf.addFlag("InDet.doSCTSimpleWidth", True)
40
41
42 icf.addFlag("InDet.JsonPathPixelModuleVeto", "")
43
44
45 icf.addFlag("InDet.checkDeadElementsOnTrack", True)
46
47 icf.addFlag("InDet.doTRTGlobalOccupancy", False)
48 icf.addFlag("InDet.noTRTTiming", lambda prevFlags:
49 prevFlags.Beam.Type is BeamType.SingleBeam and
50 prevFlags.Detector.EnableTRT)
51 icf.addFlag("InDet.doTRTPhase", lambda prevFlags:
52 prevFlags.Beam.Type is BeamType.Cosmics and
53 prevFlags.Detector.EnableTRT)
54
55 icf.addFlag("InDet.doTRTArToTCorr", lambda prevFlags: (
56 (not prevFlags.Input.isMC and prevFlags.Input.DataYear >= 2025) or
57 (prevFlags.Input.isMC and prevFlags.Input.MCCampaign >= Campaign.MC23g)
58 ))
59
60
61 icf.addFlag("InDet.DRAWZSelection", False)
62 icf.addFlag("InDet.DAODStorePixel", lambda prevFlags:
63 prevFlags.Detector.EnablePixel)
64 icf.addFlag("InDet.DAODStoreSCT", lambda prevFlags:
65 prevFlags.Detector.EnableSCT)
66 icf.addFlag("InDet.DAODStoreTRT", lambda prevFlags:
67 prevFlags.Detector.EnableTRT)
68 icf.addFlag("InDet.DAODStoreExtra", True)
69
70
71 icf.addFlag("InDet.PixelDumpMode", 1)
72 icf.addFlag("InDet.PixelConfig.version", 'PixelConditionsAlgorithms/v1/')
73 icf.addFlag("InDet.PixelConfig.UserInputFileName", '')
74 icf.addFlag("InDet.doPixelFEcheckExpHits", True)
75
76
77 icf.addFlag("InDet.savePixelSiHits", lambda prevFlags:
78 prevFlags.BTagging.Trackless or
79 prevFlags.BTagging.savePixelHits)
80 icf.addFlag("InDet.saveSCTSiHits", lambda prevFlags:
81 prevFlags.BTagging.Trackless or
82 prevFlags.BTagging.saveSCTHits)
83
84
85 icf.addFlag("InDet.SCTxAODPrescale",
86 lambda prevFlags: 50 if prevFlags.Input.TriggerStream == 'express' else (10 if prevFlags.Input.TriggerStream == 'IDprescaledL1' else 1))
87
88
89 icf.addFlag("InDet.SCTxAODZmumuSkimming", False)
90 icf.addFlag("InDet.SCTxAODSaveOnlyAssociatedMSOS", False)
91
92
93 from InDetAlignConfig.IDAlignFlags import createInDetAlignFlags
94 icf.addFlagsCategory("InDet.Align", createInDetAlignFlags, prefix=True)
95
96
97
98 from InDetAlignConfig.IDAlignFlags import createInDetAlignFlags
99 icf.addFlagsCategory("InDet.Align", createInDetAlignFlags, prefix=True)
100
101 return icf