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

Functions

 SingleToolToPlot (tool_name, prefix)
 ComparedToolsToPlot (tool_ref, tool_test, prefix, match_in_energy=False, match_without_shared=False, match_perfectly=False)
 MatchingOptions (min_similarity=0.50, terminal_weight=250., grow_weight=500., seed_weight=1000.)
 BasicConstantDataExporterToolCfg (flags, name="ConstantDataExporter", **kwargs)
 BasicEventDataExporterToolCfg (flags, cellsname, name="EventDataExporter", **kwargs)
 BasicAthenaClusterImporterToolCfg (flags, cellsname, name="ClusterImporter", **kwargs)
 CPUOutputToolCfg (flags, cellsname, name="CPUOutput", **kwargs)
 GPUOutputToolCfg (flags, name="GPUOutput", **kwargs)
 ClusterInfoCalcToolCfg (flags, name="GPUClusterInfoCalculator", do_cut=True, **kwargs)
 ClusterSorterToolCfg (flags, name="GPUClusterSorter", do_cut=False, **kwargs)
 TopoAutomatonClusteringToolCfg (flags, name="TopoAutomatonClustering", **kwargs)
 DefaultTopologicalClusteringToolCfg (flags, cellsname, name="TopoClusterMaker", **kwargs)
 TopoAutomatonSplitterToolCfg (flags, name="ClusterSplitter", **kwargs)
 DefaultClusterSplittingToolCfg (flags, name="TopoSplitter", **kwargs)
 GPUClusterMomentsCalculatorToolCfg (flags, name="GPUTopoMoments", **kwargs)
 DefaultClusterMomentsCalculatorToolCfg (flags, instantiateForTrigger, name="TopoMoments", **kwargs)
 AthenaClusterAndMomentsImporterToolCfg (flags, cellsname, instantiateForTrigger, name="ClusterAndMomentsImporter", **kwargs)
 CellsCounterCPUToolCfg (flags, cellsname, name="CPUCounts", **kwargs)
 CellsCounterGPUToolCfg (flags, name="GPUCounts", **kwargs)
 PerformanceInformationOutputToolCfg (flags, cellsname, name="PerfInfoTool", **kwargs)
 MomentsDumperToolCfg (flags, name="MomentsDumper", **kwargs)
 PlotterToolCfg (flags, cellsname, name="PlotterMonitoring", **kwargs)
 DefaultCalibMomentsToolCfg (flags, name="TopoCalibMoments", **kwargs)
 DefaultTopoClusterLocalCalibToolsCfg (flags, instantiateForTrigger, prefix='')
 GPUCaloTopoClusterCfg (flags, instantiateForTrigger, cellsname, clustersname=None, clustersnapname="CaloTopoClusters", name="HybridClusterProcessor", PlotterTool=None, addAsPrimary=True, ReallyUseGPUTools=True)

Function Documentation

◆ AthenaClusterAndMomentsImporterToolCfg()

AthenaClusterAndMomentsImporterToolCfg ( flags,
cellsname,
instantiateForTrigger,
name = "ClusterAndMomentsImporter",
** kwargs )

Definition at line 304 of file CaloRecGPUConfig.py.

304def AthenaClusterAndMomentsImporterToolCfg(flags, cellsname, instantiateForTrigger, name = "ClusterAndMomentsImporter", **kwargs):
305 result=ComponentAccumulator()
306 kwargs.setdefault("CellsName", cellsname)
307
308 kwargs.setdefault("ClusterSize", flags.CaloRecGPU.ActiveConfig.ClusterSize)
309
310 kwargs.setdefault("MeasureTimes", flags.CaloRecGPU.ActiveConfig.MeasureTimes)
311 kwargs.setdefault("TimeFileOutput", name + "Times.txt")
312
313 if not flags.Common.isOnline and not instantiateForTrigger:
314 kwargs.setdefault("FillHVMoments", True)
315 if flags.Input.isMC:
316 kwargs.setdefault("HVScaleCorrKey", "LArHVScaleCorr")
317 else:
318 kwargs.setdefault("HVScaleCorrKey", "LArHVScaleCorrRecomputed")
319 else:
320 kwargs.setdefault("FillHVMoments", False)
321
322 kwargs.setdefault("MomentsNames", flags.CaloRecGPU.ActiveConfig.MomentsToCalculate)
323
324 if flags.CaloRecGPU.ActiveConfig.FillMissingCells:
325 kwargs.setdefault("MissingCellsToFill", flags.CaloRecGPU.ActiveConfig.MissingCellsToFill)
326
327 AthenaClusterImporter = CompFactory.GPUToAthenaImporterWithMoments(name, **kwargs)
328 result.setPrivateTools(AthenaClusterImporter)
329 return result
330

◆ BasicAthenaClusterImporterToolCfg()

BasicAthenaClusterImporterToolCfg ( flags,
cellsname,
name = "ClusterImporter",
** kwargs )

Definition at line 42 of file CaloRecGPUConfig.py.

42def BasicAthenaClusterImporterToolCfg(flags, cellsname, name = "ClusterImporter", **kwargs):
43 result=ComponentAccumulator()
44 kwargs.setdefault("MeasureTimes", flags.CaloRecGPU.ActiveConfig.MeasureTimes)
45 kwargs.setdefault("TimeFileOutput", name + "Times.txt")
46 kwargs.setdefault("CellsName", cellsname)
47 kwargs.setdefault("ClusterSize", flags.CaloRecGPU.ActiveConfig.ClusterSize)
48 if flags.CaloRecGPU.ActiveConfig.FillMissingCells:
49 kwargs.setdefault("MissingCellsToFill", flags.CaloRecGPU.ActiveConfig.MissingCellsToFill)
50
51 AthenaClusterImporter = CompFactory.BasicGPUToAthenaImporter(name, **kwargs)
52 result.setPrivateTools(AthenaClusterImporter)
53 return result
54

◆ BasicConstantDataExporterToolCfg()

BasicConstantDataExporterToolCfg ( flags,
name = "ConstantDataExporter",
** kwargs )

Definition at line 15 of file CaloRecGPUConfig.py.

15def BasicConstantDataExporterToolCfg(flags, name = "ConstantDataExporter", **kwargs):
16 result=ComponentAccumulator()
17
18 kwargs.setdefault("MeasureTimes", flags.CaloRecGPU.ActiveConfig.MeasureTimes)
19 kwargs.setdefault("TimeFileOutput", name + "Times.txt")
20
21 ConstantDataExporter = CompFactory.BasicConstantGPUDataExporter(name, **kwargs)
22
23 result.setPrivateTools(ConstantDataExporter)
24 return result
25

◆ BasicEventDataExporterToolCfg()

BasicEventDataExporterToolCfg ( flags,
cellsname,
name = "EventDataExporter",
** kwargs )

Definition at line 26 of file CaloRecGPUConfig.py.

26def BasicEventDataExporterToolCfg(flags, cellsname, name = "EventDataExporter", **kwargs):
27 result=ComponentAccumulator()
28
29 kwargs.setdefault("MeasureTimes", flags.CaloRecGPU.ActiveConfig.MeasureTimes)
30 kwargs.setdefault("TimeFileOutput", name + "Times.txt")
31
32 kwargs.setdefault("CellsName", cellsname)
33
34 if flags.CaloRecGPU.ActiveConfig.FillMissingCells:
35 kwargs.setdefault("MissingCellsToFill", flags.CaloRecGPU.ActiveConfig.MissingCellsToFill)
36
37 EventDataExporter = CompFactory.BasicEventDataGPUExporter(name, **kwargs)
38
39 result.setPrivateTools(EventDataExporter)
40 return result
41

◆ CellsCounterCPUToolCfg()

CellsCounterCPUToolCfg ( flags,
cellsname,
name = "CPUCounts",
** kwargs )

Definition at line 331 of file CaloRecGPUConfig.py.

331def CellsCounterCPUToolCfg(flags, cellsname, name = "CPUCounts", **kwargs):
332 result=ComponentAccumulator()
333 kwargs.setdefault("SavePath", "counts")
334 kwargs.setdefault("FilePrefix", "CPU")
335 kwargs.setdefault("CellsName", cellsname)
336
337 kwargs.setdefault("SeedThresholdOnEorAbsEinSigma", flags.CaloRecGPU.ActiveConfig.SeedThreshold)
338 kwargs.setdefault("NeighborThresholdOnEorAbsEinSigma", flags.CaloRecGPU.ActiveConfig.GrowThreshold)
339 kwargs.setdefault("CellThresholdOnEorAbsEinSigma", flags.CaloRecGPU.ActiveConfig.TermThreshold)
340
341 CPUCount = CompFactory.CaloCellsCounterCPU(name, **kwargs)
342 result.setPrivateTools(CPUCount)
343 return result
344

◆ CellsCounterGPUToolCfg()

CellsCounterGPUToolCfg ( flags,
name = "GPUCounts",
** kwargs )

Definition at line 345 of file CaloRecGPUConfig.py.

345def CellsCounterGPUToolCfg(flags, name = "GPUCounts", **kwargs):
346 result=ComponentAccumulator()
347 kwargs.setdefault("SavePath", "counts")
348 kwargs.setdefault("FilePrefix", "GPU")
349
350 kwargs.setdefault("SeedThresholdOnEorAbsEinSigma", flags.CaloRecGPU.ActiveConfig.SeedThreshold)
351 kwargs.setdefault("NeighborThresholdOnEorAbsEinSigma", flags.CaloRecGPU.ActiveConfig.GrowThreshold)
352 kwargs.setdefault("CellThresholdOnEorAbsEinSigma", flags.CaloRecGPU.ActiveConfig.TermThreshold)
353
354 GPUCount = CompFactory.CaloCellsCounterGPU(name, **kwargs)
355 result.setPrivateTools(GPUCount)
356 return result
357

◆ ClusterInfoCalcToolCfg()

ClusterInfoCalcToolCfg ( flags,
name = "GPUClusterInfoCalculator",
do_cut = True,
** kwargs )

Definition at line 73 of file CaloRecGPUConfig.py.

73def ClusterInfoCalcToolCfg(flags, name = "GPUClusterInfoCalculator", do_cut = True, **kwargs):
74 result=ComponentAccumulator()
75 kwargs.setdefault("MeasureTimes", flags.CaloRecGPU.ActiveConfig.MeasureTimes)
76 kwargs.setdefault("TimeFileOutput", name + "Times.txt")
77 if do_cut:
78 kwargs.setdefault("ClusterCutsInAbsEt", flags.CaloRecGPU.ActiveConfig.PostGrowingClusterCutClustersInAbsEt)
79 kwargs.setdefault("ClusterEtorAbsEtCut", flags.CaloRecGPU.ActiveConfig.PostGrowingClusterEnergyCut)
80 else:
81 kwargs.setdefault("ClusterCutsInAbsEt", True)
82 kwargs.setdefault("ClusterEtorAbsEtCut", -1)
83 #Cutting on absolute value with a negative value => not cutting at all.
84
85 CalcTool = CompFactory.BasicGPUClusterInfoCalculator(name, **kwargs)
86 result.setPrivateTools(CalcTool)
87 return result
88

◆ ClusterSorterToolCfg()

ClusterSorterToolCfg ( flags,
name = "GPUClusterSorter",
do_cut = False,
** kwargs )

Definition at line 89 of file CaloRecGPUConfig.py.

89def ClusterSorterToolCfg(flags, name = "GPUClusterSorter", do_cut = False, **kwargs):
90 result=ComponentAccumulator()
91 kwargs.setdefault("MeasureTimes", flags.CaloRecGPU.ActiveConfig.MeasureTimes)
92 kwargs.setdefault("TimeFileOutput", name + "Times.txt")
93 if do_cut:
94 kwargs.setdefault("ClusterCutsInAbsEt", flags.CaloRecGPU.ActiveConfig.PostGrowingClusterCutClustersInAbsEt)
95 kwargs.setdefault("ClusterEtorAbsEtCut", flags.CaloRecGPU.ActiveConfig.PostGrowingClusterEnergyCut)
96 else:
97 kwargs.setdefault("ClusterCutsInAbsEt", True)
98 kwargs.setdefault("ClusterEtorAbsEtCut", -1)
99 #Cutting on absolute value with a negative value => not cutting at all.
100
101 SorTool = CompFactory.GPUClusterSorter(name, **kwargs)
102 result.setPrivateTools(SorTool)
103 return result
104

◆ ComparedToolsToPlot()

ComparedToolsToPlot ( tool_ref,
tool_test,
prefix,
match_in_energy = False,
match_without_shared = False,
match_perfectly = False )

Definition at line 9 of file CaloRecGPUConfig.py.

9def ComparedToolsToPlot(tool_ref, tool_test, prefix, match_in_energy = False, match_without_shared = False, match_perfectly = False):
10 return (tool_ref, tool_test, prefix, match_in_energy, match_without_shared, match_perfectly)
11

◆ CPUOutputToolCfg()

CPUOutputToolCfg ( flags,
cellsname,
name = "CPUOutput",
** kwargs )

Definition at line 55 of file CaloRecGPUConfig.py.

55def CPUOutputToolCfg(flags, cellsname, name = "CPUOutput", **kwargs):
56 result=ComponentAccumulator()
57 kwargs.setdefault("CellsName", cellsname)
58 kwargs.setdefault("SavePath", "output")
59
60 CPUOutput = CompFactory.CaloCPUOutput(name, **kwargs)
61 result.setPrivateTools(CPUOutput)
62 return result
63

◆ DefaultCalibMomentsToolCfg()

DefaultCalibMomentsToolCfg ( flags,
name = "TopoCalibMoments",
** kwargs )

Definition at line 418 of file CaloRecGPUConfig.py.

418def DefaultCalibMomentsToolCfg(flags, name = "TopoCalibMoments", **kwargs):
419 result=ComponentAccumulator()
420
421 kwargs.setdefault("MomentsNames", ["ENG_CALIB_TOT"
422 ,"ENG_CALIB_OUT_L"
423 ,"ENG_CALIB_OUT_T"
424 ,"ENG_CALIB_EMB0"
425 ,"ENG_CALIB_EME0"
426 ,"ENG_CALIB_TILEG3"
427 ,"ENG_CALIB_DEAD_TOT"
428 ,"ENG_CALIB_DEAD_EMB0"
429 ,"ENG_CALIB_DEAD_TILE0"
430 ,"ENG_CALIB_DEAD_TILEG3"
431 ,"ENG_CALIB_DEAD_EME0"
432 ,"ENG_CALIB_DEAD_HEC0"
433 ,"ENG_CALIB_DEAD_FCAL"
434 ,"ENG_CALIB_DEAD_LEAKAGE"
435 ,"ENG_CALIB_DEAD_UNCLASS"
436 ,"ENG_CALIB_FRAC_EM"
437 ,"ENG_CALIB_FRAC_HAD"
438 ,"ENG_CALIB_FRAC_REST"])
439
440 kwargs.setdefault("CalibrationHitContainerNames", ["LArCalibrationHitInactive"
441 ,"LArCalibrationHitActive"
442 ,"TileCalibHitActiveCell"
443 ,"TileCalibHitInactiveCell"])
444
445 kwargs.setdefault("DMCalibrationHitContainerNames", ["LArCalibrationHitDeadMaterial"
446 ,"TileCalibHitDeadMaterial"])
447
448 TopoCalibMoments = CompFactory.CaloCalibClusterMomentsMaker2(name, **kwargs)
449 result.setPrivateTools(TopoCalibMoments)
450 return result
451

◆ DefaultClusterMomentsCalculatorToolCfg()

DefaultClusterMomentsCalculatorToolCfg ( flags,
instantiateForTrigger,
name = "TopoMoments",
** kwargs )

Definition at line 271 of file CaloRecGPUConfig.py.

271def DefaultClusterMomentsCalculatorToolCfg(flags, instantiateForTrigger, name = "TopoMoments", **kwargs):
272 result=ComponentAccumulator()
273
274 kwargs.setdefault("WeightingOfNegClusters", flags.CaloRecGPU.ActiveConfig.MomentsUseAbsEnergy)
275
276 kwargs.setdefault("MaxAxisAngle", flags.CaloRecGPU.ActiveConfig.MomentsMaxAxisAngle)
277
278 kwargs.setdefault("TwoGaussianNoise", flags.CaloRecGPU.ActiveConfig.doTwoGaussianNoise)
279
280 kwargs.setdefault("MinBadLArQuality", flags.CaloRecGPU.ActiveConfig.MomentsMinBadLArQuality)
281
282 kwargs.setdefault("MomentsNames", flags.CaloRecGPU.ActiveConfig.MomentsToCalculate)
283
284 kwargs.setdefault("MinRLateral", flags.CaloRecGPU.ActiveConfig.MomentsMinRLateral)
285 kwargs.setdefault("MinLLongitudinal", flags.CaloRecGPU.ActiveConfig.MomentsMinLLongitudinal)
286
287 kwargs.setdefault("UseGPUCriteria", not flags.CaloRecGPU.ActiveConfig.UseOriginalCriteria)
288
289 TopoMoments = CompFactory.CaloClusterMomentsMaker(name, **kwargs)
290
291 if not flags.Common.isOnline and not instantiateForTrigger and "LArHVFraction" not in kwargs:
292 #If it's already in kwargs, don't override
293 #(extra flexibility for the user, not that it's needed...)
294 from LArConfiguration.LArElecCalibDBConfig import LArElecCalibDBCfg
295 result.merge(LArElecCalibDBCfg(flags,["HVScaleCorr"]))
296 if flags.Input.isMC:
297 TopoMoments.LArHVFraction=CompFactory.LArHVFraction(HVScaleCorrKey="LArHVScaleCorr")
298 else:
299 TopoMoments.LArHVFraction=CompFactory.LArHVFraction(HVScaleCorrKey="LArHVScaleCorrRecomputed")
300
301 result.setPrivateTools(TopoMoments)
302 return result
303

◆ DefaultClusterSplittingToolCfg()

DefaultClusterSplittingToolCfg ( flags,
name = "TopoSplitter",
** kwargs )

Definition at line 225 of file CaloRecGPUConfig.py.

225def DefaultClusterSplittingToolCfg(flags, name = "TopoSplitter", **kwargs):
226 result=ComponentAccumulator()
227
228 kwargs.setdefault("NeighborOption", flags.CaloRecGPU.ActiveConfig.SplittingNeighborOption)
229 kwargs.setdefault("RestrictHECIWandFCalNeighbors", flags.CaloRecGPU.ActiveConfig.SplittingRestrictHECIWandFCalNeighbors)
230
231 kwargs.setdefault("NumberOfCellsCut", flags.CaloRecGPU.ActiveConfig.SplittingNumberOfCellsCut)
232 kwargs.setdefault("EnergyCut", flags.CaloRecGPU.ActiveConfig.SplittingEnergyCut)
233
234 kwargs.setdefault("SamplingNames", flags.CaloRecGPU.ActiveConfig.SplittingSamplingNames)
235 kwargs.setdefault("SecondarySamplingNames", flags.CaloRecGPU.ActiveConfig.SplittingSecondarySamplingNames)
236
237 kwargs.setdefault("ShareBorderCells", flags.CaloRecGPU.ActiveConfig.SplittingShareBorderCells)
238 kwargs.setdefault("EMShowerScale", flags.CaloRecGPU.ActiveConfig.SplittingEMShowerScale)
239
240 kwargs.setdefault("TreatL1PredictedCellsAsGood", flags.CaloRecGPU.ActiveConfig.SplittingTreatL1PredictedCellsAsGood)
241
242 kwargs.setdefault("WeightingOfNegClusters", flags.CaloRecGPU.ActiveConfig.SplittingUseNegativeClusters)
243
244 kwargs.setdefault("UseGPUCriteria", not flags.CaloRecGPU.ActiveConfig.UseOriginalCriteria)
245
246 TopoSplitter = CompFactory.CaloTopoClusterSplitter(name, **kwargs)
247 result.setPrivateTools(TopoSplitter)
248 return result
249

◆ DefaultTopoClusterLocalCalibToolsCfg()

DefaultTopoClusterLocalCalibToolsCfg ( flags,
instantiateForTrigger,
prefix = '' )

Definition at line 452 of file CaloRecGPUConfig.py.

452def DefaultTopoClusterLocalCalibToolsCfg(flags, instantiateForTrigger, prefix = ''):
453 result=ComponentAccumulator()
454
455 CaloClusterLocalCalib=CompFactory.CaloClusterLocalCalib
456
457 # Local cell weights
458 LCClassify = CompFactory.CaloLCClassificationTool(prefix + "LCClassify")
459 LCClassify.ClassificationKey = "EMFracClassify"
460 LCClassify.UseSpread = False
461 LCClassify.MaxProbability = 0.85 if flags.GeoModel.AtlasVersion.startswith("Rome") and instantiateForTrigger else 0.5
462 LCClassify.StoreClassificationProbabilityInAOD = True
463 if instantiateForTrigger:
464 LCClassify.UseNormalizedEnergyDensity = not flags.GeoModel.AtlasVersion.startswith("Rome")
465 if not instantiateForTrigger:
466 LCClassify.WeightingOfNegClusters = flags.CaloRecGPU.ActiveConfig.CalibrationUseAbsEnergy
467
468 LCWeight = CompFactory.CaloLCWeightTool(prefix + "LCWeight")
469 LCWeight.CorrectionKey = "H1ClusterCellWeights"
470 LCWeight.SignalOverNoiseCut = 2.0
471 LCWeight.UseHadProbability = True
472
473 LocalCalib = CaloClusterLocalCalib (prefix + "LocalCalib")
474 LocalCalib.ClusterClassificationTool = [LCClassify]
475 LocalCalib.ClusterRecoStatus = [1,2]
476 LocalCalib.LocalCalibTools = [LCWeight]
477 if not instantiateForTrigger:
478 LocalCalib.WeightingOfNegClusters = flags.CaloRecGPU.ActiveConfig.CalibrationUseAbsEnergy
479
480 # Out-of-cluster corrections
481 LCOut = CompFactory.CaloLCOutOfClusterTool(prefix + "LCOut")
482 LCOut.CorrectionKey = "OOCCorrection"
483 LCOut.UseEmProbability = False
484 LCOut.UseHadProbability = True
485
486 OOCCalib = CaloClusterLocalCalib (prefix + "OOCCalib")
487 OOCCalib.ClusterRecoStatus = [1,2]
488 OOCCalib.LocalCalibTools = [LCOut]
489 if not instantiateForTrigger:
490 OOCCalib.WeightingOfNegClusters = flags.CaloRecGPU.ActiveConfig.CalibrationUseAbsEnergy
491
492 LCOutPi0 = CompFactory.CaloLCOutOfClusterTool(prefix + "LCOutPi0")
493 LCOutPi0.CorrectionKey = "OOCPi0Correction"
494 LCOutPi0.UseEmProbability = True
495 LCOutPi0.UseHadProbability = False
496
497 OOCPi0Calib = CaloClusterLocalCalib (prefix + "OOCPi0Calib")
498 OOCPi0Calib.ClusterRecoStatus = [1,2]
499 OOCPi0Calib.LocalCalibTools = [LCOutPi0]
500 if not instantiateForTrigger:
501 OOCPi0Calib.WeightingOfNegClusters = flags.CaloRecGPU.ActiveConfig.CalibrationUseAbsEnergy
502
503 # Dead material corrections
504 LCDeadMaterial = CompFactory.CaloLCDeadMaterialTool(prefix + "LCDeadMaterial")
505 LCDeadMaterial.HadDMCoeffKey = "HadDMCoeff2"
506 LCDeadMaterial.ClusterRecoStatus = 0
507 LCDeadMaterial.WeightModeDM = 2
508 LCDeadMaterial.UseHadProbability = True
509 if not instantiateForTrigger:
510 LCDeadMaterial.WeightingOfNegClusters = flags.CaloRecGPU.ActiveConfig.CalibrationUseAbsEnergy
511
512 DMCalib = CaloClusterLocalCalib (prefix + "DMCalib")
513 DMCalib.ClusterRecoStatus = [1,2]
514 DMCalib.LocalCalibTools = [LCDeadMaterial]
515 if not instantiateForTrigger:
516 DMCalib.WeightingOfNegClusters = flags.CaloRecGPU.ActiveConfig.CalibrationUseAbsEnergy
517
518 lccalibtools = [
519 LocalCalib,
520 OOCCalib,
521 OOCPi0Calib,
522 DMCalib]
523
524 result.setPrivateTools(lccalibtools)
525
526 return result
527
528#Depending on ReallyUseGPUTools,
529#instantiates GPU or CPU tools with consistent options...

◆ DefaultTopologicalClusteringToolCfg()

DefaultTopologicalClusteringToolCfg ( flags,
cellsname,
name = "TopoClusterMaker",
** kwargs )

Definition at line 149 of file CaloRecGPUConfig.py.

149def DefaultTopologicalClusteringToolCfg(flags, cellsname, name = "TopoClusterMaker", **kwargs):
150 result=ComponentAccumulator()
151
152 kwargs.setdefault("CellsName", cellsname)
153
154 kwargs.setdefault("CalorimeterNames", flags.CaloRecGPU.ActiveConfig.GrowingCalorimeterNames)
155 kwargs.setdefault("SeedSamplingNames", flags.CaloRecGPU.ActiveConfig.GrowingSeedSamplingNames)
156
157 kwargs.setdefault("NeighborOption", flags.CaloRecGPU.ActiveConfig.GrowingNeighborOption)
158 kwargs.setdefault("RestrictHECIWandFCalNeighbors", flags.CaloRecGPU.ActiveConfig.GrowingRestrictHECIWandFCalNeighbors)
159 kwargs.setdefault("RestrictPSNeighbors", flags.CaloRecGPU.ActiveConfig.GrowingRestrictPSNeighbors)
160
161 kwargs.setdefault("SeedThresholdOnEorAbsEinSigma", flags.CaloRecGPU.ActiveConfig.SeedThreshold)
162 kwargs.setdefault("NeighborThresholdOnEorAbsEinSigma", flags.CaloRecGPU.ActiveConfig.GrowThreshold)
163 kwargs.setdefault("CellThresholdOnEorAbsEinSigma", flags.CaloRecGPU.ActiveConfig.TermThreshold)
164
165 kwargs.setdefault("SeedCutsInAbsE", flags.CaloRecGPU.ActiveConfig.UseAbsSeedThreshold)
166 kwargs.setdefault("NeighborCutsInAbsE", flags.CaloRecGPU.ActiveConfig.UseAbsGrowThreshold)
167 kwargs.setdefault("CellCutsInAbsE", flags.CaloRecGPU.ActiveConfig.UseAbsTermThreshold)
168
169 kwargs.setdefault("SeedCutsInT", flags.CaloRecGPU.ActiveConfig.doTimeCut)
170 kwargs.setdefault("CutOOTseed", flags.CaloRecGPU.ActiveConfig.doTimeCut and flags.CaloRecGPU.ActiveConfig.extendTimeCut)
171 kwargs.setdefault("UseTimeCutUpperLimit", flags.CaloRecGPU.ActiveConfig.useUpperLimitForTimeCut)
172 kwargs.setdefault("TimeCutUpperLimit", flags.CaloRecGPU.ActiveConfig.timeCutUpperLimit)
173 kwargs.setdefault("XTalkEM2", flags.CaloRecGPU.ActiveConfig.xtalkEM2)
174 kwargs.setdefault("XTalkEM2D", flags.CaloRecGPU.ActiveConfig.xtalkEM2D)
175 kwargs.setdefault("XTalkEM2n", flags.CaloRecGPU.ActiveConfig.xtalkEM2n)
176 kwargs.setdefault("XTalkEM3", flags.CaloRecGPU.ActiveConfig.xtalkEM3)
177 kwargs.setdefault("XTalkEMEta", flags.CaloRecGPU.ActiveConfig.xtalkEMEta)
178 kwargs.setdefault("XTalkDeltaT", flags.CaloRecGPU.ActiveConfig.xtalkDeltaT)
179 kwargs.setdefault("XTalk2Eratio1", flags.CaloRecGPU.ActiveConfig.xtalk2Eratio1)
180 kwargs.setdefault("XTalk2Eratio2", flags.CaloRecGPU.ActiveConfig.xtalk2Eratio2)
181 kwargs.setdefault("XTalk3Eratio", flags.CaloRecGPU.ActiveConfig.xtalk3Eratio)
182 kwargs.setdefault("XTalkEtaEratio", flags.CaloRecGPU.ActiveConfig.xtalkEtaEratio)
183 kwargs.setdefault("XTalk2DEratio", flags.CaloRecGPU.ActiveConfig.xtalk2DEratio)
184
185 kwargs.setdefault("ClusterCutsInAbsEt", flags.CaloRecGPU.ActiveConfig.PostGrowingClusterCutClustersInAbsEt)
186 kwargs.setdefault("ClusterEtorAbsEtCut", flags.CaloRecGPU.ActiveConfig.PostGrowingClusterEnergyCut)
187
188 kwargs.setdefault("TwoGaussianNoise", flags.CaloRecGPU.ActiveConfig.doTwoGaussianNoise)
189
190 kwargs.setdefault("SeedThresholdOnTAbs", flags.CaloRecGPU.ActiveConfig.GrowingTimeCutSeedThreshold)
191
192 kwargs.setdefault("TreatL1PredictedCellsAsGood", flags.CaloRecGPU.ActiveConfig.GrowingTreatL1PredictedCellsAsGood)
193
194 kwargs.setdefault("UseGPUCriteria", not flags.CaloRecGPU.ActiveConfig.UseOriginalCriteria)
195
196 TopoMaker = CompFactory.CaloTopoClusterMaker(name, **kwargs)
197 result.setPrivateTools(TopoMaker)
198 return result
199

◆ GPUCaloTopoClusterCfg()

GPUCaloTopoClusterCfg ( flags,
instantiateForTrigger,
cellsname,
clustersname = None,
clustersnapname = "CaloTopoClusters",
name = "HybridClusterProcessor",
PlotterTool = None,
addAsPrimary = True,
ReallyUseGPUTools = True )

Definition at line 530 of file CaloRecGPUConfig.py.

532 PlotterTool = None, addAsPrimary = True, ReallyUseGPUTools = True):
533
534 doLCCalib = flags.CaloRecGPU.ActiveConfig.doTopoClusterLocalCalib
535
536 if clustersname is None:
537 clustersname = "CaloCalTopoClusters" if doLCCalib else "CaloTopoClusters"
538
539 if clustersname == "CaloTopoClusters" and doLCCalib:
540 raise RuntimeError("Inconsistent arguments: clustersname must not be 'CaloTopoClusters' if doTopoClusterLocalCalib is True")
541
542 clustersname_final = clustersname
543 if flags.CaloRecGPU.ActiveConfig.applyClusterTimingCut:
544 clustersname = f"{clustersname}BeforeTimingCut"
545
546 result = ComponentAccumulator()
547
548 if not instantiateForTrigger:
549
550 from LArGeoAlgsNV.LArGMConfig import LArGMCfg
551 from TileGeoModel.TileGMConfig import TileGMCfg
552 from CaloTools.CaloNoiseCondAlgConfig import CaloNoiseCondAlgCfg
553
554 result.merge(CaloNoiseCondAlgCfg(flags,"totalNoise"))
555 result.merge(CaloNoiseCondAlgCfg(flags,"electronicNoise"))
556
557 result.merge(LArGMCfg(flags))
558 result.merge(TileGMCfg(flags))
559
560
561 HybridClusterProcessor = CompFactory.CaloGPUHybridClusterProcessor(name)
562 HybridClusterProcessor.ClustersOutputName = clustersname
563
564 HybridClusterProcessor.WriteTriggerSpecificInfo = instantiateForTrigger
565
566 HybridClusterProcessor.MeasureTimes = flags.CaloRecGPU.ActiveConfig.MeasureTimes
567
568 HybridClusterProcessor.TimeFileOutput = "GlobalTimes.txt"
569
570 HybridClusterProcessor.DeferConstantDataPreparationToFirstEvent = True
571 HybridClusterProcessor.DoPlots = PlotterTool is not None
572 HybridClusterProcessor.PlotterTool = PlotterTool
573
574 HybridClusterProcessor.NumPreAllocatedDataHolders = flags.CaloRecGPU.ActiveConfig.NumPreAllocatedDataHolders
575
576 if ReallyUseGPUTools:
577
578 HybridClusterProcessor.ConstantDataToGPUTool = result.popToolsAndMerge( BasicConstantDataExporterToolCfg(flags) )
579 HybridClusterProcessor.EventDataToGPUTool = result.popToolsAndMerge( BasicEventDataExporterToolCfg(flags, cellsname) )
580 HybridClusterProcessor.GPUToEventDataTool = result.popToolsAndMerge( AthenaClusterAndMomentsImporterToolCfg(flags, cellsname, instantiateForTrigger) )
581
582
583 HybridClusterProcessor.BeforeGPUTools = []
584
585 HybridClusterProcessor.GPUTools = []
586
587 HybridClusterProcessor.GPUTools += [result.popToolsAndMerge( TopoAutomatonClusteringToolCfg(flags,"GPUGrowing"))]
588
589 HybridClusterProcessor.GPUTools += [result.popToolsAndMerge( ClusterInfoCalcToolCfg(flags,"PostGPUGrowingClusterPropertiesCalculator", True))]
590
591 HybridClusterProcessor.GPUTools += [result.popToolsAndMerge( TopoAutomatonSplitterToolCfg(flags,"GPUSplitting") )]
592
593 HybridClusterProcessor.GPUTools += [result.popToolsAndMerge( ClusterSorterToolCfg(flags, "GPUClusterSorting", False) )]
594
595 HybridClusterProcessor.GPUTools += [result.popToolsAndMerge( GPUClusterMomentsCalculatorToolCfg(flags,"GPUTopoMoments") )]
596
597 else:
598
599 HybridClusterProcessor.ConstantDataToGPUTool = None
600 HybridClusterProcessor.EventDataToGPUTool = None
601 HybridClusterProcessor.GPUToEventDataTool = None
602 HybridClusterProcessor.SkipConversions = True
603
604 HybridClusterProcessor.GPUTools = []
605
606 HybridClusterProcessor.BeforeGPUTools = []
607
608 HybridClusterProcessor.BeforeGPUTools += [result.popToolsAndMerge( DefaultTopologicalClusteringToolCfg(flags, cellsname,"CPUGrowing"))]
609
610 HybridClusterProcessor.BeforeGPUTools += [result.popToolsAndMerge( DefaultClusterSplittingToolCfg(flags,"CPUSplitting") )]
611
612 HybridClusterProcessor.BeforeGPUTools += [result.popToolsAndMerge( DefaultClusterMomentsCalculatorToolCfg(flags, instantiateForTrigger, "CPUTopoMoments") )]
613
614 HybridClusterProcessor.BeforeGPUTools += [ CompFactory.CaloClusterStoreRawProperties("RawPropertiesStorer") ]
615
616
617
618 HybridClusterProcessor.AfterGPUTools = []
619
620 if not instantiateForTrigger:
621 from CaloBadChannelTool.CaloBadChanToolConfig import CaloBadChanToolCfg
622 caloBadChanTool = result.popToolsAndMerge( CaloBadChanToolCfg(flags) )
623 HybridClusterProcessor.AfterGPUTools += [CompFactory.CaloClusterBadChannelList(badChannelTool = caloBadChanTool)]
624
625 if not instantiateForTrigger and flags.CaloRecGPU.ActiveConfig.doCalibHitMoments:
626
627 calibHitsMomentsMaker = result.popToolsAndMerge(DefaultCalibMomentsToolCfg(flags))
628 HybridClusterProcessor.AfterGPUTools += [calibHitsMomentsMaker]
629
630 if doLCCalib:
631 if not instantiateForTrigger:
632 HybridClusterProcessor.AfterGPUTools += [CompFactory.CaloClusterSnapshot(OutputName=clustersnapname,
633 SetCrossLinks=True,
634 FinalClusterContainerName=clustersname)]
635 else:
636 from CaloTools.CaloNoiseCondAlgConfig import CaloNoiseCondAlgCfg
637 from CaloRec.CaloTopoClusterConfig import caloTopoCoolFolderCfg
638 result.merge(CaloNoiseCondAlgCfg(flags, noisetype="electronicNoise"))
639 result.merge(caloTopoCoolFolderCfg(flags))
640
641 calibTools = result.popToolsAndMerge(DefaultTopoClusterLocalCalibToolsCfg(flags, instantiateForTrigger, 'Trig' if instantiateForTrigger else ''))
642
643 HybridClusterProcessor.AfterGPUTools += calibTools
644 #This is already a tool array.
645
646 if not instantiateForTrigger:
647 from CaloRec.CaloTopoClusterConfig import caloTopoCoolFolderCfg
648 result.merge(caloTopoCoolFolderCfg(flags))
649
650 if instantiateForTrigger:
651 from CaloTools.CaloNoiseCondAlgConfig import CaloNoiseCondAlgCfg
652 result.merge(CaloNoiseCondAlgCfg(flags))
653
654 result.addEventAlgo(HybridClusterProcessor, primary=addAsPrimary)
655
656 if flags.CaloRecGPU.ActiveConfig.applyClusterTimingCut:
657 from CaloRec.CaloTopoClusterConfig import CaloClusterTimingFilterCfg
658 result.merge(CaloClusterTimingFilterCfg(flags, name = f"{clustersname}Filter", InputClusters = clustersname, OutputClusters = clustersname_final))
659
660 if instantiateForTrigger or clustersname_final in flags.CaloRecGPU.ActiveConfig.skipWriteList:
661 # don't add these clusters to ESD and AOD
662 return result
663
664 #Output config:
665 AODMoments=[ "SECOND_R"
666 ,"SECOND_LAMBDA"
667 ,"CENTER_MAG"
668 ,"CENTER_LAMBDA"
669 ,"FIRST_ENG_DENS"
670 ,"ENG_FRAC_MAX"
671 ,"ISOLATION"
672 ,"ENG_BAD_CELLS"
673 ,"N_BAD_CELLS"
674 ,"BADLARQ_FRAC"
675 ,"ENG_POS"
676 ,"SIGNIFICANCE"
677 ,"AVG_LAR_Q"
678 ,"AVG_TILE_Q"
679 ,"EM_PROBABILITY"
680 ,"BadChannelList"
681 ,"SECOND_TIME"
682 ,"NCELL_SAMPLING"]
683
684 if flags.CaloRecGPU.ActiveConfig.writeExtendedClusterMoments:
685 AODMoments += ["LATERAL"
686 ,"LONGITUDINAL"
687 ,"CELL_SIGNIFICANCE"
688 ,"PTD"
689 ,"MASS"]
690
691 if flags.Reco.EnableHI:
692 AODMoments += ["CELL_SIG_SAMPLING"]
693
694 if flags.CaloRecGPU.ActiveConfig.writeCalibHitClusterMoments:
695 AODMoments += ["ENG_CALIB_TOT"
696 ,"ENG_CALIB_OUT_L"
697 ,"ENG_CALIB_OUT_T"
698 ,"ENG_CALIB_EMB0"
699 ,"ENG_CALIB_EME0"
700 ,"ENG_CALIB_TILEG3"
701 ,"ENG_CALIB_DEAD_TOT"
702 ,"ENG_CALIB_DEAD_EMB0"
703 ,"ENG_CALIB_DEAD_TILE0"
704 ,"ENG_CALIB_DEAD_TILEG3"
705 ,"ENG_CALIB_DEAD_EME0"
706 ,"ENG_CALIB_DEAD_HEC0"
707 ,"ENG_CALIB_DEAD_FCAL"
708 ,"ENG_CALIB_DEAD_LEAKAGE"
709 ,"ENG_CALIB_DEAD_UNCLASS"
710 ,"ENG_CALIB_FRAC_EM"
711 ,"ENG_CALIB_FRAC_HAD"
712 ,"ENG_CALIB_FRAC_REST"]
713
714
715 from OutputStreamAthenaPool.OutputStreamConfig import addToAOD, addToESD
716 toESD = [f"xAOD::CaloClusterContainer#{clustersname_final}",
717 f"xAOD::CaloClusterAuxContainer#{clustersname_final}Aux.",
718 f"CaloClusterCellLinkContainer#{clustersname_final}_links"]
719 toAOD = [f"xAOD::CaloClusterContainer#{clustersname_final}",
720 f"CaloClusterCellLinkContainer#{clustersname_final}_links"]
721
722 AODMoments.append("CellLink") #Add data-link to cell-link container
723 if flags.CaloRecGPU.ActiveConfig.addCalibrationHitDecoration: #Add calib hit deco if requried
724 AODMoments.append(flags.CaloRecGPU.ActiveConfig.CalibrationHitDecorationName)
725
726 if flags.CaloRecGPU.ActiveConfig.addCPData:
727 AODMoments += ["ClusterWidthEta","ClusterWidthPhi"]
728
729 auxItems = f"xAOD::CaloClusterAuxContainer#{clustersname_final}Aux."
730 auxItems+= ".".join(AODMoments)
731
732 toAOD.append(auxItems)
733
734 result.merge(addToESD(flags, toESD))
735 result.merge(addToAOD(flags, toAOD))
736
737
738 return result
739

◆ GPUClusterMomentsCalculatorToolCfg()

GPUClusterMomentsCalculatorToolCfg ( flags,
name = "GPUTopoMoments",
** kwargs )

Definition at line 250 of file CaloRecGPUConfig.py.

250def GPUClusterMomentsCalculatorToolCfg(flags, name = "GPUTopoMoments", **kwargs):
251 result=ComponentAccumulator()
252
253 kwargs.setdefault("MeasureTimes", flags.CaloRecGPU.ActiveConfig.MeasureTimes)
254 kwargs.setdefault("TimeFileOutput", name + "Times.txt")
255
256 kwargs.setdefault("WeightingOfNegClusters", flags.CaloRecGPU.ActiveConfig.MomentsUseAbsEnergy)
257
258 kwargs.setdefault("MaxAxisAngle", flags.CaloRecGPU.ActiveConfig.MomentsMaxAxisAngle)
259
260 kwargs.setdefault("TwoGaussianNoise", flags.CaloRecGPU.ActiveConfig.doTwoGaussianNoise)
261
262 kwargs.setdefault("MinBadLArQuality", flags.CaloRecGPU.ActiveConfig.MomentsMinBadLArQuality)
263
264 kwargs.setdefault("MinRLateral", flags.CaloRecGPU.ActiveConfig.MomentsMinRLateral)
265 kwargs.setdefault("MinLLongitudinal", flags.CaloRecGPU.ActiveConfig.MomentsMinLLongitudinal)
266
267 GPUTopoMoments = CompFactory.GPUClusterInfoAndMomentsCalculator(name, **kwargs)
268 result.setPrivateTools(GPUTopoMoments)
269 return result
270

◆ GPUOutputToolCfg()

GPUOutputToolCfg ( flags,
name = "GPUOutput",
** kwargs )

Definition at line 64 of file CaloRecGPUConfig.py.

64def GPUOutputToolCfg(flags, name = "GPUOutput", **kwargs):
65 result=ComponentAccumulator()
66 kwargs.setdefault("UseSortedAndCutClusters", True)
67 kwargs.setdefault("SavePath", "output")
68
69 GPUOutput = CompFactory.CaloGPUOutput(name, **kwargs)
70 result.setPrivateTools(GPUOutput)
71 return result
72

◆ MatchingOptions()

MatchingOptions ( min_similarity = 0.50,
terminal_weight = 250.,
grow_weight = 500.,
seed_weight = 1000. )

Definition at line 12 of file CaloRecGPUConfig.py.

12def MatchingOptions(min_similarity = 0.50, terminal_weight = 250., grow_weight = 500., seed_weight = 1000.):
13 return (min_similarity, terminal_weight, grow_weight, seed_weight)
14

◆ MomentsDumperToolCfg()

MomentsDumperToolCfg ( flags,
name = "MomentsDumper",
** kwargs )

Definition at line 384 of file CaloRecGPUConfig.py.

384def MomentsDumperToolCfg(flags, name = "MomentsDumper", **kwargs):
385 result=ComponentAccumulator()
386 kwargs.setdefault("SavePath", "moments")
387
388 MomentsDumper = CompFactory.CaloMomentsDumper(name, **kwargs)
389 result.setPrivateTools(MomentsDumper)
390 return result
391

◆ PerformanceInformationOutputToolCfg()

PerformanceInformationOutputToolCfg ( flags,
cellsname,
name = "PerfInfoTool",
** kwargs )

Definition at line 358 of file CaloRecGPUConfig.py.

358def PerformanceInformationOutputToolCfg(flags, cellsname, name = "PerfInfoTool", **kwargs):
359 result=ComponentAccumulator()
360 kwargs.setdefault("FileName", "event_info.txt")
361 kwargs.setdefault("CellsName", cellsname)
362
363 kwargs.setdefault("SeedThresholdOnEorAbsEinSigma", flags.CaloRecGPU.ActiveConfig.SeedThreshold)
364 kwargs.setdefault("NeighborThresholdOnEorAbsEinSigma", flags.CaloRecGPU.ActiveConfig.GrowThreshold)
365 kwargs.setdefault("CellThresholdOnEorAbsEinSigma", flags.CaloRecGPU.ActiveConfig.TermThreshold)
366
367 kwargs.setdefault("GrowingNeighborOption", flags.CaloRecGPU.ActiveConfig.GrowingNeighborOption)
368 kwargs.setdefault("GrowingRestrictHECIWandFCalNeighbors", flags.CaloRecGPU.ActiveConfig.GrowingRestrictHECIWandFCalNeighbors)
369 kwargs.setdefault("GrowingRestrictPSNeighbors", flags.CaloRecGPU.ActiveConfig.GrowingRestrictPSNeighbors)
370
371
372 kwargs.setdefault("SplittingNeighborOption", flags.CaloRecGPU.ActiveConfig.SplittingNeighborOption)
373 kwargs.setdefault("SplittingRestrictHECIWandFCalNeighbors", flags.CaloRecGPU.ActiveConfig.SplittingRestrictHECIWandFCalNeighbors)
374 kwargs.setdefault("SplittingRestrictPSNeighbors", flags.CaloRecGPU.ActiveConfig.GPUSplittingRestrictPSNeighbors)
375
376 kwargs.setdefault("SeedCutsInAbsE", flags.CaloRecGPU.ActiveConfig.UseAbsSeedThreshold)
377 kwargs.setdefault("NeighborCutsInAbsE", flags.CaloRecGPU.ActiveConfig.UseAbsGrowThreshold)
378 kwargs.setdefault("CellCutsInAbsE", flags.CaloRecGPU.ActiveConfig.UseAbsTermThreshold)
379
380 GPUCount = CompFactory.CaloPerformancePropertiesOutput(name, **kwargs)
381 result.setPrivateTools(GPUCount)
382 return result
383

◆ PlotterToolCfg()

PlotterToolCfg ( flags,
cellsname,
name = "PlotterMonitoring",
** kwargs )

Definition at line 392 of file CaloRecGPUConfig.py.

392def PlotterToolCfg(flags, cellsname, name = "PlotterMonitoring", **kwargs):
393 result=ComponentAccumulator()
394
395 kwargs.setdefault("SeedThreshold", flags.CaloRecGPU.ActiveConfig.SeedThreshold)
396 kwargs.setdefault("NeighborThreshold", flags.CaloRecGPU.ActiveConfig.GrowThreshold)
397 kwargs.setdefault("CellThreshold", flags.CaloRecGPU.ActiveConfig.TermThreshold)
398
399 kwargs.setdefault("CellsName", cellsname)
400
401 kwargs.setdefault("ClusterMatchingParameters", MatchingOptions())
402
403 if flags.CaloRecGPU.ActiveConfig.FillMissingCells:
404 kwargs.setdefault("MissingCellsToFill", flags.CaloRecGPU.ActiveConfig.MissingCellsToFill)
405
406 #Tools and Combinations to plot
407 #should be set by the end user.
408
409 PloTool = CompFactory.CaloGPUClusterAndCellDataMonitor(name, **kwargs)
410
411 if "MonitoringTool" not in kwargs:
412 from AthenaMonitoringKernel.GenericMonitoringTool import GenericMonitoringTool
413 PloTool.MonitoringTool = GenericMonitoringTool(flags, "PlotterMonitoringTool")
414
415 result.setPrivateTools(PloTool)
416 return result
417

◆ SingleToolToPlot()

SingleToolToPlot ( tool_name,
prefix )

Definition at line 6 of file CaloRecGPUConfig.py.

6def SingleToolToPlot(tool_name, prefix):
7 return (tool_name, prefix)
8

◆ TopoAutomatonClusteringToolCfg()

TopoAutomatonClusteringToolCfg ( flags,
name = "TopoAutomatonClustering",
** kwargs )

Definition at line 105 of file CaloRecGPUConfig.py.

105def TopoAutomatonClusteringToolCfg(flags, name = "TopoAutomatonClustering", **kwargs):
106 result=ComponentAccumulator()
107
108 kwargs.setdefault("MeasureTimes", flags.CaloRecGPU.ActiveConfig.MeasureTimes)
109 kwargs.setdefault("TimeFileOutput", name + "Times.txt")
110
111 kwargs.setdefault("CalorimeterNames", flags.CaloRecGPU.ActiveConfig.GrowingCalorimeterNames)
112
113 kwargs.setdefault("SeedSamplingNames", flags.CaloRecGPU.ActiveConfig.GrowingSeedSamplingNames)
114
115 kwargs.setdefault("SeedThresholdOnEorAbsEinSigma", flags.CaloRecGPU.ActiveConfig.SeedThreshold)
116 kwargs.setdefault("NeighborThresholdOnEorAbsEinSigma", flags.CaloRecGPU.ActiveConfig.GrowThreshold)
117 kwargs.setdefault("CellThresholdOnEorAbsEinSigma", flags.CaloRecGPU.ActiveConfig.TermThreshold)
118
119 kwargs.setdefault("SeedCutsInAbsE", flags.CaloRecGPU.ActiveConfig.UseAbsSeedThreshold)
120 kwargs.setdefault("NeighborCutsInAbsE", flags.CaloRecGPU.ActiveConfig.UseAbsGrowThreshold)
121 kwargs.setdefault("CellCutsInAbsE", flags.CaloRecGPU.ActiveConfig.UseAbsTermThreshold)
122
123 kwargs.setdefault("TwoGaussianNoise", flags.CaloRecGPU.ActiveConfig.doTwoGaussianNoise)
124
125 kwargs.setdefault("SeedCutsInT", flags.CaloRecGPU.ActiveConfig.doTimeCut)
126 kwargs.setdefault("CutOOTseed", flags.CaloRecGPU.ActiveConfig.doTimeCut and flags.CaloRecGPU.ActiveConfig.extendTimeCut)
127 kwargs.setdefault("UseTimeCutUpperLimit", flags.CaloRecGPU.ActiveConfig.useUpperLimitForTimeCut)
128 kwargs.setdefault("TimeCutUpperLimit", flags.CaloRecGPU.ActiveConfig.timeCutUpperLimit)
129
130 kwargs.setdefault("SeedThresholdOnTAbs", flags.CaloRecGPU.ActiveConfig.GrowingTimeCutSeedThreshold)
131
132 kwargs.setdefault("TreatL1PredictedCellsAsGood", flags.CaloRecGPU.ActiveConfig.GrowingTreatL1PredictedCellsAsGood)
133
134 kwargs.setdefault("XTalkEM2", flags.CaloRecGPU.ActiveConfig.xtalkEM2)
135 kwargs.setdefault("XTalkDeltaT", flags.CaloRecGPU.ActiveConfig.xtalkDeltaT)
136
137 #The other cross-talk options are not supported yet.
138
139 kwargs.setdefault("NeighborOption", flags.CaloRecGPU.ActiveConfig.GrowingNeighborOption)
140
141 kwargs.setdefault("RestrictHECIWandFCalNeighbors", flags.CaloRecGPU.ActiveConfig.GrowingRestrictHECIWandFCalNeighbors)
142
143 kwargs.setdefault("RestrictPSNeighbors", flags.CaloRecGPU.ActiveConfig.GrowingRestrictPSNeighbors)
144
145 TAClusterMaker = CompFactory.TopoAutomatonClustering(name, **kwargs)
146 result.setPrivateTools(TAClusterMaker)
147 return result
148

◆ TopoAutomatonSplitterToolCfg()

TopoAutomatonSplitterToolCfg ( flags,
name = "ClusterSplitter",
** kwargs )

Definition at line 200 of file CaloRecGPUConfig.py.

200def TopoAutomatonSplitterToolCfg(flags, name = "ClusterSplitter", **kwargs):
201 result=ComponentAccumulator()
202
203 kwargs.setdefault("MeasureTimes", flags.CaloRecGPU.ActiveConfig.MeasureTimes)
204 kwargs.setdefault("TimeFileOutput", name + "Times.txt")
205
206 kwargs.setdefault("NumberOfCellsCut", flags.CaloRecGPU.ActiveConfig.SplittingNumberOfCellsCut)
207 kwargs.setdefault("EnergyCut", flags.CaloRecGPU.ActiveConfig.SplittingEnergyCut)
208 kwargs.setdefault("SamplingNames", flags.CaloRecGPU.ActiveConfig.SplittingSamplingNames)
209 kwargs.setdefault("SecondarySamplingNames", flags.CaloRecGPU.ActiveConfig.SplittingSecondarySamplingNames)
210 kwargs.setdefault("ShareBorderCells", flags.CaloRecGPU.ActiveConfig.SplittingShareBorderCells)
211 kwargs.setdefault("EMShowerScale", flags.CaloRecGPU.ActiveConfig.SplittingEMShowerScale)
212 kwargs.setdefault("WeightingOfNegClusters", flags.CaloRecGPU.ActiveConfig.SplittingUseNegativeClusters)
213
214 kwargs.setdefault("TreatL1PredictedCellsAsGood", flags.CaloRecGPU.ActiveConfig.SplittingTreatL1PredictedCellsAsGood)
215
216 kwargs.setdefault("NeighborOption", flags.CaloRecGPU.ActiveConfig.SplittingNeighborOption)
217 kwargs.setdefault("RestrictHECIWandFCalNeighbors", flags.CaloRecGPU.ActiveConfig.SplittingRestrictHECIWandFCalNeighbors)
218 kwargs.setdefault("RestrictPSNeighbors", flags.CaloRecGPU.ActiveConfig.GPUSplittingRestrictPSNeighbors)
219 #Since the CPU version does not restrict this!
220
221 Splitter = CompFactory.TopoAutomatonSplitting(name, **kwargs)
222 result.setPrivateTools(Splitter)
223 return result
224