66 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
70 for IDpart
in runArgs.excludeIDPart:
71 setattr(flags.InDet.Align, f
"align{IDpart}",
False)
74 if hasattr(runArgs,
"localDatabase"):
75 flags.InDet.Align.localDataBase = os.path.abspath(runArgs.localDatabase)
77 if runArgs.eosT0Dir !=
"":
81 flags.InDet.Align.localDataBase =
""
84 for tag
in [tag
for tag
in dir(runArgs)
if "Tag" in tag
and tag !=
"globalTag"]:
85 setattr(flags.InDet.Align, tag, getattr(runArgs, tag))
88 from InDetAlignConfig.IDAlignFlags
import setL11AlignmentFlags, setL16AlignmentFlags, setL2AlignmentFlags, setL3AlignmentFlags
90 if runArgs.alignLevel == 11:
93 elif runArgs.alignLevel == 16:
96 elif runArgs.alignLevel == 2:
99 elif runArgs.alignLevel == 3:
103 raise Exception(f
"No valid alignment level has been selected: '{runArgs.alignLevel}'")
106 from InDetConfig.ConfigurationHelpers
import OnlyTrackingPreInclude
110 flags.InDet.Align.accumulate = runArgs.accumulate
111 flags.InDet.Align.baseDir = os.path.abspath(runArgs.baseDir)
112 flags.InDet.Align.inputTracksCollection = runArgs.inputTracksCollection
113 flags.Input.Files = [os.path.abspath(inputFile)
for inputFile
in runArgs.inputRAWFile]
115 if runArgs.accumulate:
116 if hasattr(runArgs,
"outputTFile"):
117 flags.InDet.Align.outputTFile = runArgs.outputTFile
119 if hasattr(runArgs,
"outputMonitorFile"):
120 flags.InDet.Align.doMonitoring =
True
121 flags.Output.HISTFileName = f
"{flags.InDet.Align.baseDir}/Accumulate/{runArgs.outputMonitorFile}"
124 flags.InDet.Align.inputTFiles = [os.path.abspath(inputTFile)
for inputTFile
in runArgs.inputTFile]
125 flags.InDet.Align.outputConditionFile = f
"{flags.InDet.Align.baseDir}/Solve/{runArgs.outputConditionFile}"
126 flags.IOVDb.DBConnection = f
"sqlite://;schema={flags.InDet.Align.baseDir}/Solve/{runArgs.outputDBFile};dbname=CONDBR2"
128 flags.Exec.MaxEvents = runArgs.maxEvents
if not runArgs.solve
else 1
129 flags.Exec.SkipEvents = runArgs.skipEvents
if hasattr(runArgs,
"skipEvents")
else 0
132 flags.IOVDb.GlobalTag = runArgs.globalTag
134 flags.GeoModel.Align.Dynamic =
True
135 flags.GeoModel.AtlasVersion = runArgs.atlasVersion
137 if not flags.Input.isMC
and runArgs.isCosmics:
138 from AthenaConfiguration.Enums
import BeamType
140 flags.Beam.NumberOfCollisions = 0
141 flags.Beam.Type = BeamType.Cosmics
142 flags.Beam.Energy = 0.
143 flags.Beam.BunchSpacing = 50
145 if runArgs.isHeavyIon:
146 flags.Beam.BunchSpacing = 50
147 flags.Reco.EnableHI =
True
148 flags.HeavyIon.doGlobal =
True
151 flags.Beam.BunchSpacing = 25
153 if not runArgs.isBFieldOff:
154 flags.BField.solenoidOn =
True
155 flags.BField.barrelToroidOn =
True
156 flags.BField.endcapToroidOn =
True
159 flags.BField.solenoidOn =
False
160 flags.BField.barrelToroidOn =
False
161 flags.BField.endcapToroidOn =
False