1 """Define methods to construct configured HGTD Digitization tools and algorithms 
    3 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration 
    5 from AthenaConfiguration.ComponentAccumulator 
import ComponentAccumulator
 
    6 from AthenaConfiguration.ComponentFactory 
import CompFactory
 
    7 from AthenaConfiguration.Enums 
import ProductionStep
 
    8 from DigitizationConfig.PileUpMergeSvcConfig 
import PileUpMergeSvcCfg, PileUpXingFolderCfg
 
    9 from DigitizationConfig.PileUpToolsConfig 
import PileUpToolsCfg
 
   10 from DigitizationConfig.TruthDigitizationOutputConfig 
import TruthDigitizationOutputCfg
 
   11 from OutputStreamAthenaPool.OutputStreamConfig 
import OutputStreamCfg
 
   26     kwargs.setdefault(
"IntegratedLuminosity", 0.)
 
   27     acc.setPrivateTools(CompFactory.HGTD_TimingResolution(name, **kwargs))
 
   34     acc.setPrivateTools(CompFactory.HGTD_FrontEndTool(name, **kwargs))
 
   41     kwargs.setdefault(
"ActiveTimeWindow", 1.25)
 
   42     kwargs.setdefault(
"SmearMeanTime", 
True)
 
   44     acc.setPrivateTools(CompFactory.HGTD_SurfaceChargesGenerator(name, **kwargs))
 
   49     """Return ComponentAccumulator with configured HGTD_DigitizationTool""" 
   50     if flags.HGTD.Geometry.useGeoModelXml:
 
   51         from HGTD_GeoModelXml.HGTD_GeoModelConfig 
import HGTD_ReadoutGeometryCfg
 
   53         from HGTD_GeoModel.HGTD_GeoModelConfig 
import HGTD_ReadoutGeometryCfg
 
   58     kwargs.setdefault(
"InputObjectName", 
"HGTD_Hits")
 
   59     kwargs.setdefault(
"HGTDDetEleCollKey", 
"HGTD_DetectorElementCollection")
 
   60     if flags.Digitization.DoXingByXingPileUp:
 
   63     from RngComps.RngCompsConfig 
import AthRNGSvcCfg
 
   64     kwargs.setdefault(
"RndmSvc", acc.getPrimaryAndMerge(
AthRNGSvcCfg(flags)))
 
   66     acc.setPrivateTools(CompFactory.HGTD_DigitizationTool(name, **kwargs))
 
   71     """Return ComponentAccumulator with configured HGTD_DigitizationBasicTool""" 
   73     if flags.Digitization.PileUp:
 
   75         if not flags.Digitization.DoXingByXingPileUp:
 
   77         kwargs.setdefault(
"MergeSvc", acc.getPrimaryAndMerge(
PileUpMergeSvcCfg(flags, Intervals=intervals)))
 
   79         kwargs.setdefault(
"MergeSvc", 
"")
 
   80     kwargs.setdefault(
"OnlyUseContainerName", flags.Digitization.PileUp)
 
   81     if flags.Common.ProductionStep == ProductionStep.PileUpPresampling:
 
   82         kwargs.setdefault(
"OutputObjectName", f
"{flags.Overlay.BkgPrefix}HGTD_RDOs")
 
   83         kwargs.setdefault(
"OutputSDOName", f
"{flags.Overlay.BkgPrefix}HGTD_SDO_Map")
 
   85         kwargs.setdefault(
"OutputObjectName", 
"HGTD_RDOs")
 
   86         kwargs.setdefault(
"OutputSDOName", 
"HGTD_SDO_Map")
 
   88     acc.setPrivateTools(pileupTool)
 
   93     """Return ComponentAccumulator with HGTD_DigitizationTool configured for overlay""" 
   94     kwargs.setdefault(
"OnlyUseContainerName", 
False)
 
   95     kwargs.setdefault(
"OutputObjectName", f
"{flags.Overlay.SigPrefix}HGTD_RDOs")
 
   96     kwargs.setdefault(
"OutputSDOName", f
"{flags.Overlay.SigPrefix}HGTD_SDO_Map")
 
   97     kwargs.setdefault(
"MergeSvc", 
"")
 
  102     """Return a configured PileUpXingFolder tool""" 
  105     kwargs.setdefault(
"CacheRefreshFrequency", 1.0) 
 
  106     kwargs.setdefault(
"ItemList", [
"SiHitCollection#HGTD_Hits"])
 
  111     """Return ComponentAccumulator with Output for HGTD. Not standalone.""" 
  113     if flags.Output.doWriteRDO:
 
  114         ItemList = [
"HGTD_RDO_Container#*"]
 
  115         if flags.Digitization.EnableTruth:
 
  116             ItemList += [
"InDetSimDataCollection#*"]
 
  123     """Return ComponentAccumulator for HGTD digitization""" 
  125     if "PileUpTools" not in kwargs:
 
  132     """Return ComponentAccumulator with HGTD Overlay digitization""" 
  134     if flags.Common.ProductionStep != ProductionStep.FastChain:
 
  135         from SGComps.SGInputLoaderConfig 
import SGInputLoaderCfg
 
  138     if "DigitizationTool" not in kwargs:
 
  141     if flags.Concurrency.NumThreads > 0:
 
  142         kwargs.setdefault(
"Cardinality", flags.Concurrency.NumThreads)
 
  145     kwargs.setdefault(
"ExtraInputs", flags.Overlay.ExtraInputs)
 
  147     acc.addEventAlgo(CompFactory.HGTD_Digitization(name=
"HGTD_OverlayDigitization", **kwargs))
 
  153     """Return ComponentAccumulator for HGTD digitization and Output"""