Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
CaloRecoConfig.py
Go to the documentation of this file.
1 #!/usr/bin/env athena.py
2 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 
4 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
5 from AthenaConfiguration.ComponentFactory import CompFactory
6 from AthenaConfiguration.Enums import Format
7 
8 
9 def CaloRecoCfg(flags, clustersname=None):
10  result = ComponentAccumulator()
11  if flags.Input.Format is Format.BS:
12  #Data-case: Schedule ByteStream reading for LAr & Tile
13  from LArByteStream.LArRawDataReadingConfig import LArRawDataReadingCfg
14  result.merge(LArRawDataReadingCfg(flags))
15 
16  from TileByteStream.TileByteStreamConfig import TileRawDataReadingCfg
17  result.merge( TileRawDataReadingCfg(flags) )
18 
19  if flags.Output.doWriteESD:
20  from TileRecAlgs.TileDigitsFilterConfig import TileDigitsFilterOutputCfg
21  result.merge(TileDigitsFilterOutputCfg(flags))
22  else: #Mostly for wrapping in RecExCommon
23  from TileRecAlgs.TileDigitsFilterConfig import TileDigitsFilterCfg
24  result.merge(TileDigitsFilterCfg(flags))
25 
26  from LArROD.LArRawChannelBuilderAlgConfig import LArRawChannelBuilderAlgCfg
27  result.merge(LArRawChannelBuilderAlgCfg(flags))
28 
29  from TileRecUtils.TileRawChannelMakerConfig import TileRawChannelMakerCfg
30  result.merge(TileRawChannelMakerCfg(flags))
31 
32  if not flags.Input.isMC and not flags.Common.isOnline:
33  from LArCellRec.LArTimeVetoAlgConfig import LArTimeVetoAlgCfg
34  result.merge(LArTimeVetoAlgCfg(flags))
35 
36  if not flags.Input.isMC and not flags.Overlay.DataOverlay:
37  from LArROD.LArFebErrorSummaryMakerConfig import LArFebErrorSummaryMakerCfg
38  result.merge(LArFebErrorSummaryMakerCfg(flags))
39 
40 
41  #Configure cell-building
42  from CaloRec.CaloCellMakerConfig import CaloCellMakerCfg
43  result.merge(CaloCellMakerCfg(flags))
44 
45  #Configure topo-cluster builder
46  from CaloRec.CaloTopoClusterConfig import CaloTopoClusterCfg
47  result.merge(CaloTopoClusterCfg(flags, clustersname=clustersname))
48 
49  #Configure forward towers:
50  from CaloRec.CaloFwdTopoTowerConfig import CaloFwdTopoTowerCfg
51  result.merge(CaloFwdTopoTowerCfg(flags,CaloTopoClusterContainerKey="CaloCalTopoClusters"))
52 
53  #Configure NoisyROSummary
54  from LArCellRec.LArNoisyROSummaryConfig import LArNoisyROSummaryCfg
55  result.merge(LArNoisyROSummaryCfg(flags))
56 
57  #Configure TileLookForMuAlg
58  from TileMuId.TileMuIdConfig import TileLookForMuAlgCfg
59  result.merge(TileLookForMuAlgCfg(flags))
60 
61  if not flags.Input.isMC and not flags.Overlay.DataOverlay:
62  #Configure LArDigitsThinner:
63  from LArROD.LArDigitThinnerConfig import LArDigitThinnerCfg
64  result.merge(LArDigitThinnerCfg(flags))
65 
66  #Configure MBTSTimeDiff
67  #Clients are BackgroundWordFiller and (deprecated?) DQTBackgroundMonTool
68  #Consider moving to BackgroundWordFiller config
69  if flags.Detector.GeometryMBTS:
70  from TileRecAlgs.MBTSTimeDiffEventInfoAlgConfig import MBTSTimeDiffEventInfoAlgCfg
71  result.merge(MBTSTimeDiffEventInfoAlgCfg(flags))
72 
73  # Optional: AOD Cell, rawCh, digits thinning, based on clusters, for XTalk studies
74  if flags.Calo.TopoCluster.xtalkInfoDumper and not flags.Overlay.DataOverlay:
75  from LArClusterCellDumper.CaloThinCellsInAODAlgConfig import CaloThinCellsInAODAlgCfg
76  result.merge(CaloThinCellsInAODAlgCfg(flags))
77  if not flags.HeavyIon.Egamma.doSubtractedClusters:
78  #Configure AOD Cell-Thinning based on samplings:
79  from CaloRec.CaloThinCellsBySamplingAlgConfig import CaloThinCellsBySamplingAlgCfg
80  result.merge(CaloThinCellsBySamplingAlgCfg(flags,'StreamAOD', ['TileGap3']))
81 
82  return result
83 
84 
86  result = ComponentAccumulator()
87 
88  result.addEventAlgo(CompFactory.DumpLArRawChannels(LArRawChannelContainerName="LArRawChannels_FromDigits"))
89  result.addEventAlgo(CompFactory.CaloCellDumper())
90 
91  ClusterDumper = CompFactory.ClusterDumper
92  result.addEventAlgo(ClusterDumper("TopoDumper", ContainerName="CaloCalTopoClusters", FileName="TopoCluster.txt"))
93  result.addEventAlgo(ClusterDumper("FwdTopoDumper", ContainerName="CaloCalFwdTopoTowers", FileName="FwdTopoCluster.txt"))
94 
95  return result
96 
97 # Run with python -m CaloRec.CaloRecoConfig
98 def CaloRecoConfigTest(flags=None):
99 
100  if flags is None:
101  from AthenaConfiguration.AllConfigFlags import initConfigFlags
102  flags = initConfigFlags()
103 
104  from AthenaConfiguration.TestDefaults import defaultGeometryTags,defaultConditionsTags,defaultTestFiles
105  flags.Input.Files = defaultTestFiles.RAW_RUN3_DATA24
106  flags.IOVDb.GlobalTag = defaultConditionsTags.RUN3_DATA
107  flags.GeoModel.AtlasVersion = defaultGeometryTags.RUN3
108 
109  from AthenaCommon.Constants import DEBUG,INFO
110  from AthenaCommon.Logging import log
111  log.setLevel(DEBUG)
112  flags.Exec.OutputLevel=INFO
113 
114  flags.Exec.MaxEvents=10
115  flags.fillFromArgs()
116  flags.lock()
117 
118  from AthenaConfiguration.MainServicesConfig import MainServicesCfg
119  acc = MainServicesCfg(flags)
120 
121  acc.merge(CaloRecoCfg(flags))
122 
123  CaloCellDumper = CompFactory.CaloCellDumper
124  acc.addEventAlgo(CaloCellDumper(),sequenceName="AthAlgSeq")
125 
126  ClusterDumper = CompFactory.ClusterDumper
127  acc.addEventAlgo(ClusterDumper("TopoDumper",ContainerName="CaloCalTopoClusters",FileName="TopoCluster.txt"),sequenceName="AthAlgSeq")
128 
129  f = open("CaloRec.pkl","wb")
130  acc.store(f)
131  f.close()
132 
133  acc.run()
134 
135 if __name__=="__main__":
136  from AthenaConfiguration.AllConfigFlags import initConfigFlags
137  from AthenaCommon.Logging import log
138  from AthenaCommon.Constants import DEBUG
139  from AthenaConfiguration.TestDefaults import defaultGeometryTags,defaultConditionsTags,defaultTestFiles
140  log.setLevel(DEBUG)
141  flags = initConfigFlags()
142  flags.Input.Files = (defaultTestFiles.RAW_RUN3)
143  flags.IOVDb.GlobalTag = defaultConditionsTags.RUN3_DATA
144  flags.GeoModel.AtlasVersion=defaultGeometryTags.RUN3
145  CaloRecoConfigTest(flags)
python.CaloRecoConfig.CaloRecoDebuggingCfg
def CaloRecoDebuggingCfg(flags)
Definition: CaloRecoConfig.py:85
TileDigitsFilterConfig.TileDigitsFilterOutputCfg
def TileDigitsFilterOutputCfg(flags, streamName='ESD', **kwargs)
Definition: TileDigitsFilterConfig.py:31
python.CaloRecoConfig.CaloRecoCfg
def CaloRecoCfg(flags, clustersname=None)
Definition: CaloRecoConfig.py:9
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.CaloFwdTopoTowerConfig.CaloFwdTopoTowerCfg
def CaloFwdTopoTowerCfg(flags, **kwargs)
Definition: CaloFwdTopoTowerConfig.py:7
python.LArRawDataReadingConfig.LArRawDataReadingCfg
def LArRawDataReadingCfg(flags, **kwargs)
Definition: LArRawDataReadingConfig.py:11
ClusterDumper
Definition: ClusterDumper.h:22
python.LArRawChannelBuilderAlgConfig.LArRawChannelBuilderAlgCfg
def LArRawChannelBuilderAlgCfg(flags, **kwargs)
Definition: LArRawChannelBuilderAlgConfig.py:9
python.CaloCellMakerConfig.CaloCellMakerCfg
def CaloCellMakerCfg(flags)
Definition: CaloCellMakerConfig.py:12
python.LArDigitThinnerConfig.LArDigitThinnerCfg
def LArDigitThinnerCfg(flags, **kwargs)
Definition: LArDigitThinnerConfig.py:12
TileDigitsFilterConfig.TileDigitsFilterCfg
def TileDigitsFilterCfg(flags, **kwargs)
Definition: TileDigitsFilterConfig.py:9
CaloThinCellsInAODAlgConfig.CaloThinCellsInAODAlgCfg
def CaloThinCellsInAODAlgCfg(flags, **kwargs)
Definition: CaloThinCellsInAODAlgConfig.py:12
python.LArFebErrorSummaryMakerConfig.LArFebErrorSummaryMakerCfg
def LArFebErrorSummaryMakerCfg(flags)
Definition: LArFebErrorSummaryMakerConfig.py:7
python.MainServicesConfig.MainServicesCfg
def MainServicesCfg(flags, LoopMgr='AthenaEventLoopMgr')
Definition: MainServicesConfig.py:262
Constants
some useful constants -------------------------------------------------—
LArTimeVetoAlgConfig.LArTimeVetoAlgCfg
def LArTimeVetoAlgCfg(flags)
Definition: LArTimeVetoAlgConfig.py:7
python.CaloTopoClusterConfig.CaloTopoClusterCfg
def CaloTopoClusterCfg(flags, cellsname="AllCalo", clustersname=None, clustersnapname="CaloTopoClusters")
Definition: CaloTopoClusterConfig.py:318
CaloCellDumper
Definition: CaloCellDumper.h:15
Trk::open
@ open
Definition: BinningType.h:40
LArNoisyROSummaryConfig.LArNoisyROSummaryCfg
def LArNoisyROSummaryCfg(configFlags, **kwargs)
Definition: LArNoisyROSummaryConfig.py:9
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.CaloThinCellsBySamplingAlgConfig.CaloThinCellsBySamplingAlgCfg
def CaloThinCellsBySamplingAlgCfg(flags, streamName, samplings=[], cells='AllCalo')
Definition: CaloThinCellsBySamplingAlgConfig.py:11
TileMuIdConfig.TileLookForMuAlgCfg
def TileLookForMuAlgCfg(flags, **kwargs)
Definition: TileMuIdConfig.py:12
MBTSTimeDiffEventInfoAlgConfig.MBTSTimeDiffEventInfoAlgCfg
def MBTSTimeDiffEventInfoAlgCfg(flags, **kwargs)
Definition: MBTSTimeDiffEventInfoAlgConfig.py:9
python.CaloRecoConfig.CaloRecoConfigTest
def CaloRecoConfigTest(flags=None)
Definition: CaloRecoConfig.py:98