33def createDigitizationCfgFlags():
34 """Return an AthConfigFlags object with required flags"""
35 flags = AthConfigFlags()
36
37
38 def _checkDigiSteeringConf(prevFlags):
39 digiSteeringConf = "StandardPileUpToolsAlg"
40 if prevFlags.Input.Files:
41 digiSteeringConf = GetFileMD(prevFlags.Input.Files).
get(
"digiSteeringConf",
"StandardPileUpToolsAlg")
42 return digiSteeringConf
43
44 flags.addFlag("Digitization.DigiSteeringConf", _checkDigiSteeringConf)
45
46 flags.addFlag("Digitization.DoInnerDetectorNoise", lambda prevFlags: not prevFlags.Common.isOverlay)
47
48 flags.addFlag("Digitization.DoITkPixelDetectorNoise", lambda prevFlags: prevFlags.Digitization.DoInnerDetectorNoise)
49
50 flags.addFlag("Digitization.DoITkStripDetectorNoise", lambda prevFlags: prevFlags.Digitization.DoInnerDetectorNoise)
51
52 flags.addFlag("Digitization.DoXingByXingPileUp", False)
53
54 flags.addFlag("Digitization.DoCaloNoise", lambda prevFlags: not prevFlags.Common.isOverlay)
55
56 flags.addFlag("Digitization.EnableCaloHSTruthRecoInputs", False)
57
58 flags.addFlag("Digitization.HighGainFCal", False)
59
60 flags.addFlag("Digitization.HighGainEMECIW", True)
61
62 flags.addFlag("Digitization.PileUp",
63 lambda prevFlags: GetFileMD(prevFlags.Input.Files).
get(
"pileUp",
"False") !=
"False")
64
65 flags.addFlag("Digitization.UseUpdatedTGCConditions", False)
66
67 flags.addFlag("Digitization.EnableTruth", True)
68
69 flags.addFlag("Digitization.AddCaloDigi", False)
70
71 flags.addFlag("Digitization.AddCaloDigiThinned", False)
72
73 flags.addFlag("Digitization.RandomSeedOffset", 0)
74
75 flags.addFlag("Digitization.ExtraInputs", [("xAOD::EventInfo", "EventInfo")])
76
77 flags.addFlag("Digitization.InputBeamSigmaZ", -1)
78
79
80 flags.addFlag("Digitization.PixelPlanarRadiationDamageSimulationType",
81 PixelRadiationDamageSimulationType.NoRadiationDamage, type=PixelRadiationDamageSimulationType)
82
83 flags.addFlag("Digitization.Pixel3DRadiationDamageSimulationType",
84 PixelRadiationDamageSimulationType.NoRadiationDamage, type=PixelRadiationDamageSimulationType)
85
86
87
88 flags.addFlag("Digitization.DigitizeITk3Das3D", False)
89
90
91
92 flags.addFlag("Digitization.PU.BunchStructureConfig", "")
93
94 flags.addFlag("Digitization.PU.ProfileConfig", "")
95
96 flags.addFlag("Digitization.PU.CustomProfile", "")
97
98 flags.addFlag("Digitization.PU.ForceSequentialEventNumbers",
99 lambda prevFlags: prevFlags.Common.ProductionStep == ProductionStep.PileUpPresampling)
100
101 flags.addFlag("Digitization.PU.BeamHaloInputCols", [])
102
103 flags.addFlag("Digitization.PU.BeamIntensityPattern",
104 lambda prevFlags: constBunchSpacingPattern(prevFlags.Beam.BunchSpacing))
105
106 flags.addFlag("Digitization.PU.BeamGasInputCols", [])
107
108
109 flags.addFlag("Digitization.PU.BunchSpacing",
110 lambda prevFlags: prevFlags.Beam.BunchSpacing)
111
112 flags.addFlag("Digitization.PU.InitialBunchCrossing", -32)
113 flags.addFlag("Digitization.PU.FinalBunchCrossing", 6)
114
115 flags.addFlag("Digitization.PU.CavernIgnoresBeamInt", False)
116
117 flags.addFlag("Digitization.PU.CavernInputCols", [])
118
119 flags.addFlag("Digitization.PU.FixedT0BunchCrossing", 0)
120
121
122 flags.addFlag("Digitization.PU.HighPtMinBiasInputCols", [])
123
124 flags.addFlag("Digitization.PU.HighPtMinBiasInputColOffset", 0)
125
126
127 flags.addFlag("Digitization.PU.LowPtMinBiasInputCols", [])
128
129 flags.addFlag("Digitization.PU.NumberOfLowPtMinBias", 0.0)
130
131 flags.addFlag("Digitization.PU.NumberOfHighPtMinBias", 0.0)
132
133 flags.addFlag("Digitization.PU.NumberOfBeamGas", 0.0)
134
135 flags.addFlag("Digitization.PU.NumberOfBeamHalo", 0.0)
136
137 flags.addFlag("Digitization.PU.NumberOfCollisions", 0.0)
138
139 flags.addFlag("Digitization.PU.NumberOfCavern", 0.0)
140
141 flags.addFlag("Digitization.PU.SignalPatternForSteppingCache", [])
142
143 flags.addFlag("Digitization.DoFastDigi", [])
144
145 flags.addFlag("Digitization.ReadParametersFromDB", lambda prevFlags : prevFlags.Common.ProductionStep in [ProductionStep.Digitization, ProductionStep.PileUpPresampling, ProductionStep.Overlay, ProductionStep.FastChain])
146
147 flags.addFlag("Digitization.TRT.HeavyIonHT", False)
148 return flags
149
150
T * get(TKey *tobj)
get a TObject* from a TKey* (why can't a TObject be a TKey?)