10 evSel = CompFactory.EventSelectorAthenaPool(
"EventSelector",
11 InputCollections=flags.Input.Files,
12 SkipEvents=flags.Exec.SkipEvents)
13 if flags.Input.OverrideRunNumber:
14 if not flags.Input.RunAndLumiOverrideList:
19 if flags.Input.ConditionsRunNumber > 0:
21 DataRunNumber = flags.Input.ConditionsRunNumber
23 InitialTimeStamp = flags.IOVDb.RunToTimestampDict.get(DataRunNumber, 1)
24 if not flags.Sim.DoFullChain:
25 OldRunNumber = flags.Input.RunNumbers[0]
26 elif flags.Input.RunNumbers:
28 DataRunNumber = flags.Input.RunNumbers[0]
29 FirstLB = flags.Input.LumiBlockNumbers[0]
30 InitialTimeStamp = flags.Input.TimeStamps[0]
31 assert DataRunNumber >= 0, (
32 "flags.Input.OverrideRunNumber was True, but provided DataRunNumber (%d) is negative. "
33 "Use a real run number from data." % DataRunNumber)
34 evSel.OverrideRunNumber =
True
35 evSel.RunNumber = DataRunNumber
36 evSel.FirstLB = FirstLB
37 evSel.InitialTimeStamp = InitialTimeStamp
38 if hasattr(evSel,
"OverrideRunNumberFromInput"):
39 evSel.OverrideRunNumberFromInput =
True
41 evSel.OldRunNumber = OldRunNumber
42 elif flags.Common.ProductionStep
in [ProductionStep.Simulation, ProductionStep.FastChain]:
44 from AthenaKernel.EventIdOverrideConfig
import getMinMaxRunNumbers, getFirstLumiBlock
46 evSel.OverrideRunNumber =
True
47 evSel.RunNumber = minMax[0]
49 evSel.InitialTimeStamp = flags.IOVDb.RunToTimestampDict.get(minMax[0], 1)
50 if hasattr(evSel,
"OverrideRunNumberFromInput"):
51 evSel.OverrideRunNumberFromInput =
True
55 from AthenaKernel.EventIdOverrideConfig
import EvtIdModifierSvcCfg
57 elif flags.Common.ProductionStep
in [ProductionStep.Simulation]
and len(flags.Input.RunNumbers)
and flags.Sim.ISF.ReSimulation:
59 evSel.OverrideRunNumber =
True
60 evSel.RunNumber = flags.Input.RunNumbers[0]
61 if flags.Input.LumiBlockNumbers:
62 evSel.FirstLB = flags.Input.LumiBlockNumbers[0]
63 evSel.InitialTimeStamp = flags.IOVDb.RunToTimestampDict.get(flags.Input.RunNumbers[0], 1)
65 result.addService(evSel)