10 """Return component accumulator with configured Tile muon receiver algorithm
13 flags -- Athena configuration flags
16 kwargs.setdefault(
'name',
'TilePulseForTileMuonReceiver')
17 kwargs.setdefault(
'TileHitContainer',
'TileHitCnt')
18 kwargs.setdefault(
'MuonReceiverRawChannelContainer',
'MuRcvRawChCnt')
19 kwargs.setdefault(
'MaskBadChannels',
False)
20 kwargs.setdefault(
'UseCoolPulseShapes',
True)
21 kwargs.setdefault(
'UseCoolPedestal',
False)
22 kwargs.setdefault(
'UseCoolNoise',
False)
23 kwargs.setdefault(
'TilePulseShape',
'TileMuRcvPulseShape')
27 from TileConditions.TileInfoLoaderConfig
import TileInfoLoaderCfg
29 infoLoader = acc.getService(
'TileInfoLoader')
30 pedestal = infoLoader._descriptors[
'MuRcvPed'].default
32 from TileConditions.TileCablingSvcConfig
import TileCablingSvcCfg
35 from TileConditions.TileSamplingFractionConfig
import TileSamplingFractionCondAlgCfg
38 if 'RndmSvc' not in kwargs:
39 from RngComps.RngCompsConfig
import AthRNGSvcCfg
40 kwargs[
'RndmSvc'] = acc.getPrimaryAndMerge(
AthRNGSvcCfg(flags)).name
42 if kwargs[
'UseCoolNoise']
or kwargs[
'UseCoolPedestal']:
43 from TileConditions.TileSampleNoiseConfig
import TileSampleNoiseCondAlgCfg
46 from TileConditions.TileEMScaleConfig
import TileEMScaleCondAlgCfg
49 if kwargs[
'MaskBadChannels']:
50 from TileConditions.TileBadChannelsConfig
import TileBadChannelsCondAlgCfg
53 if kwargs[
'UseCoolPulseShapes']:
54 from TileConditions.TilePulseShapeConfig
import TilePulseShapeCondAlgCfg
55 acc.merge(
TilePulseShapeCondAlgCfg(flags, Source=
'FILE', TilePulseShape=kwargs[
'TilePulseShape'], PulseType=
'MURCV') )
57 if 'TileRawChannelBuilderMF' not in kwargs:
58 from TileConditions.TilePulseShapeConfig
import TileCondToolMuRcvPulseShapeCfg
61 from TileConditions.TileOFCConfig
import TileCondToolOfcCfg
63 OptFilterDeltaCorrelation =
True,
64 TileCondToolPulseShape = pulseShapeTool) )
67 from TileRecUtils.TileRawChannelBuilderMFConfig
import TileRawChannelBuilderMFCfg
70 DefaultPedestal = pedestal,
71 TileCondToolOfcOnFly = ofcTool,
72 TileCondToolOfc = ofcTool,
73 TileRawChannelContainer =
"") )
74 kwargs[
'TileRawChannelBuilderMF'] = rawChanBuilder
77 kwargs.setdefault(
'IntegerDigits', flags.Common.ProductionStep != ProductionStep.PileUpPresampling)
79 if flags.Common.ProductionStep == ProductionStep.PileUpPresampling:
80 kwargs.setdefault(
'MuonReceiverDigitsContainer', flags.Overlay.BkgPrefix +
'MuRcvDigitsCnt')
82 kwargs.setdefault(
'MuonReceiverDigitsContainer',
'MuRcvDigitsCnt')
84 if flags.Common.isOverlay
and flags.Concurrency.NumThreads > 0:
85 kwargs.setdefault(
'Cardinality', flags.Concurrency.NumThreads)
87 TilePulseForTileMuonReceiver=CompFactory.TilePulseForTileMuonReceiver