ATLAS Offline Software
TileCellNoiseFilterConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 
3 """Define method to construct configured private Tile Cell noise filter tool"""
4 
5 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
6 from AthenaConfiguration.ComponentFactory import CompFactory
7 from TileConfiguration.TileConfigFlags import TileRunType
8 
9 def TileCellNoiseFilterCfg(flags, **kwargs):
10  """Return component accumulator with configured private Tile cell noise filter tool
11 
12  Arguments:
13  flags -- Athena configuration flags
14  UseCaloNoise -- use Calo noise conditions object. Defaults to False.
15  """
16 
17  acc = ComponentAccumulator()
18 
19  useCaloNoise = kwargs.get('UseCaloNoise', False)
20 
21  from TileGeoModel.TileGMConfig import TileGMCfg
22  acc.merge(TileGMCfg(flags))
23 
24  TileCellNoiseFilter=CompFactory.TileCellNoiseFilter
25  tileCellNoiseFilter = TileCellNoiseFilter()
26 
27  from TileConditions.TileEMScaleConfig import TileEMScaleCondAlgCfg
28  acc.merge( TileEMScaleCondAlgCfg(flags) )
29 
30  if useCaloNoise:
31  from CaloTools.CaloNoiseCondAlgConfig import CaloNoiseCondAlgCfg
32  acc.merge( CaloNoiseCondAlgCfg(flags, 'electronicNoise') )
33  tileCellNoiseFilter.CaloNoise = 'electronicNoise'
34  else:
35  from TileConditions.TileSampleNoiseConfig import TileSampleNoiseCondAlgCfg
36  acc.merge( TileSampleNoiseCondAlgCfg(flags) )
37 
38  from TileConditions.TileBadChannelsConfig import TileBadChanToolCfg
39  badChanTool = acc.popToolsAndMerge( TileBadChanToolCfg(flags) )
40  tileCellNoiseFilter.TileBadChanTool = badChanTool
41 
42  acc.setPrivateTools( tileCellNoiseFilter )
43 
44  return acc
45 
46 
47 if __name__ == "__main__":
48 
49  from AthenaConfiguration.AllConfigFlags import initConfigFlags
50  from AthenaConfiguration.TestDefaults import defaultGeometryTags, defaultTestFiles
51  from AthenaCommon.Logging import log
52  from AthenaCommon.Constants import DEBUG
53 
54  # Test setup
55  log.setLevel(DEBUG)
56 
57  flags = initConfigFlags()
58  flags.Input.Files = defaultTestFiles.RAW_RUN2
59  flags.GeoModel.AtlasVersion = defaultGeometryTags.RUN2
60  flags.Tile.RunType = TileRunType.PHY
61  flags.Tile.NoiseFilter = 111
62  flags.fillFromArgs()
63  flags.lock()
64 
66 
67  print( acc.popToolsAndMerge( TileCellNoiseFilterCfg(flags) ) )
68 
69  flags.dump()
70  acc.printConfig(withDetails = True, summariseProps = True)
71  acc.store( open('TileCellNoiseFilter.pkl','wb') )
TileCellNoiseFilterConfig.TileCellNoiseFilterCfg
def TileCellNoiseFilterCfg(flags, **kwargs)
Definition: TileCellNoiseFilterConfig.py:9
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.TileBadChannelsConfig.TileBadChanToolCfg
def TileBadChanToolCfg(flags, **kwargs)
Definition: TileBadChannelsConfig.py:83
python.CaloNoiseCondAlgConfig.CaloNoiseCondAlgCfg
def CaloNoiseCondAlgCfg(flags, noisetype="totalNoise")
Definition: CaloNoiseCondAlgConfig.py:11
Constants
some useful constants -------------------------------------------------—
TileCellNoiseFilter
This tool subtracts common-mode noise from all TileCells.
Definition: TileCellNoiseFilter.h:38
python.TileEMScaleConfig.TileEMScaleCondAlgCfg
def TileEMScaleCondAlgCfg(flags, **kwargs)
Definition: TileEMScaleConfig.py:10
Trk::open
@ open
Definition: BinningType.h:40
python.TileSampleNoiseConfig.TileSampleNoiseCondAlgCfg
def TileSampleNoiseCondAlgCfg(flags, **kwargs)
Definition: TileSampleNoiseConfig.py:8
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19
Muon::print
std::string print(const MuPatSegment &)
Definition: MuonTrackSteering.cxx:28
TileGMConfig.TileGMCfg
def TileGMCfg(flags)
Definition: TileGMConfig.py:7