ATLAS Offline Software
MTCalibPeb.py
Go to the documentation of this file.
1 #
2 # Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 #
4 
5 from TrigExamples import MTCalibPebConfig
6 from AthenaCommon.Logging import logging
7 log = logging.getLogger('MTCalibPeb.py')
8 import inspect
9 
10 def calibPebCfg(flags):
11 
12  # Ugly hack to get access to the athenaHLT globals:
13  opts = dict(inspect.getmembers(inspect.stack()[1][0]))["f_globals"]
14 
15  # Options which can be set by running with -c 'optname=value'
16  # Flag controlling if MTCalibPeb chains are concurrent or sequential,
17  concurrent = opts.get('concurrent', False)
18  # Number of chains
19  num_chains = opts.get('num_chains', 3)
20  # Configure hypo tool options
21  MTCalibPebConfig.default_options.UseRandomSeed = opts.get('UseRandomSeed', False)
22  MTCalibPebConfig.default_options.RandomAcceptRate = opts.get('RandomAcceptRate', 0.01)
23  MTCalibPebConfig.default_options.BurnTimePerCycleMillisec = opts.get('BurnTimePerCycleMillisec', 20)
24  MTCalibPebConfig.default_options.NumBurnCycles = opts.get('NumBurnCycles', 10)
25  MTCalibPebConfig.default_options.BurnTimeRandomly = opts.get('BurnTimeRandomly', True)
26  MTCalibPebConfig.default_options.Crunch = opts.get('Crunch', False)
27  MTCalibPebConfig.default_options.CheckDataConsistency = opts.get('CheckDataConsistency', False)
28  MTCalibPebConfig.default_options.ROBAccessDict = opts.get('ROBAccessDict', MTCalibPebConfig.rob_access_dict)
29  MTCalibPebConfig.default_options.TimeBetweenROBReqMillisec = opts.get('TimeBetweenROBReqMillisec', 0)
30  MTCalibPebConfig.default_options.PEBROBList = opts.get('PEBROBList', [])
31  MTCalibPebConfig.default_options.PEBSubDetList = opts.get('PEBSubDetList', [])
32  MTCalibPebConfig.default_options.CreateRandomData = opts.get('CreateRandomData', {})
33  MTCalibPebConfig.default_options.EnableL1CaloPhase1 = opts.get('EnableL1CaloPhase1', False)
34  MTCalibPebConfig.default_options.EnableL1MuonPhase1 = opts.get('EnableL1MuonPhase1', True)
35  MTCalibPebConfig.default_options.EnableL1CaloLegacy = opts.get('EnableL1CaloLegacy', True)
36 
38  flags.lock()
39 
40  # Configure the L1 and HLT sequences
41  from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
42  cfg = ComponentAccumulator()
43  cfg.merge( MTCalibPebConfig.l1_seq_cfg(flags) )
44  cfg.merge( MTCalibPebConfig.hlt_seq_cfg(flags, num_chains=num_chains, concurrent=concurrent) )
45 
46  return cfg
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
MTCalibPebConfig.l1_seq_cfg
def l1_seq_cfg(flags, options=default_options)
Definition: MTCalibPebConfig.py:137
MTCalibPeb.calibPebCfg
def calibPebCfg(flags)
Definition: MTCalibPeb.py:10
MTCalibPebConfig.set_flags
def set_flags(flags, options=default_options)
Definition: MTCalibPebConfig.py:113
MTCalibPebConfig.hlt_seq_cfg
def hlt_seq_cfg(flags, num_chains, concurrent=False, hypo_algs=None)
Definition: MTCalibPebConfig.py:322