ATLAS Offline Software
CaloRetrieversConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 
3 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory import CompFactory
5 from AthenaConfiguration.Enums import Format
6 
7 
8 def LArDigitRetrieverCfg(flags, **kwargs):
9  result = ComponentAccumulator()
10  the_tool = CompFactory.JiveXML.LArDigitRetriever(
11  name="LArDigitRetriever",
12  DoLArDigit=False,
13  DoHECDigit=False,
14  DoFCalDigit=False,
15  )
16  result.addPublicTool(the_tool, primary=True)
17  return result
18 
19 
20 def CaloFCalRetrieverCfg(flags, **kwargs):
21  result = ComponentAccumulator()
22  the_tool = CompFactory.JiveXML.CaloFCalRetriever(
23  name="CaloFCalRetriever",
24  DoFCalCellDetails=False,
25  DoBadFCal=False,
26  )
27  result.addPublicTool(the_tool, primary=True)
28  return result
29 
30 
31 def CaloLArRetrieverCfg(flags, **kwargs):
32  result = ComponentAccumulator()
33  the_tool = CompFactory.JiveXML.CaloLArRetriever(
34  name="CaloLArRetriever",
35  DoLArCellDetails=False,
36  DoBadLAr=False,
37  LArlCellThreshold = 500 if flags.OnlineEventDisplays.BeamSplashMode else 50,
38  )
39  result.addPublicTool(the_tool, primary=True)
40  return result
41 
42 
43 def CaloHECRetrieverCfg(flags, **kwargs):
44  result = ComponentAccumulator()
45  the_tool = CompFactory.JiveXML.CaloHECRetriever(
46  name="CaloHECRetriever",
47  DoHECCellDetails=False,
48  DoBadHEC=False,
49  HEClCellThreshold = 500 if flags.OnlineEventDisplays.BeamSplashMode else 50,
50  )
51  result.addPublicTool(the_tool, primary=True)
52  return result
53 
54 
55 def CaloClusterRetrieverCfg(flags, **kwargs):
56  result = ComponentAccumulator()
57  the_tool = CompFactory.JiveXML.CaloClusterRetriever(name = "CaloClusterRetriever",**kwargs)
58  result.addPublicTool(the_tool, primary=True)
59  return result
60 
61 
62 def CaloTileRetrieverCfg(flags, **kwargs):
63  result = ComponentAccumulator()
64 
65  if flags.Input.Format is Format.BS:
66  tileDigitsContainer = "TileDigitsCnt"
67 
68  if flags.Tile.doOpt2:
69  tileRawChannelContainer = 'TileRawChannelOpt2'
70  elif flags.Tile.doOptATLAS:
71  tileRawChannelContainer = 'TileRawChannelFixed'
72  elif flags.Tile.doFitCOOL:
73  tileRawChannelContainer = 'TileRawChannelFitCool'
74  elif flags.Tile.doFit:
75  tileRawChannelContainer = 'TileRawChannelFit'
76  else:
77  tileRawChannelContainer = 'TileRawChannelCnt'
78 
79  else:
80  if "TileDigitsCnt" in flags.Input.Collections:
81  tileDigitsContainer = "TileDigitsCnt"
82  elif "TileDigitsFlt" in flags.Input.Collections:
83  tileDigitsContainer = "TileDigitsFlt"
84 
85  if "TileRawChannelOpt2" in flags.Input.Collections:
86  tileRawChannelContainer = 'TileRawChannelOpt2'
87  elif "TileRawChannelFitCool" in flags.Input.Collections:
88  tileRawChannelContainer = 'TileRawChannelFitCool'
89  elif "TileRawChannelFit" in flags.Input.Collections:
90  tileRawChannelContainer = 'TileRawChannelFit'
91  elif "TileRawChannelCnt" in flags.Input.Collections:
92  tileRawChannelContainer = 'TileRawChannelCnt'
93 
94  the_tool = CompFactory.JiveXML.CaloTileRetriever(
95  name = "CaloTileRetriever",
96  TileDigitsContainer = tileDigitsContainer,
97  TileRawChannelContainer = tileRawChannelContainer,
98  DoTileCellDetails = False,
99  DoTileDigit = False,
100  DoBadTile = False,
101  )
102  result.addPublicTool(the_tool, primary=True)
103  return result
104 
105 
106 def CaloMBTSRetrieverCfg(flags, **kwargs):
107  result = ComponentAccumulator()
108 
109  if flags.Input.Format is Format.BS:
110  tileDigitsContainer = "TileDigitsCnt"
111 
112  if flags.Tile.doOpt2:
113  tileRawChannelContainer = 'TileRawChannelOpt2'
114  elif flags.Tile.doOptATLAS:
115  tileRawChannelContainer = 'TileRawChannelFixed'
116  elif flags.Tile.doFitCOOL:
117  tileRawChannelContainer = 'TileRawChannelFitCool'
118  elif flags.Tile.doFit:
119  tileRawChannelContainer = 'TileRawChannelFit'
120  else:
121  tileRawChannelContainer = 'TileRawChannelCnt'
122 
123  else:
124  if "TileDigitsCnt" in flags.Input.Collections:
125  tileDigitsContainer = "TileDigitsCnt"
126  elif "TileDigitsFlt" in flags.Input.Collections:
127  tileDigitsContainer = "TileDigitsFlt"
128 
129  if "TileRawChannelOpt2" in flags.Input.Collections:
130  tileRawChannelContainer = 'TileRawChannelOpt2'
131  elif "TileRawChannelFitCool" in flags.Input.Collections:
132  tileRawChannelContainer = 'TileRawChannelFitCool'
133  elif "TileRawChannelFit" in flags.Input.Collections:
134  tileRawChannelContainer = 'TileRawChannelFit'
135  elif "TileRawChannelCnt" in flags.Input.Collections:
136  tileRawChannelContainer = 'TileRawChannelCnt'
137 
138  the_tool = CompFactory.JiveXML.CaloMBTSRetriever(
139  name = "CaloMBTSRetriever",
140  TileDigitsContainer= tileDigitsContainer,
141  TileRawChannelContainer = tileRawChannelContainer,
142  DoMBTSDigits = False,
143  )
144  result.addPublicTool(the_tool, primary=True)
145  return result
146 
147 
148 def CaloRetrieversCfg(flags, **kwargs):
149  result = ComponentAccumulator()
150  from LArRecUtils.LArADC2MeVCondAlgConfig import LArADC2MeVCondAlgCfg
151  result.merge(LArADC2MeVCondAlgCfg (flags))
152 
153  from CaloJiveXML.CaloJiveXMLConf import JiveXML__LArDigitRetriever
154  theLArDigitRetriever = JiveXML__LArDigitRetriever(name="LArDigitRetriever")
155  theLArDigitRetriever.DoLArDigit = False
156  theLArDigitRetriever.DoHECDigit = False
157  theLArDigitRetriever.DoFCalDigit = False
158 
159  tools = []
160 
161  if (theLArDigitRetriever.DoLArDigit or theLArDigitRetriever.DoHECDigit or theLArDigitRetriever.DoFCalDigit):
162  tools += [result.getPrimaryAndMerge(LArDigitRetrieverCfg(flags))]
163  else:
164  tools += [result.getPrimaryAndMerge(CaloFCalRetrieverCfg(flags))]
165  tools += [result.getPrimaryAndMerge(CaloLArRetrieverCfg(flags))]
166  tools += [result.getPrimaryAndMerge(CaloHECRetrieverCfg(flags))]
167 
168  tools += [result.getPrimaryAndMerge(CaloClusterRetrieverCfg(flags))]
169  tools += [result.getPrimaryAndMerge(CaloTileRetrieverCfg(flags))]
170  tools += [result.getPrimaryAndMerge(CaloMBTSRetrieverCfg(flags))]
171 
172  return result, tools
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
CaloRetrieversConfig.CaloFCalRetrieverCfg
def CaloFCalRetrieverCfg(flags, **kwargs)
Definition: CaloRetrieversConfig.py:20
CaloRetrieversConfig.CaloMBTSRetrieverCfg
def CaloMBTSRetrieverCfg(flags, **kwargs)
Definition: CaloRetrieversConfig.py:106
CaloRetrieversConfig.CaloTileRetrieverCfg
def CaloTileRetrieverCfg(flags, **kwargs)
Definition: CaloRetrieversConfig.py:62
CaloRetrieversConfig.LArDigitRetrieverCfg
def LArDigitRetrieverCfg(flags, **kwargs)
Definition: CaloRetrieversConfig.py:8
CaloRetrieversConfig.CaloHECRetrieverCfg
def CaloHECRetrieverCfg(flags, **kwargs)
Definition: CaloRetrieversConfig.py:43
CaloRetrieversConfig.CaloRetrieversCfg
def CaloRetrieversCfg(flags, **kwargs)
Definition: CaloRetrieversConfig.py:148
CaloRetrieversConfig.CaloClusterRetrieverCfg
def CaloClusterRetrieverCfg(flags, **kwargs)
Definition: CaloRetrieversConfig.py:55
CaloRetrieversConfig.CaloLArRetrieverCfg
def CaloLArRetrieverCfg(flags, **kwargs)
Definition: CaloRetrieversConfig.py:31