35 ''' Function to configure TileTBAANtuple algorithm.'''
37 cisRun = flags.Tile.RunType
is TileRunType.CIS
38 monoRun = flags.Tile.RunType
is TileRunType.MONOCIS
39 pedestalRun = flags.Tile.RunType
is TileRunType.PED
42 offlineUnits = 0
if cisRun
or monoRun
or pedestalRun
else 3
43 calibrateEnergy = (offlineUnits != 0)
45 run = flags.Input.RunNumbers[0]
48 useFELIX =
True if run > 2310438
else False
50 TBperiod =
getTileTBperiod(run, useFELIX)
if not flags.Input.isMC
else 2003
52 kwargs.setdefault(
'TileDigitsContainer',
'TileDigitsCnt')
53 kwargs.setdefault(
'TileBeamElemContainer',
'TileBeamElemCnt' if not flags.Input.isMC
else "")
54 kwargs.setdefault(
'TileRawChannelContainerFlat',
"")
55 kwargs.setdefault(
'TileRawChannelContainerFit',
'TileRawChannelFit' if flags.Tile.doFit
else "")
56 kwargs.setdefault(
'TileRawChannelContainerOpt',
"TileRawChannelOpt2" if flags.Tile.doOpt2
else "")
57 kwargs.setdefault(
'TileRawChannelContainerDsp',
"")
58 kwargs.setdefault(
'TileRawChannelContainerFitCool',
'TileRawChannelFitCool' if flags.Tile.doFitCOOL
else "")
60 kwargs.setdefault(
'TileDigitsContainerFlx',
'TileDigitsFlxCnt' if useFELIX
else "")
61 kwargs.setdefault(
'TileRawChannelContainerFitFlx',
'TileRawChannelFlxFit' if useFELIX
and flags.Tile.doFit
else "")
62 kwargs.setdefault(
'TileRawChannelContainerOptFlx',
'TileRawChannelFlxOpt2' if useFELIX
and flags.Tile.doOpt2
else "")
64 kwargs.setdefault(
'TileHitContainer',
'TileHitCnt' if flags.Input.isMC
else "")
65 kwargs.setdefault(
'TileHitVector',
'TileHitVec' if flags.Input.isMC
else "")
66 kwargs.setdefault(
'CaloCellContainer',
'AllCalo')
68 kwargs.setdefault(
'TileLaserObj',
"")
70 kwargs.setdefault(
'OfflineUnits', offlineUnits)
71 kwargs.setdefault(
'CalibrateEnergy', calibrateEnergy)
72 kwargs.setdefault(
'CalibMode', pedestalRun
or cisRun)
73 kwargs.setdefault(
'PMTOrder',
not (cisRun
or monoRun
or pedestalRun))
75 kwargs.setdefault(
'NSamples', -1)
76 kwargs.setdefault(
'NSamplesFelix', 16
if useFELIX
else 0)
78 kwargs.setdefault(
'TBperiod', TBperiod)
81 kwargs.setdefault(
'beamFragList', [])
82 kwargs.setdefault(
'CompleteNtuple',
False)
84 from TileGeoModel.TileGMConfig
import TileGMCfg
87 from TileConditions.TileCablingSvcConfig
import TileCablingSvcCfg
90 if 'TileCondToolEmscale' not in kwargs:
91 from TileConditions.TileEMScaleConfig
import TileCondToolEmscaleCfg
93 kwargs[
'TileCondToolEmscale'] = emScaleTool
95 from TileRecUtils.TileDQstatusConfig
import TileDQstatusAlgCfg
99 from TileConditions.TileSamplingFractionConfig
import TileSamplingFractionCondAlgCfg
102 kwargs[
'TileSamplingFraction'] =
""
105 outputFile = f
'tiletb_{run}.aan.root'
106 histsvc = CompFactory.THistSvc()
107 histsvc.Output += [
"%s DATAFILE='%s' OPT='RECREATE'" % (
'AANT', outputFile)]
108 acc.addService(histsvc)
110 alg = CompFactory.TileTBAANtuple(**kwargs)
111 from TileMonitoring.TileTBBeamChambersCalibration
import updateBeamChambersCalibrations
113 acc.addEventAlgo(alg, primary=
True)