1 """ComponentAccumulator config of tools for ISF_FastCaloSimParametrization
3 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
5 from AthenaConfiguration.ComponentFactory
import CompFactory
6 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
10 NTruthParticles=1, saveAllBranches=False,
11 doG4Hits=False, doClusterInfo=False,
12 outputGeoFileName=None, **kwargs):
15 from LArGeoAlgsNV.LArGMConfig
import LArGMCfg
17 kwargs.setdefault(
"CaloDetDescrManager",
"CaloDetDescrManager")
19 from TileConditions.TileSamplingFractionConfig
import TileSamplingFractionCondAlgCfg
21 kwargs.setdefault(
"TileSamplingFraction",
"TileSamplingFraction")
23 from TileConditions.TileCablingSvcConfig
import TileCablingSvcCfg
24 kwargs.setdefault(
"TileCablingSvc", result.getPrimaryAndMerge(
TileCablingSvcCfg(flags)).name)
26 kwargs.setdefault(
"NtupleFileName",
'ISF_HitAnalysis')
27 kwargs.setdefault(
"GeoFileName",
'ISF_Geometry')
28 histOutputArray = [
"ISF_HitAnalysis DATAFILE='%s' OPT='RECREATE'" % (flags.Output.HISTFileName)]
30 histOutputArray += [
"ISF_Geometry DATAFILE='%s' OPT='RECREATE'" % (outputGeoFileName)]
31 result.addService(CompFactory.THistSvc(Output=histOutputArray))
32 kwargs.setdefault(
"NTruthParticles", NTruthParticles)
34 from FastCaloSim.FastCaloSimFactoryNew
import NITimedExtrapolatorCfg
35 kwargs.setdefault(
"Extrapolator", result.addPublicTool(result.popToolsAndMerge(
NITimedExtrapolatorCfg(flags))))
36 kwargs.setdefault(
"CaloCoordinateTool", result.addPublicTool(CompFactory.TBCaloCoordinate(
"TBCaloCoordinate")))
37 kwargs.setdefault(
"CaloEntrance",
'InDet::Containers::InnerDetector')
40 kwargs.setdefault(
"CaloBoundaryR", 1148.0)
41 kwargs.setdefault(
"CaloBoundaryZ", 3550.0)
42 kwargs.setdefault(
"CaloMargin", 100)
43 kwargs.setdefault(
"SaveAllBranches", saveAllBranches)
44 kwargs.setdefault(
"DoAllCells",
False)
45 kwargs.setdefault(
"DoLayers",
True)
46 kwargs.setdefault(
"DoLayerSums",
True)
47 kwargs.setdefault(
"DoG4Hits", doG4Hits)
48 kwargs.setdefault(
"DoClusterInfo", doClusterInfo)
49 kwargs.setdefault(
"TimingCut", 999999)
51 result.addService(CompFactory.PartPropSvc(InputFile=
"PDGTABLE.MeV"))
53 result.addEventAlgo(CompFactory.ISF_HitAnalysis(name,**kwargs))
58 from FastCaloSim.FastCaloSimFactoryNew
import NITimedExtrapolatorCfg
60 kwargs.setdefault(
"CaloEntrance",
'InDet::Containers::InnerDetector')
61 acc.setPrivateTools(CompFactory.FastCaloSimCaloTransportation(name, **kwargs))
66 kwargs.setdefault(
"CaloBoundaryR", [1148.0, 120.0, 41.0])
67 kwargs.setdefault(
"CaloBoundaryZ", [3550.0, 4587.0, 4587.0])
70 acc.setPrivateTools(CompFactory.FastCaloSimCaloExtrapolation(name, **kwargs))
75 acc.setPrivateTools(CompFactory.FastCaloSimGeometryHelper(name, **kwargs))
80 kwargs.setdefault (
'NoVolumes',
True)
81 kwargs.setdefault(
"OutputCollectionNames", [
"DefaultCaloCellContainer"])
84 from ISF_FastCaloSimServices.ISF_FastCaloSimServicesConfig
import FastHitConvertToolCfg
85 kwargs.setdefault(
"FastHitConvertTool", acc.addPublicTool(acc.popToolsAndMerge(
FastHitConvertToolCfg(flags))))
86 acc.setPrivateTools(CompFactory.CaloCellContainerSDTool(name, **kwargs))
90 flags.Sim.RecordStepInfo=
True
91 from SimulationConfig.SimEnums
import VertexSource,LArParameterization,CalibrationRun
93 flags.Sim.VertexSource=VertexSource.AsGenerated
96 flags.Sim.MuonFieldOnlyInCalo=
False
98 flags.Sim.NRRThreshold=
False
99 flags.Sim.NRRWeight=
False
101 flags.Sim.PRRThreshold=
False
102 flags.Sim.PRRWeight=
False
104 flags.Sim.LArParameterization=LArParameterization.NoFrozenShowers
105 flags.Sim.CalibrationRun=CalibrationRun.DeadLAr
109 from IOVDbSvc.IOVDbSvcConfig
import addOverride
110 cfg.merge(
addOverride(flags,
"/LAR/BadChannels/BadChannels", tag=
"LARBadChannelsBadChannels-MC-empty", db=
"COOLOFL_LAR/OFLP200"))
111 cfg.merge(
addOverride(flags,
"/TILE/OFL02/STATUS/ADC", tag=
"TileOfl02StatusAdc-EmptyBCh", db=
"COOLOFL_TILE/OFLP200"))
117 "ISF_FCS_Parametrization::FCS_StepInfoCollection#MergedEventSteps",
121 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
124 puAlg = cfg.getEventAlgo(
"StandardPileUpToolsAlg")
125 puAlg.PileUpTools[
"LArPileUpTool"].CrossTalk =
False
126 puAlg.PileUpTools[
"TileHitVecToCntTool"].HitTimeFlag = 1
127 puAlg.PileUpTools[
"TileHitVecToCntTool"].usePhotoStatistics =
False
129 cfg.getEventAlgo(
"TileDigitsMaker").IntegerDigits =
True
136 "ISF_FCS_Parametrization::FCS_StepInfoCollection#MergedEventSteps",
139 "TrackRecordCollection#CaloEntryLayer",
140 "TrackRecordCollection#MuonEntryLayer"
142 from OutputStreamAthenaPool.OutputStreamConfig
import addToESD
143 cfg.merge(
addToESD(flags, ESD_ItemList))