ATLAS Offline Software
TileTriggerCalibAlgConfig.py
Go to the documentation of this file.
1 #
2 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 #
4 '''
5 @file TileTriggerCalibAlgConfig.py
6 @brief Python configuration of TileTriggerDefaultCalibTool tool for the Run III
7 '''
8 
9 from AthenaConfiguration.Enums import Format
10 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
11 from TileConfiguration.TileConfigFlags import TileRunType
12 
13 def TileTriggerDefaulCalibToolCfg(flags, **kwargs):
14 
15  ''' Function to configure TileTriggerDefaultCalibTool tool'''
16 
17  kwargs.setdefault('TileRawChannelContainer', 'TileRawChannelFit')
18  kwargs.setdefault('TriggerTowerContainer', 'xAODTriggerTowers')
19 
20  acc = ComponentAccumulator()
21 
22  from TileConditions.TileCablingSvcConfig import TileCablingSvcCfg
23  acc.merge( TileCablingSvcCfg(flags) )
24 
25  if 'TileCondToolEmscale' not in kwargs:
26  from TileConditions.TileEMScaleConfig import TileCondToolEmscaleCfg
27  emScaleTool = acc.popToolsAndMerge( TileCondToolEmscaleCfg(flags) )
28  kwargs['TileCondToolEmscale'] = emScaleTool
29 
30  from TileGeoModel.TileGMConfig import TileGMCfg
31  acc.merge(TileGMCfg( flags ))
32 
33  from TileRecUtils.TileDQstatusConfig import TileDQstatusAlgCfg
34  acc.merge( TileDQstatusAlgCfg(flags) )
35 
36  # For running on bytestream data
37  if flags.Input.Format is Format.BS:
38  from TriggerJobOpts.TriggerByteStreamConfig import ByteStreamReadCfg
39  acc.merge(ByteStreamReadCfg(flags, type_names=['xAOD::TriggerTowerContainer/xAODTriggerTowers',
40  'xAOD::TriggerTowerAuxContainer/xAODTriggerTowersAux.']))
41 
42  from AthenaConfiguration.ComponentFactory import CompFactory
43  TileTriggerDefalutCalibTool = CompFactory.TileTriggerDefaultCalibTool
44 
45  acc.setPrivateTools(TileTriggerDefalutCalibTool(**kwargs))
46 
47  return acc
48 
49 
50 '''
51 @brief Python configuration of TileTriggerCalibAlg algorithm for the Run III
52 '''
53 def TileTriggerCalibAlgCfg(flags, **kwargs):
54 
55  ''' Function to configure TileTriggerCalibAlg algorithm'''
56 
57  kwargs.setdefault('name', 'TileTriggerCalibAlg')
58  kwargs.setdefault('RunType', TileRunType.CIS.getIntValue())
59  kwargs.setdefault('RunNumber', flags.Input.RunNumbers[0])
60 
61  acc = ComponentAccumulator()
62 
63  if 'TileCalibTools' not in kwargs:
64  triggerCalibTool = acc.popToolsAndMerge( TileTriggerDefaulCalibToolCfg(flags) )
65  kwargs['TileCalibTools'] = [triggerCalibTool]
66 
67  from AthenaConfiguration.ComponentFactory import CompFactory
68  TileTopCalibAlg = CompFactory.TileTopCalibAlg
69 
70  acc.addEventAlgo(TileTopCalibAlg(**kwargs), primary=True)
71 
72  return acc
73 
74 if __name__=='__main__':
75 
76  # Setup logs
77  from AthenaCommon.Logging import log
78  from AthenaCommon.Constants import INFO
79  log.setLevel(INFO)
80 
81  # Set the Athena configuration flags
82  from AthenaConfiguration.AllConfigFlags import initConfigFlags
83  from AthenaConfiguration.TestDefaults import defaultConditionsTags, defaultGeometryTags, defaultTestFiles
84  flags = initConfigFlags()
85  flags.Input.Files = defaultTestFiles.RAW_RUN2
86  flags.GeoModel.AtlasVersion = defaultGeometryTags.RUN2
87  flags.IOVDb.GlobalTag = defaultConditionsTags.RUN2_DATA
88  flags.Tile.doFit = True
89  flags.Tile.RunType = TileRunType.CIS
90  flags.Exec.MaxEvents = 3
91  flags.fillFromArgs()
92  flags.lock()
93 
94  # Initialize configuration object, add accumulator, merge, and run.
95  from AthenaConfiguration.MainServicesConfig import MainServicesCfg
96  cfg = MainServicesCfg(flags)
97 
98  from TileByteStream.TileByteStreamConfig import TileRawDataReadingCfg
99  cfg.merge( TileRawDataReadingCfg(flags) )
100 
101  from TileRecUtils.TileRawChannelMakerConfig import TileRawChannelMakerCfg
102  cfg.merge( TileRawChannelMakerCfg(flags) )
103 
104  cfg.merge( TileTriggerCalibAlgCfg(flags) )
105 
106  cfg.printConfig(withDetails = True, summariseProps = True)
107  flags.dump()
108 
109  cfg.store( open('TileTriggerCalibAlg.pkl','wb') )
110 
111  sc = cfg.run()
112 
113  import sys
114  # Success should be 0
115  sys.exit(not sc.isSuccess())
TileTriggerCalibAlgConfig.TileTriggerCalibAlgCfg
def TileTriggerCalibAlgCfg(flags, **kwargs)
Definition: TileTriggerCalibAlgConfig.py:53
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.ByteStreamConfig.ByteStreamReadCfg
def ByteStreamReadCfg(flags, type_names=None)
Definition: Event/ByteStreamCnvSvc/python/ByteStreamConfig.py:25
TileTopCalibAlg
Definition: TileTopCalibAlg.h:26
TileTriggerCalibAlgConfig.TileTriggerDefaulCalibToolCfg
def TileTriggerDefaulCalibToolCfg(flags, **kwargs)
Definition: TileTriggerCalibAlgConfig.py:13
TileDQstatusConfig.TileDQstatusAlgCfg
def TileDQstatusAlgCfg(flags, **kwargs)
Definition: TileDQstatusConfig.py:31
python.MainServicesConfig.MainServicesCfg
def MainServicesCfg(flags, LoopMgr='AthenaEventLoopMgr')
Definition: MainServicesConfig.py:256
Constants
some useful constants -------------------------------------------------—
python.TileEMScaleConfig.TileCondToolEmscaleCfg
def TileCondToolEmscaleCfg(flags, **kwargs)
Definition: TileEMScaleConfig.py:125
Trk::open
@ open
Definition: BinningType.h:40
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19
TileByteStreamConfig.TileRawDataReadingCfg
def TileRawDataReadingCfg(flags, readDigits=True, readRawChannel=True, readMuRcv=None, readMuRcvDigits=False, readMuRcvRawCh=False, readBeamElem=None, readLaserObj=None, readDigitsFlx=False, readL2=False, stateless=False, **kwargs)
Definition: TileByteStreamConfig.py:87
TileRawChannelMakerConfig.TileRawChannelMakerCfg
def TileRawChannelMakerCfg(flags, **kwargs)
Definition: TileRawChannelMakerConfig.py:10
python.TileCablingSvcConfig.TileCablingSvcCfg
def TileCablingSvcCfg(flags)
Definition: TileCablingSvcConfig.py:11
TileGMConfig.TileGMCfg
def TileGMCfg(flags)
Definition: TileGMConfig.py:7