45def TileTestBeamRecoCfg(flags, useDemoCabling, nsamples, useFELIX=False, filterDigits=False, filterChannels=True):
46
47 ''' Function to configure reconstruction of Tile TestBeam data.'''
48
49 acc = ComponentAccumulator()
50
51 suffix = "Flx" if useFELIX else ""
52 digitsContainer = f'TileDigits{suffix}Cnt'
53 rawChannelContainer = flags.Tile.RawChannelContainer.replace('TileRawChannel', f'TileRawChannel{suffix}')
54
55
56 if useFELIX and filterDigits:
57 digitsContainer = 'TileDigitsFlxFiltered'
58 TileDigitsGainFilter = CompFactory.TileDigitsGainFilter
60 InputDigitsContainer='TileDigitsFlxCnt',
61 OutputDigitsContainer=digitsContainer) )
62
63
64 acc.merge(TileTestBeamRawChannelMakerCfg(flags, nsamples, useFELIX, TileDigitsContainer=digitsContainer))
65
66 if useFELIX and filterChannels:
67 rawChannelContainerFiltered = f'{rawChannelContainer}Filtered'
68 TileRawChannelGainFilter = CompFactory.TileRawChannelGainFilter
70 OutputRawChannelContainer=rawChannelContainerFiltered) )
71 rawChannelContainer = rawChannelContainerFiltered
72
73
74 from TileRecUtils.TileCellMakerConfig import TileCellMakerCfg
75 skipGains = [0, 1] if flags.Tile.RunType.isBiGain() else [-1]
76 gainName = {-1 : "", 0 : "HG", 1 : "LG"}
77 for skipGain in skipGains:
78 cellMaker = acc.getPrimaryAndMerge(TileCellMakerCfg(flags, name=f'TileCell{suffix}Maker{gainName[skipGain]}',
79 CaloCellsOutputName=f'AllCalo{suffix}{gainName[skipGain]}',
80 mergeChannels=False, SkipGain=skipGain))
81 cellBuilder = cellMaker.CaloCellMakerToolNames['TileCellBuilder']
82 cellBuilder.TileRawChannelContainer = rawChannelContainer
83 cellBuilder.UseDemoCabling = useDemoCabling
84 cellBuilder.maskBadChannels = False
85 cellBuilder.MBTSContainer = ""
86 cellBuilder.E4prContainer = ""
87
88
89
90 ADCmax = 4095 if useFELIX else 1023
91 ADCmaskValue = 4800 if useFELIX else 2047
92 from TileConditions.TileInfoLoaderConfig import TileInfoLoaderCfg
93 acc.merge(TileInfoLoaderCfg(flags, name=f'TileInfoLoader{suffix}', TileInfo=f'TileInfo{suffix}',
94 NSamples=nsamples, TrigSample=((nsamples-1)//2),
95 ADCmax=ADCmax, ADCmaskValue=ADCmaskValue))
96
97 return acc
98
99
This algorithm copies TileDigits from input container to output container.
This algorithm copies TileRawChannel from input container to output container.