ATLAS Offline Software
LumiBlockMuWriterConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
2 #
3 # File: LumiBlockComps/python/LumiBlockMuWriterConfig.py
4 # Created: May 2020, sss
5 # Purpose: Configure LumiBlockMuWriter.
6 #
7 
8 
9 from AthenaConfiguration.ComponentFactory import CompFactory
10 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
11 from AthenaConfiguration.Enums import BeamType
12 
13 
14 def LumiBlockMuWriterCfg (flags, name = 'LumiBlockMuWriter', seqName="AthAlgSeq"):
15  result = ComponentAccumulator(seqName)
16 
17  if flags.Beam.Type is BeamType.Cosmics or flags.Input.isMC:
18  condkey = ''
19  else:
20  from LumiBlockComps.LuminosityCondAlgConfig import LuminosityCondAlgCfg
21  result.merge (LuminosityCondAlgCfg (flags))
22  condkey = result.getCondAlgo ('LuminosityCondAlg').LuminosityOutputKey
23 
24  LumiBlockMuWriter = CompFactory.LumiBlockMuWriter # LumiBlockComps
25  alg = LumiBlockMuWriter (name, LumiDataKey = condkey)
26  #In the HLT we want to run LumiBlockMuWriter as a normal EventAlgo, but in a pre-event sequence (HLTBeginSeq)
27  if flags.Trigger.doHLT:
28  result.addEventAlgo(alg)
29  #For offline and particularly serial athena, add LumiBlockMuWriter to AthCondSeq to ensure it runs first (ATR-24721)
30  else:
31  result.addCondAlgo(alg)
32  return result
33 
34 
35 if __name__ == "__main__":
36  from AthenaConfiguration.AllConfigFlags import initConfigFlags
37  from AthenaConfiguration.TestDefaults import defaultTestFiles
38 
39  print ('--- collisions')
40  flags1 = initConfigFlags()
41  flags1.Input.Files = defaultTestFiles.RAW_RUN2
42  flags1.lock()
43  acc1 = LumiBlockMuWriterCfg (flags1)
44  acc1.printCondAlgs (summariseProps=True)
45  acc1.wasMerged()
46 
47  print ('--- cosmics')
48  flags2 = initConfigFlags()
49  flags2.Input.Files = []
50  flags2.Beam.Type = BeamType.Cosmics
51  flags2.lock()
52  acc2 = LumiBlockMuWriterCfg (flags2)
53  acc2.printCondAlgs (summariseProps=True)
54  acc2.wasMerged()
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.LumiBlockMuWriterConfig.LumiBlockMuWriterCfg
def LumiBlockMuWriterCfg(flags, name='LumiBlockMuWriter', seqName="AthAlgSeq")
Definition: LumiBlockMuWriterConfig.py:14
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19