ATLAS Offline Software
Loading...
Searching...
No Matches
TrigCaloRecConfig Namespace Reference

Functions

 trigCaloClusterMonitoringTool (flags, doMonCells=False, isFullScan=None)
 hltCaloGlobalCellMakerCfg (flags, name="HLTCaloGlobalCellMaker", **kwargs)
 hltCaloGlobalCellMonitorCfg (flags, name="HLTCaloGlobalCellMonitor", **kwargs)
 hltCaloCellMakerCfg (flags, name=None, roisKey='UNSPECIFIED', CellsName=None, monitorCells=False, doTau=False, sequenceName=None)
 hltCaloCellCorrectorCfg (flags, name='HLTCaloCellCorrector', inputEDM='CellsClusters', outputEDM='CorrectedCellsClusters', eventShape='HIEventShape')
 hltCaloCellSeedlessMakerCfg (flags, roisKey='UNSPECIFIED', sequenceName=None)
 L0CaloGlobalRoIBuilderCfg (flags, DoNoiseThrRings=True)
 CaloL0RingerPreCfg (flags, DoNoiseThrRings=True)
 CaloL0RingerPrepareList (DoNoiseThrRings=True)
 CaloL0RingerCfg (flags, DoNoiseThrRings=True)
 hltCaloLocalCalib (flags, name="TrigLocalCalib")
 hltCaloOOCalib (flags, name="TrigOOCCalib")
 hltCaloOOCPi0Calib (flags, name="TrigOOCPi0Calib")
 hltCaloDMCalib (flags, name="TrigDMCalib")
 hltTopoClusterMakerCfg (flags, name, clustersKey="HLT_TopoCaloClustersFS", cellsKey=None, doLC=False, suffix='')
 hltCaloTopoClusterCalibratorCfg (flags, name, clustersin, clustersout, **kwargs)
 hltCaloTopoClusteringCfg (flags, namePrefix=None, nameSuffix=None, CellsName=None, monitorCells=False, roisKey="UNSPECIFIED", clustersKey=None, doLCFS=False, doTau=False)
 egammaTopoClusteringCfg (flags, RoIs)
 EgammaSpecific TopoClustering####################################.
 egammaTopoClusteringCfg_LRT (flags, RoIs)
 jetmetTopoClusteringCfg (flags, RoIs)
 JetMetSpecific TopoClustering####################################.
 jetmetTopoClusteringCfg_LC (flags, RoIs)
 tauTopoClusteringCfg (flags, RoIs)
 TauSpecific TopoClustering####################################.
 hltCaloTopoClusteringHICfg (flags, CellsName=None, roisKey="UNSPECIFIED", doLC=False, algSuffix='HIRoI', ion=True)
 hltHICaloTowerMakerCfg (flags, name, towersKey, cellsKey="CaloCellsFS", RoIs="")
 hltHICaloClusterMakerCfg (flags, name, towersKey, cellsKey, clustersKey)
 HICaloTowerCfg (flags)

Variables

 mlog = logging.getLogger ('TrigCaloRecConfig')
 flags = initConfigFlags()
 Files
 AtlasVersion
 GlobalTag
 isOnline
list outputContainers
 ESDFileName
 cfg = MainServicesCfg(flags)
 ROD2ROBmap
 storeGateSvc = cfg.getService("StoreGateSvc")
 Dump
 theL0CaloGlobalRoIBuilderCfg = L0CaloGlobalRoIBuilderCfg(flags)
 parentName
list CAs
 withDetails
 True
 summariseProps

Function Documentation

◆ CaloL0RingerCfg()

CaloL0RingerCfg ( flags,
DoNoiseThrRings = True )

Definition at line 202 of file TrigCaloRecConfig.py.

202def CaloL0RingerCfg(flags,DoNoiseThrRings=True):
203 from OutputStreamAthenaPool.OutputStreamConfig import addToESD,addToAOD
204 extraContent=CaloL0RingerPrepareList(DoNoiseThrRings)
205 acc = ComponentAccumulator()
206 from AthenaCommon.CFElements import parOR
207 if (flags.Output.doWriteRDO):
208 sequencerName = "L1GlobalSimSeq" if flags.Trigger.L1.doGlobal else "HLTBeginSeq"
209 accSeq = ComponentAccumulator(parOR(sequencerName))
210 accSeq.merge(hltCaloCellSeedlessMakerCfg(flags, roisKey=''), sequenceName=sequencerName)
211 accSeq.merge(L0CaloGlobalRoIBuilderCfg(flags,DoNoiseThrRings=DoNoiseThrRings))
212 acc.merge(accSeq)
213
214 if (flags.Output.doWriteESD or flags.Output.doWriteAOD):
215 if ( flags.Output.doWriteESD ):
216 acc.merge(addToESD(flags, extraContent))
217 if ( flags.Output.doWriteAOD ):
218 acc.merge(addToAOD(flags, extraContent))
219 return acc
220
221
222

◆ CaloL0RingerPreCfg()

CaloL0RingerPreCfg ( flags,
DoNoiseThrRings = True )

Definition at line 191 of file TrigCaloRecConfig.py.

191def CaloL0RingerPreCfg(flags,DoNoiseThrRings=True):
192 flags.Trigger.ExtraEDMList+= CaloL0RingerPrepareList(DoNoiseThrRings)
193

◆ CaloL0RingerPrepareList()

CaloL0RingerPrepareList ( DoNoiseThrRings = True)

Definition at line 194 of file TrigCaloRecConfig.py.

194def CaloL0RingerPrepareList(DoNoiseThrRings=True):
195 extraEDMList=[]
196 if DoNoiseThrRings :
197 extraEDMList+=[('xAOD::TrigRingerRingsContainer#Ringer2sigGlobal', 'BS ESD AODFULL', 'Calo'), ('xAOD::TrigRingerRingsAuxContainer#Ringer2sigGlobalAux.', 'BS ESD AODFULL', 'Calo'), ('xAOD::TrigEMClusterContainer#CaloClusters2sigGlobal', 'BS ESD AODFULL', 'Calo'), ('xAOD::TrigEMClusterAuxContainer#CaloClusters2sigGlobalAux.', 'BS ESD AODFULL', 'Calo')]
198 else :
199 extraEDMList+=[('xAOD::TrigRingerRingsContainer#RingerGlobal', 'BS ESD AODFULL', 'Calo'), ('xAOD::TrigRingerRingsAuxContainer#RingerGlobalAux.', 'BS ESD AODFULL', 'Calo'), ('xAOD::TrigEMClusterContainer#CaloClustersGlobal', 'BS ESD AODFULL', 'Calo'), ('xAOD::TrigEMClusterAuxContainer#CaloClustersGlobalAux.', 'BS ESD AODFULL', 'Calo')]
200 return extraEDMList
201

◆ egammaTopoClusteringCfg()

egammaTopoClusteringCfg ( flags,
RoIs )

EgammaSpecific TopoClustering####################################.

Definition at line 478 of file TrigCaloRecConfig.py.

478def egammaTopoClusteringCfg(flags, RoIs):
479 cfg = hltCaloTopoClusteringCfg(flags, namePrefix="", nameSuffix="RoI", CellsName="CaloCells", monitorCells=True, roisKey=RoIs)
480 return cfg
481
482
483@AccumulatorCache

◆ egammaTopoClusteringCfg_LRT()

egammaTopoClusteringCfg_LRT ( flags,
RoIs )

Definition at line 484 of file TrigCaloRecConfig.py.

484def egammaTopoClusteringCfg_LRT(flags, RoIs):
485 TrigEgammaKeys_LRT = getTrigEgammaKeys(flags, name = '_LRT')
486 cfg = hltCaloTopoClusteringCfg(flags, namePrefix="", nameSuffix="RoI_LRT", CellsName="CaloCells", monitorCells=True, roisKey=RoIs, clustersKey= TrigEgammaKeys_LRT.precisionTopoClusterContainer)
487 return cfg
488
489

◆ HICaloTowerCfg()

HICaloTowerCfg ( flags)
Create the towers for heavy ion 

Definition at line 574 of file TrigCaloRecConfig.py.

574def HICaloTowerCfg(flags):
575 """ Create the towers for heavy ion """
576 acc = ComponentAccumulator()
577 acc.merge(
578 hltCaloCellMakerCfg(flags, "HLTCaloCellMakerFS", roisKey='')
579 )
580 # Then build the towers
581 acc.merge(
582 hltHICaloTowerMakerCfg(
583 flags,
584 "HLTHICaloTowerMakerFS",
585 towersKey=fs_towers,
586 cellsKey=fs_cells,
587 )
588 )
589 # Then build the clusters
590 acc.merge(
591 hltHICaloClusterMakerCfg(
592 flags,
593 "HLTHICaloClusterMakerFS",
594 towersKey=fs_towers,
595 cellsKey=fs_cells,
596 clustersKey = "HLT_HICaloClustersFS"
597 )
598 )
599
600 return acc
601
602

◆ hltCaloCellCorrectorCfg()

hltCaloCellCorrectorCfg ( flags,
name = 'HLTCaloCellCorrector',
inputEDM = 'CellsClusters',
outputEDM = 'CorrectedCellsClusters',
eventShape = 'HIEventShape' )

Definition at line 135 of file TrigCaloRecConfig.py.

135def hltCaloCellCorrectorCfg(flags,name='HLTCaloCellCorrector', inputEDM='CellsClusters', outputEDM='CorrectedCellsClusters', eventShape='HIEventShape'):
136 acc = ComponentAccumulator()
137 cellCorrector = CompFactory.HLTCaloCellCorrector(name = name,
138 EventShapeCollection = eventShape,
139 InputCellKey = inputEDM,
140 OutputCellKey = outputEDM)
141 acc.addEventAlgo(cellCorrector)
142 return acc
143
144
145@AccumulatorCache

◆ hltCaloCellMakerCfg()

hltCaloCellMakerCfg ( flags,
name = None,
roisKey = 'UNSPECIFIED',
CellsName = None,
monitorCells = False,
doTau = False,
sequenceName = None )

Definition at line 94 of file TrigCaloRecConfig.py.

94def hltCaloCellMakerCfg(flags, name=None, roisKey='UNSPECIFIED', CellsName=None, monitorCells=False, doTau=False,sequenceName=None):
95 acc = ComponentAccumulator()
96 from TrigT2CaloCommon.TrigCaloDataAccessConfig import trigCaloDataAccessSvcCfg, CaloDataAccessSvcDependencies
97 acc.merge(trigCaloDataAccessSvcCfg(flags))
98 #choose RoI for fullscan
99 if (roisKey == 'UNSPECIFIED'):
100 from HLTSeeding.HLTSeedingConfig import mapThresholdToL1RoICollection
101 roisKey = mapThresholdToL1RoICollection("FSNOSEED")
102 # choose cells name given parameters
103 cellsFromName = 'CaloCellsFS' if "FS" in name else "CaloCells"
104 cells = cellsFromName if CellsName is None else CellsName
105
106 from AthenaMonitoringKernel.GenericMonitoringTool import GenericMonitoringTool
107 monTool = GenericMonitoringTool(flags, 'MonTool')
108 monTool.defineHistogram('Cells_N', path='EXPERT', type='TH1F', title="Cells N; NCells; events",
109 xbins=40, xmin=0, xmax=1600 if monitorCells else 240000)
110 monTool.defineHistogram('TIME_exec', path='EXPERT', type='TH1F', title="Cells time; time [ us ] ; Nruns",
111 xbins=80, xmin=0, xmax=800 if monitorCells else 160000)
112 if monitorCells:
113 monTool.defineHistogram('Cells_eT', path='EXPERT', type='TH1F', title="Cells E_T; E_T [ GeV ] ; Nclusters",
114 xbins=100, xmin=0.0, xmax=100.0)
115 monTool.defineHistogram('Cells_eta', path='EXPERT', type='TH1F', title="Cells #eta; #eta ; Nclusters",
116 xbins=100, xmin=-2.5, xmax=2.5)
117 monTool.defineHistogram('Cells_phi', path='EXPERT', type='TH1F', title="Cells #phi; #phi ; Nclusters",
118 xbins=128, xmin=-3.2, xmax=3.2)
119
120 if sequenceName is not None:
121 from AthenaCommon.CFElements import parOR
122 acc.merge(ComponentAccumulator(parOR(sequenceName)))
123 cellMaker = CompFactory.HLTCaloCellMaker(name,
124 CellsName = cells,
125 TrigDataAccessMT = acc.getService('TrigCaloDataAccessSvc'),
126 ExtraInputs = CaloDataAccessSvcDependencies,
127 RoIs=roisKey,
128 monitorCells = monitorCells,
129 MonTool = monTool,
130 TileCellsInROI = False if not doTau else True)
131 acc.addEventAlgo(cellMaker, primary=True,sequenceName=sequenceName)
132 return acc
133
134@AccumulatorCache

◆ hltCaloCellSeedlessMakerCfg()

hltCaloCellSeedlessMakerCfg ( flags,
roisKey = 'UNSPECIFIED',
sequenceName = None )

Definition at line 146 of file TrigCaloRecConfig.py.

146def hltCaloCellSeedlessMakerCfg(flags, roisKey='UNSPECIFIED',sequenceName=None):
147 acc = ComponentAccumulator()
148 hltCaloCellMakerAcc = hltCaloCellMakerCfg(flags, "CaloCellSeedLessFS",
149 roisKey = roisKey,
150 CellsName ="SeedLessFS",
151 monitorCells=False)
152
153 acc.merge(hltCaloCellMakerAcc,sequenceName=sequenceName)
154
155 from CaloTools.CaloNoiseCondAlgConfig import CaloNoiseCondAlgCfg
156 acc.merge(CaloNoiseCondAlgCfg(flags, noisetype="electronicNoise"))
157 acc.addCondAlgo(CompFactory.CaloNoiseSigmaDiffCondAlg())
158
159 return acc
160
161
162@AccumulatorCache

◆ hltCaloDMCalib()

hltCaloDMCalib ( flags,
name = "TrigDMCalib" )

Definition at line 257 of file TrigCaloRecConfig.py.

257def hltCaloDMCalib(flags, name = "TrigDMCalib" ):
258 localCalibTool = CompFactory.CaloLCDeadMaterialTool("TrigLCDeadMaterial",
259 HadDMCoeffKey="HadDMCoeff2", ClusterRecoStatus=0,
260 WeightModeDM=2,UseHadProbability=True)
261 tool = CompFactory.CaloClusterLocalCalib( name,
262 ClusterRecoStatus=[1, 2],
263 LocalCalibTools=[ localCalibTool ] )
264 return tool
265
266
267
268@AccumulatorCache

◆ hltCaloGlobalCellMakerCfg()

hltCaloGlobalCellMakerCfg ( flags,
name = "HLTCaloGlobalCellMaker",
** kwargs )

Definition at line 50 of file TrigCaloRecConfig.py.

50def hltCaloGlobalCellMakerCfg(flags, name="HLTCaloGlobalCellMaker", **kwargs):
51 acc = ComponentAccumulator()
52
53 kwargs.setdefault("InputCellKey", "Calo")
54 kwargs.setdefault("OutputCellKey", "OutCalo")
55 kwargs.setdefault("MaxNCellsPerFEB", 30)
56
57 from CaloTools.CaloNoiseCondAlgConfig import CaloNoiseCondAlgCfg
58 acc.merge(CaloNoiseCondAlgCfg(flags))
59
60 acc.addEventAlgo(CompFactory.HLTCaloGlobalCellMaker(name, **kwargs))
61 return(acc)
62

◆ hltCaloGlobalCellMonitorCfg()

hltCaloGlobalCellMonitorCfg ( flags,
name = "HLTCaloGlobalCellMonitor",
** kwargs )

Definition at line 63 of file TrigCaloRecConfig.py.

63def hltCaloGlobalCellMonitorCfg(flags, name="HLTCaloGlobalCellMonitor", **kwargs):
64 acc = ComponentAccumulator()
65
66 from AthenaMonitoringKernel.GenericMonitoringTool import GenericMonitoringTool
67 monTool = GenericMonitoringTool(flags, 'MonTool'+name)
68 monTool.defineHistogram('inputContSize', path='EXPERT', type='TH1F', title="InputContSize; InputContSize; events", xbins=190, xmin=0, xmax=190000)
69 monTool.defineHistogram('outputContSize', path='EXPERT', type='TH1F', title="outputContSize; outputContSize; events", xbins=200, xmin=0, xmax=20000)
70 monTool.defineHistogram('larContSize', path='EXPERT', type='TH1F', title="larContSize; larContSize; events", xbins=190, xmin=0, xmax=190000)
71 monTool.defineHistogram('larAboveSigmaContSize', path='EXPERT', type='TH1F', title="larAboveSigmaContSize; larAboveSigmaContSize; events", xbins=150, xmin=0, xmax=15000)
72 monTool.defineHistogram('CellsPerFEB', path='EXPERT', type='TH1F', title="CellsPerFEB; CellsPerFEB; counts ", xbins=128, xmin=0, xmax=128)
73 monTool.defineHistogram('FEBID,CellsPerFEB', path='EXPERT', type='TH2F', title="CellsPerFEB; CellsPerFEB; FEBID", xbins=1524, xmin=0x38000000, xmax=0x3bc60000, ybins=128, ymin=0, ymax=128)
74 monTool.defineHistogram('layer0', path='EXPERT', type='TH1F', title="layer0; layer0; counts ", xbins=128, xmin=0, xmax=128)
75 monTool.defineHistogram('layer1', path='EXPERT', type='TH1F', title="layer1; layer1; counts ", xbins=128, xmin=0, xmax=128)
76 monTool.defineHistogram('layer2', path='EXPERT', type='TH1F', title="layer2; layer2; counts ", xbins=128, xmin=0, xmax=128)
77 monTool.defineHistogram('layer3', path='EXPERT', type='TH1F', title="layer3; layer3; counts ", xbins=128, xmin=0, xmax=128)
78 monTool.defineHistogram('layer4', path='EXPERT', type='TH1F', title="layer4; layer4; counts ", xbins=128, xmin=0, xmax=128)
79 monTool.defineHistogram('layer5', path='EXPERT', type='TH1F', title="layer5; layer5; counts ", xbins=128, xmin=0, xmax=128)
80 monTool.defineHistogram('layer6', path='EXPERT', type='TH1F', title="layer6; layer6; counts ", xbins=128, xmin=0, xmax=128)
81 monTool.defineHistogram('layer7', path='EXPERT', type='TH1F', title="layer7; layer7; counts ", xbins=128, xmin=0, xmax=128)
82 monTool.defineHistogram('layerIW1', path='EXPERT', type='TH1F', title="layerIW1; layerIW1; counts ", xbins=128, xmin=0, xmax=128)
83 monTool.defineHistogram('layerIW2', path='EXPERT', type='TH1F', title="layerIW2; layerIW2; counts ", xbins=128, xmin=0, xmax=128)
84 monTool.defineHistogram('BCID,layerIW1', path='EXPERT', type='TH2F', title="BCID_vs_layerIW1; BCID; layerIW1; ", xbins=512, xmin=0, xmax=512, ybins=128, ymin=0, ymax=128)
85 monTool.defineHistogram('BCID,layerIW2', path='EXPERT', type='TH2F', title="BCID_vs_layerIW2; BCID; layerIW2;", xbins=512, xmin=0, xmax=512, ybins=128, ymin=0, ymax=128)
86 kwargs.setdefault("MonitoringTool", monTool)
87
88 kwargs.setdefault("MaxNCellsPerFEB", 128 )
89 kwargs.setdefault("NumberOfSigma", 2)
90 acc.addEventAlgo(CompFactory.HLTCaloGlobalCellMonitor(name, **kwargs))
91 return(acc)
92
93@AccumulatorCache

◆ hltCaloLocalCalib()

hltCaloLocalCalib ( flags,
name = "TrigLocalCalib" )

Definition at line 223 of file TrigCaloRecConfig.py.

223def hltCaloLocalCalib(flags, name = "TrigLocalCalib"):
224 det_version_is_rome = flags.GeoModel.AtlasVersion.startswith("Rome")
225 localCalibTool = CompFactory.CaloLCWeightTool("TrigLCWeight",
226 CorrectionKey="H1ClusterCellWeights",
227 SignalOverNoiseCut=2.0, UseHadProbability=True)
228 trigLCClassify = CompFactory.CaloLCClassificationTool("TrigLCClassify",
229 ClassificationKey="EMFracClassify",
230 UseSpread=False, MaxProbability=0.85 if det_version_is_rome else 0.5,
231 UseNormalizedEnergyDensity=not det_version_is_rome,
232 StoreClassificationProbabilityInAOD=True)
233 tool = CompFactory.CaloClusterLocalCalib( name,
234 ClusterRecoStatus=[1, 2], ClusterClassificationTool=[ trigLCClassify ],
235 LocalCalibTools=[ localCalibTool ])
236 return tool
237
238

◆ hltCaloOOCalib()

hltCaloOOCalib ( flags,
name = "TrigOOCCalib" )

Definition at line 239 of file TrigCaloRecConfig.py.

239def hltCaloOOCalib(flags, name = "TrigOOCCalib"):
240 localCalibTool = CompFactory.CaloLCOutOfClusterTool("TrigLCOut",
241 CorrectionKey="OOCCorrection",UseEmProbability=False,
242 UseHadProbability=True)
243 tool = CompFactory.CaloClusterLocalCalib( name,
244 ClusterRecoStatus=[1, 2],
245 LocalCalibTools=[ localCalibTool ] )
246 return tool
247

◆ hltCaloOOCPi0Calib()

hltCaloOOCPi0Calib ( flags,
name = "TrigOOCPi0Calib" )

Definition at line 248 of file TrigCaloRecConfig.py.

248def hltCaloOOCPi0Calib(flags, name = "TrigOOCPi0Calib" ):
249 localCalibTool = CompFactory.CaloLCOutOfClusterTool("TrigLCOutPi0",
250 CorrectionKey="OOCPi0Correction", UseEmProbability=True,
251 UseHadProbability=False)
252 tool = CompFactory.CaloClusterLocalCalib( name,
253 ClusterRecoStatus=[1, 2],
254 LocalCalibTools=[ localCalibTool ] )
255 return tool
256

◆ hltCaloTopoClusterCalibratorCfg()

hltCaloTopoClusterCalibratorCfg ( flags,
name,
clustersin,
clustersout,
** kwargs )
Create the LC calibrator 

Definition at line 370 of file TrigCaloRecConfig.py.

370def hltCaloTopoClusterCalibratorCfg(flags, name, clustersin, clustersout, **kwargs):
371 """ Create the LC calibrator """
372 from CaloTools.CaloNoiseCondAlgConfig import CaloNoiseCondAlgCfg
373
374 # We need the electronic noise for the LC weights
375 acc = ComponentAccumulator()
376 acc.merge(CaloNoiseCondAlgCfg(flags, noisetype="electronicNoise"))
377
378 from CaloRec.CaloTopoClusterConfig import caloTopoCoolFolderCfg
379 acc.merge(caloTopoCoolFolderCfg(flags))
380
381 calibrator = CompFactory.TrigCaloClusterCalibrator(
382 name, InputClusters=clustersin, OutputClusters=clustersout,
383 **kwargs
384 #OutputCellLinks = clustersout+"_cellLinks", **kwargs
385 )
386
387 calibrator.ClusterCorrectionTools = [ hltCaloLocalCalib(flags), hltCaloOOCalib(flags),
388 hltCaloOOCPi0Calib(flags), hltCaloDMCalib(flags) ]
389 #NB: Could we take these from CaloRec.CaloTopoClusterConfig.getTopoClusterLocalCalibTools?
390
391 # Monitoring
392 monTool = GenericMonitoringTool(flags, "MonTool")
393 monTool.defineHistogram('Et', path='EXPERT', type='TH1F',
394 title="Cluster E_T; E_T [ MeV ] ; Number of Clusters",
395 xbins=135, xmin=-200.0, xmax=2500.0)
396 monTool.defineHistogram('Eta', path='EXPERT', type='TH1F',
397 title="Cluster #eta; #eta ; Number of Clusters",
398 xbins=100, xmin=-2.5, xmax=2.5)
399 monTool.defineHistogram('Phi', path='EXPERT', type='TH1F',
400 title="Cluster #phi; #phi ; Number of Clusters",
401 xbins=64, xmin=-3.2, xmax=3.2)
402 monTool.defineHistogram('Eta,Phi', path='EXPERT', type='TH2F',
403 title="Number of Clusters; #eta ; #phi ; Number of Clusters",
404 xbins=100, xmin=-2.5, xmax=2.5, ybins=128, ymin=-3.2, ymax=3.2)
405 calibrator.MonTool = monTool
406
407 acc.addEventAlgo(calibrator, primary=True)
408 return acc
409

◆ hltCaloTopoClusteringCfg()

hltCaloTopoClusteringCfg ( flags,
namePrefix = None,
nameSuffix = None,
CellsName = None,
monitorCells = False,
roisKey = "UNSPECIFIED",
clustersKey = None,
doLCFS = False,
doTau = False )

Definition at line 414 of file TrigCaloRecConfig.py.

415 flags, namePrefix=None,nameSuffix=None, CellsName=None, monitorCells=False, roisKey="UNSPECIFIED",clustersKey=None, doLCFS=False, doTau = False):
416 if doTau:
417 CellsName = "CaloCellsLC"
418 clustersKeyFromName = "HLT_TopoCaloClustersLC"
419 elif nameSuffix == "FS":
420 clustersKeyFromName = em_clusters
421 else:
422 TrigEgammaKeys = getTrigEgammaKeys(flags)
423 clustersKeyFromName = TrigEgammaKeys.precisionTopoClusterContainer
424
425 clusters = clustersKeyFromName if clustersKey is None else clustersKey
426 acc = ComponentAccumulator()
427 acc.merge(
428 hltCaloCellMakerCfg(flags, namePrefix + "HLTCaloCellMaker"+nameSuffix, roisKey=roisKey, CellsName=CellsName, monitorCells=monitorCells, doTau = doTau)
429 )
430
431 clustermakername_nosuffix = namePrefix + "HLTCaloClusterMaker"
432
433 clustermakername = clustermakername_nosuffix + nameSuffix
434
435 # TODO - Don't use hasFlag here, use another concrete flag instead
436 if flags.hasFlag("CaloRecGPU.GlobalFlags.UseCaloRecGPU") and flags.CaloRecGPU.GlobalFlags.UseCaloRecGPU and "FS" in clustermakername:
437 flags = flags.cloneAndReplace("CaloRecGPU.ActiveConfig", "Trigger.CaloRecGPU.Default", True)
438 from CaloRecGPU.CaloRecGPUConfig import GPUCaloTopoClusterCfg
439
440
441 GPUKernelSvc = CompFactory.GPUKernelSizeOptimizerSvc()
442 acc.addService(GPUKernelSvc)
443
444 gpuhyb = GPUCaloTopoClusterCfg(flags,
445 True,
446 CellsName,
447 clustersname = clusters if "CaloMon" in clustermakername else recordable(clusters),
448 name = clustermakername,
449 ReallyUseGPUTools = not flags.CaloRecGPU.GlobalFlags.UseCPUToolsInstead)
450
451 acc.merge(gpuhyb)
452
453 monitorCells = "FS" in clustermakername
454
455 monitor = CompFactory.TrigCaloClusterMonitor(clustermakername_nosuffix + 'Monitoring' + nameSuffix,
456 CellsName = CellsName,
457 ClustersName = clusters,
458 MonitorCells = monitorCells,
459 MonitoringTool = trigCaloClusterMonitoringTool(flags, monitorCells))
460 acc.addEventAlgo(monitor, primary=False)
461
462 else :
463 calt=hltTopoClusterMakerCfg(flags, clustermakername_nosuffix, cellsKey=CellsName, clustersKey=clusters, doLC=doTau, suffix = nameSuffix)
464 acc.merge(calt)
465 if doLCFS:
466 acc.merge( hltCaloTopoClusterCalibratorCfg(
467 flags,
468 "HLTCaloClusterCalibratorLCFS",
469 clustersin=em_clusters,
470 clustersout=lc_clusters,
471 OutputCellLinks=lc_clusters + "_cellLinks",
472 )
473 )
474 return acc
475

◆ hltCaloTopoClusteringHICfg()

hltCaloTopoClusteringHICfg ( flags,
CellsName = None,
roisKey = "UNSPECIFIED",
doLC = False,
algSuffix = 'HIRoI',
ion = True )

Definition at line 508 of file TrigCaloRecConfig.py.

509 flags, CellsName=None, roisKey="UNSPECIFIED", doLC=False,algSuffix='HIRoI', ion=True):
510 TrigEgammaKeys = getTrigEgammaKeys(flags, ion=ion)
511 eventShape = TrigEgammaKeys.egEventShape
512 clustersKey = TrigEgammaKeys.precisionTopoClusterContainer
513 acc = ComponentAccumulator()
514 acc.merge(hltCaloCellMakerCfg(flags, "HLTCaloCellMaker"+algSuffix, roisKey=roisKey, CellsName=CellsName, monitorCells=True))
515 acc.merge(hltCaloCellCorrectorCfg(flags,name='HLTRoICaloCellCorrector', inputEDM='CaloCells', outputEDM='CorrectedRoICaloCells', eventShape=eventShape))
516 acc.merge(hltTopoClusterMakerCfg(flags, "TrigCaloClusterMaker_topo"+algSuffix, clustersKey=clustersKey,cellsKey="CorrectedRoICaloCells"))
517 return acc
518
519@AccumulatorCache

◆ hltHICaloClusterMakerCfg()

hltHICaloClusterMakerCfg ( flags,
name,
towersKey,
cellsKey,
clustersKey )
Function to equip HLT HI cluster builder from towers and cells, adds to output AOD stream

Definition at line 560 of file TrigCaloRecConfig.py.

560def hltHICaloClusterMakerCfg(flags, name, towersKey, cellsKey, clustersKey) :
561 """Function to equip HLT HI cluster builder from towers and cells, adds to output AOD stream"""
562 acc = ComponentAccumulator()
563
564
565 alg=CompFactory.HIClusterMaker(name,
566 InputTowerKey=towersKey,
567 CaloCellContainerKey=cellsKey,
568 OutputContainerKey=clustersKey
569 )
570 acc.addEventAlgo(alg, primary=True)
571 return acc
572
573@AccumulatorCache

◆ hltHICaloTowerMakerCfg()

hltHICaloTowerMakerCfg ( flags,
name,
towersKey,
cellsKey = "CaloCellsFS",
RoIs = "" )

Definition at line 520 of file TrigCaloRecConfig.py.

520def hltHICaloTowerMakerCfg(flags, name, towersKey, cellsKey="CaloCellsFS", RoIs=""):
521 acc = ComponentAccumulator()
522 larcmbtwrbldr = CompFactory.LArTowerBuilderTool("LArCmbTwrBldr",
523 CellContainerName = cellsKey,
524 IncludedCalos = [ "LAREM", "LARHEC" ]
525 )
526
527 fcalcmbtwrbldr = CompFactory.LArFCalTowerBuilderTool("FCalCmbTwrBldr",
528 CellContainerName = cellsKey,
529 MinimumEt = 0.*MeV
530 )
531
532 #input to TileTowerBuilder: cells in TILE
533 tilecmbtwrbldr = CompFactory.TileTowerBuilderTool("TileCmbTwrBldr",
534 CellContainerName = cellsKey,
535 # debugging aid, keep for convenience
536 #DumpTowers = False,
537 #DumpWeightMap = False
538 )
539
540
541
542 alg = CompFactory.TrigCaloTowerMaker(name,
543 Cells=cellsKey,
544 CaloTowers=towersKey,
545 NumberOfPhiTowers=64,
546 NumberOfEtaTowers=100,
547 EtaMin=-5.0,
548 EtaMax=5.0,
549 DeltaEta=1.2,
550 DeltaPhi=1.2,
551 RoIs=RoIs,
552 TowerMakerTools = [ tilecmbtwrbldr, larcmbtwrbldr, fcalcmbtwrbldr ]
553 )
554 from CaloTools.CaloNoiseCondAlgConfig import CaloNoiseCondAlgCfg
555 acc.merge(CaloNoiseCondAlgCfg(flags))
556 acc.addEventAlgo(alg, primary=True)
557 return acc
558
559@AccumulatorCache

◆ hltTopoClusterMakerCfg()

hltTopoClusterMakerCfg ( flags,
name,
clustersKey = "HLT_TopoCaloClustersFS",
cellsKey = None,
doLC = False,
suffix = '' )

Definition at line 269 of file TrigCaloRecConfig.py.

269def hltTopoClusterMakerCfg(flags, name, clustersKey="HLT_TopoCaloClustersFS", cellsKey=None, doLC=False, suffix=''):
270 acc = ComponentAccumulator()
271 cellsFromName = 'CaloCellsFS' if "FS" in clustersKey else "CaloCells"
272 cells = cellsFromName if cellsKey is None else cellsKey
273
274 from CaloRec.CaloTopoClusterConfig import (
275 CaloTopoClusterToolCfg,
276 CaloTopoClusterSplitterToolCfg,
277 )
278
279 topoMaker = acc.popToolsAndMerge(CaloTopoClusterToolCfg(flags, cellsname=cells))
280 topoMaker.RestrictPSNeighbors = False
281 listClusterCorrectionTools = []
282 if doLC :
283 from CaloTools.CaloNoiseCondAlgConfig import CaloNoiseCondAlgCfg
284 # We need the electronic noise for the LC weights
285 acc.merge(CaloNoiseCondAlgCfg(flags, noisetype="electronicNoise"))
286 from CaloRec.CaloTopoClusterConfig import caloTopoCoolFolderCfg
287 acc.merge(caloTopoCoolFolderCfg(flags))
288 listClusterCorrectionTools = [ hltCaloLocalCalib(flags), hltCaloOOCalib(flags),
289 hltCaloOOCPi0Calib(flags), hltCaloDMCalib(flags) ]
290
291 #timing
292 topoMaker.SeedCutsInT = flags.Trigger.Calo.TopoCluster.doTimeCut
293 topoMaker.CutOOTseed = flags.Trigger.Calo.TopoCluster.extendTimeCut and flags.Trigger.Calo.TopoCluster.doTimeCut
294 topoMaker.UseTimeCutUpperLimit = flags.Trigger.Calo.TopoCluster.useUpperLimitForTimeCut
295 topoMaker.TimeCutUpperLimit = flags.Trigger.Calo.TopoCluster.timeCutUpperLimit
296
297 topoSplitter = acc.popToolsAndMerge(CaloTopoClusterSplitterToolCfg(flags))
298
299 topoMoments = CompFactory.CaloClusterMomentsMaker ('TrigTopoMoments')
300 topoMoments.MaxAxisAngle = 20*deg
301 topoMoments.TwoGaussianNoise = flags.Calo.TopoCluster.doTwoGaussianNoise
302 topoMoments.MinBadLArQuality = 4000
303 topoMoments.MomentsNames = ['FIRST_PHI',
304 'FIRST_ETA',
305 'SECOND_R' ,
306 'SECOND_LAMBDA',
307 'DELTA_PHI',
308 'DELTA_THETA',
309 'DELTA_ALPHA' ,
310 'CENTER_X',
311 'CENTER_Y',
312 'CENTER_Z',
313 'CENTER_MAG',
314 'CENTER_LAMBDA',
315 'LATERAL',
316 'LONGITUDINAL',
317 'FIRST_ENG_DENS',
318 'ENG_FRAC_EM',
319 'ENG_FRAC_MAX',
320 'ENG_FRAC_CORE' ,
321 'FIRST_ENG_DENS',
322 'SECOND_ENG_DENS',
323 'ISOLATION',
324 'ENG_BAD_CELLS',
325 'N_BAD_CELLS',
326 'N_BAD_CELLS_CORR',
327 'BAD_CELLS_CORR_E',
328 'BADLARQ_FRAC',
329 'ENG_POS',
330 'SIGNIFICANCE',
331 'CELL_SIGNIFICANCE',
332 'CELL_SIG_SAMPLING',
333 'AVG_LAR_Q',
334 'AVG_TILE_Q'
335 ]
336
337 clustermakername = name + suffix
338 doMonCells = "FS" in clustermakername
339
340 clustersKey_final = clustersKey
341 if flags.Trigger.Calo.TopoCluster.applyClusterTimingCut:
342 clustersKey = f"{clustersKey}BeforeTimingCut"
343
344 alg = CompFactory.CaloClusterMaker(
345 clustermakername,
346 ClustersOutputName=clustersKey if "CaloMon" in clustermakername else recordable(clustersKey),
347 ClusterCellLinkOutputName = clustersKey+"_links",
348 ClusterMakerTools = [ topoMaker, topoSplitter, topoMoments],
349 ClusterCorrectionTools = listClusterCorrectionTools,
350 SaveUncalibratedSignalState = True,
351 WriteTriggerSpecificInfo = True)
352
353 if flags.Trigger.Calo.TopoCluster.applyClusterTimingCut:
354 from CaloRec.CaloTopoClusterConfig import CaloClusterTimingFilterCfg
355 acc.merge(CaloClusterTimingFilterCfg(flags, name = f"{clustersKey}Filter", InputClusters = clustersKey, OutputClusters = clustersKey_final))
356
357 from CaloTools.CaloNoiseCondAlgConfig import CaloNoiseCondAlgCfg
358 acc.merge(CaloNoiseCondAlgCfg(flags))
359 acc.addEventAlgo(alg, primary=True)
360 monitor = CompFactory.TrigCaloClusterMonitor(name + 'Monitoring' + suffix,
361 CellsName = cells,
362 ClustersName = clustersKey_final,
363 MonitorCells = doMonCells,
364 MonitoringTool = trigCaloClusterMonitoringTool(flags, doMonCells))
365 acc.addEventAlgo(monitor, primary=False)
366 return acc
367
368
369

◆ jetmetTopoClusteringCfg()

jetmetTopoClusteringCfg ( flags,
RoIs )

JetMetSpecific TopoClustering####################################.

Definition at line 492 of file TrigCaloRecConfig.py.

492def jetmetTopoClusteringCfg(flags, RoIs):
493 cfg = hltCaloTopoClusteringCfg(flags, namePrefix="", nameSuffix="FS", CellsName="CaloCellsFS", monitorCells=False, roisKey=RoIs)
494 return cfg
495
496@AccumulatorCache

◆ jetmetTopoClusteringCfg_LC()

jetmetTopoClusteringCfg_LC ( flags,
RoIs )

Definition at line 497 of file TrigCaloRecConfig.py.

497def jetmetTopoClusteringCfg_LC(flags, RoIs):
498 cfg = hltCaloTopoClusteringCfg(flags, namePrefix="", nameSuffix="FS", CellsName="CaloCellsFS", monitorCells=False, roisKey=RoIs, doLCFS=True)
499 return cfg
500

◆ L0CaloGlobalRoIBuilderCfg()

L0CaloGlobalRoIBuilderCfg ( flags,
DoNoiseThrRings = True )

Definition at line 163 of file TrigCaloRecConfig.py.

163def L0CaloGlobalRoIBuilderCfg(flags,DoNoiseThrRings=True):
164 acc = ComponentAccumulator()
165 from TrigT2CaloEgamma.TrigT2CaloEgammaConfig import RingerReFexConfig
166 nameTool='RingerGlobalFex'
167 nameAlgo='L0CaloGlobalRoIBuilder'
168 nameContCalo='CaloClustersGlobal'
169 nameContRinger='RingerGlobal'
170 if ( DoNoiseThrRings ):
171 nameTool='RingerGlobal2sigFex'
172 nameAlgo='L0CaloGlobalRoI2sigBuilder'
173 nameContCalo='CaloClusters2sigGlobal'
174 nameContRinger='Ringer2sigGlobal'
175 ringer = RingerReFexConfig(flags,name=nameTool,RingerKey='NOTNEEDED',
176 ClustersName=nameContCalo,DoNoiseThrRings=DoNoiseThrRings)
177 from AthenaCommon.CFElements import parOR
178 accSeq = ComponentAccumulator(parOR("HLTBeginSeq"))
179 L0CaloGlobalRoIBuilderAlg = CompFactory.CaloGlobalRoIBuilder(name=nameAlgo,
180 Cells ="SeedLessFS", ClustersName=nameContCalo,
181 RingerKey=nameContRinger,
182 RingerTool=ringer )
183 accSeq.addEventAlgo(L0CaloGlobalRoIBuilderAlg, sequenceName="HLTBeginSeq")
184
185 from CaloTools.CaloNoiseCondAlgConfig import CaloNoiseCondAlgCfg
186 acc.merge(CaloNoiseCondAlgCfg(flags))
187 acc.merge(accSeq)
188
189 return acc
190

◆ tauTopoClusteringCfg()

tauTopoClusteringCfg ( flags,
RoIs )

TauSpecific TopoClustering####################################.

Definition at line 503 of file TrigCaloRecConfig.py.

503def tauTopoClusteringCfg(flags, RoIs):
504 cfg = hltCaloTopoClusteringCfg(flags, namePrefix="Tau", nameSuffix="", CellsName="CaloCellsLC", monitorCells=False, roisKey=RoIs, clustersKey="HLT_TopoCaloClustersLC", doTau= True)
505 return cfg
506
507@AccumulatorCache

◆ trigCaloClusterMonitoringTool()

trigCaloClusterMonitoringTool ( flags,
doMonCells = False,
isFullScan = None )
Monitoring tool for TrigCaloClusterMaker

Definition at line 16 of file TrigCaloRecConfig.py.

16def trigCaloClusterMonitoringTool(flags, doMonCells = False, isFullScan = None):
17 """Monitoring tool for TrigCaloClusterMaker"""
18
19 monTool = GenericMonitoringTool(flags, 'MonTool')
20
21 if isFullScan is None:
22 isFullScan = doMonCells
23
24 maxNumberOfClusters = 1200 if isFullScan else 50
25
26 monTool.defineHistogram('container_size', path='EXPERT', type='TH1F', title="Container Size; Number of Clusters; Number of Events", xbins=50, xmin=0.0, xmax=maxNumberOfClusters)
27 monTool.defineHistogram('container_size_by_mu', path='EXPERT', type='TH1F', title="Container Size; Number of Clusters; Number of Events", xbins=50, xmin=0.0, xmax=maxNumberOfClusters/60)
28 monTool.defineHistogram('Et', path='EXPERT', type='TH1F', title="Cluster E_T; E_T [ MeV ] ; Number of Clusters", xbins=135, xmin=-200.0, xmax=2500.0)
29 monTool.defineHistogram('Eta', path='EXPERT', type='TH1F', title="Cluster #eta; #eta ; Number of Clusters", xbins=100, xmin=-2.5, xmax=2.5)
30 monTool.defineHistogram('Phi', path='EXPERT', type='TH1F', title="Cluster #phi; #phi ; Number of Clusters", xbins=64, xmin=-3.2, xmax=3.2)
31 monTool.defineHistogram('Eta,Phi', path='EXPERT', type='TH2F', title="Number of Clusters; #eta ; #phi ; Number of Clusters", xbins=100, xmin=-2.5, xmax=2.5, ybins=128, ymin=-3.2, ymax=3.2)
32 monTool.defineHistogram('clusterSize', path='EXPERT', type='TH1F', title="Cluster Type; Type ; Number of Clusters", xbins=13, xmin=0.5, xmax=13.5)
33 monTool.defineHistogram('signalState', path='EXPERT', type='TH1F', title="Signal State; Signal State ; Number of Clusters", xbins=4, xmin=-1.5, xmax=2.5)
34 monTool.defineHistogram('size', path='EXPERT', type='TH1F', title="Cluster Size; Size [Cells] ; Number of Clusters", xbins=125, xmin=0.0, xmax=250.0)
35 monTool.defineHistogram('N_BAD_CELLS', path='EXPERT', type='TH1F', title="N_BAD_CELLS; N_BAD_CELLS ; Number of Clusters", xbins=250, xmin=0.5, xmax=250.5)
36 monTool.defineHistogram('ENG_FRAC_MAX', path='EXPERT', type='TH1F', title="ENG_FRAC_MAX; ENG_FRAC_MAX ; Number of Clusters", xbins=50, xmin=0.0, xmax=1.1)
37 monTool.defineHistogram('mu', path='EXPERT', type='TH1F', title="mu; mu; Number of Events", xbins=50, xmin=0.0, xmax=100)
38 monTool.defineHistogram('mu,container_size', path='EXPERT', type='TH2F', title="Container Size versus #mu; #mu; cluster container size", xbins=50, xmin=20.0, xmax=70, ybins=50, ymin=0.0, ymax=maxNumberOfClusters)
39
40 if doMonCells:
41 monTool.defineHistogram('count_1thrsigma', path='EXPERT', type='TH1F', title="count_1thrsigma; count_1thresigma; Number of Events", xbins=60, xmin=0.0, xmax=12e3)
42 monTool.defineHistogram('count_2thrsigma', path='EXPERT', type='TH1F', title="count_2thrsigma; count_2thresigma; Number of Events", xbins=60, xmin=0.0, xmax=6e3)
43 monTool.defineHistogram('count_1thrsigma_by_mu2', path='EXPERT', type='TH1F', title="count_1thrsigma_by_mu2; count_1thresigma_by_mu2; Number of Events", xbins=50, xmin=0.0, xmax=10)
44 monTool.defineHistogram('count_2thrsigma_by_mu2', path='EXPERT', type='TH1F', title="count_2thrsigma_by_mu2; count_2thresigma_by_mu2; Number of Events", xbins=50, xmin=0.0, xmax=5)
45 monTool.defineHistogram('mu,count_1thrsigma', path='EXPERT', type='TH2F', title="nCells above 1st thr versus #mu; #mu; nCells", xbins=50, xmin=20.0, xmax=70, ybins=60, ymin=0.0, ymax=12e3)
46 monTool.defineHistogram('mu,count_2thrsigma', path='EXPERT', type='TH2F', title="nCells above 2nd thr versus #mu; #mu; nCells", xbins=50, xmin=20.0, xmax=70, ybins=60, ymin=0.0, ymax=6e3)
47
48 return monTool
49

Variable Documentation

◆ AtlasVersion

TrigCaloRecConfig.AtlasVersion

Definition at line 609 of file TrigCaloRecConfig.py.

◆ CAs

list TrigCaloRecConfig.CAs
Initial value:
= [hltCaloCellSeedlessMakerCfg(flags,roisKey=''),
theL0CaloGlobalRoIBuilderCfg,
hltCaloCellMakerCfg(flags, "SthFS",roisKey=''),
hltCaloGlobalCellMakerCfg(flags,InputCellKey="SeedLessFS",OutputCellKey="SeedLessFSGlobal"),
hltCaloGlobalCellMonitorCfg(flags,InputCellKey="SeedLessFSGlobal"),
hltCaloGlobalCellMonitorCfg(flags,name="HLTCaloGlobalCellMonitor1",InputCellKey="SeedLessFS"),
OutputStreamCfg(flags,flags.Output.ESDFileName,ItemList=outputContainers)]

Definition at line 646 of file TrigCaloRecConfig.py.

◆ cfg

TrigCaloRecConfig.cfg = MainServicesCfg(flags)

Definition at line 624 of file TrigCaloRecConfig.py.

◆ Dump

TrigCaloRecConfig.Dump

Definition at line 639 of file TrigCaloRecConfig.py.

◆ ESDFileName

TrigCaloRecConfig.ESDFileName

Definition at line 618 of file TrigCaloRecConfig.py.

◆ Files

TrigCaloRecConfig.Files

Definition at line 608 of file TrigCaloRecConfig.py.

◆ flags

TrigCaloRecConfig.flags = initConfigFlags()

Definition at line 607 of file TrigCaloRecConfig.py.

◆ GlobalTag

TrigCaloRecConfig.GlobalTag

Definition at line 610 of file TrigCaloRecConfig.py.

◆ isOnline

TrigCaloRecConfig.isOnline

Definition at line 611 of file TrigCaloRecConfig.py.

◆ mlog

TrigCaloRecConfig.mlog = logging.getLogger ('TrigCaloRecConfig')

Definition at line 13 of file TrigCaloRecConfig.py.

◆ outputContainers

list TrigCaloRecConfig.outputContainers
Initial value:
= ["CaloCellContainer#SeedLessFS",
"xAOD::EventInfo#EventInfo",
"xAOD::TrigEMClusterContainer#CaloClustersGlobal",
"xAOD::TrigEMClusterAuxContainer#CaloClustersGlobalAux.",
"xAOD::TrigRingerRingsContainer#RingerGlobal",
"xAOD::TrigRingerRingsAuxContainer#RingerGlobalAux."]

Definition at line 612 of file TrigCaloRecConfig.py.

◆ parentName

TrigCaloRecConfig.parentName

Definition at line 644 of file TrigCaloRecConfig.py.

◆ ROD2ROBmap

TrigCaloRecConfig.ROD2ROBmap

Definition at line 636 of file TrigCaloRecConfig.py.

◆ storeGateSvc

TrigCaloRecConfig.storeGateSvc = cfg.getService("StoreGateSvc")

Definition at line 638 of file TrigCaloRecConfig.py.

◆ summariseProps

TrigCaloRecConfig.summariseProps

Definition at line 656 of file TrigCaloRecConfig.py.

◆ theL0CaloGlobalRoIBuilderCfg

TrigCaloRecConfig.theL0CaloGlobalRoIBuilderCfg = L0CaloGlobalRoIBuilderCfg(flags)

Definition at line 640 of file TrigCaloRecConfig.py.

◆ True

TrigCaloRecConfig.True

Definition at line 656 of file TrigCaloRecConfig.py.

◆ withDetails

TrigCaloRecConfig.withDetails

Definition at line 656 of file TrigCaloRecConfig.py.