3 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory
import CompFactory
11 from LArGeoAlgsNV.LArGMConfig
import LArGMCfg
13 from TileGeoModel.TileGMConfig
import TileGMCfg
17 from LArCabling.LArCablingConfig
import LArOnOffIdMappingCfg
20 from LArByteStream.LArRawDataReadingConfig
import LArRawDataReadingCfg
23 from LArROD.LArRawChannelBuilderAlgConfig
import LArRawChannelBuilderAlgCfg
25 result.getEventAlgo(
"LArRawChannelBuilder").TimingContainerKey=
"LArOFIterResult"
27 from LArCellRec.LArTimeVetoAlgConfig
import LArTimeVetoAlgCfg
30 from LumiBlockComps.BunchCrossingCondAlgConfig
import BunchCrossingCondAlgCfg
33 from CaloTools.CaloNoiseCondAlgConfig
import CaloNoiseCondAlgCfg
36 from LArROD.LArFebErrorSummaryMakerConfig
import LArFebErrorSummaryMakerCfg
38 result.getEventAlgo(
"LArFebErrorSummaryMaker").CheckAllFEB=
False
40 from IOVDbSvc.IOVDbSvcConfig
import addFolders
42 '/LAR/ElecCalibOfl/Shape/RTM/5samples3bins17phases<tag>LARElecCalibOflShapeRTM5samples3bins17phases-RUN2-UPD3-00</tag><key>LArShape17phases</key>',
45 result.getService(
"PoolSvc").ReadCatalog += [
"apcfile:poolcond/PoolCat_comcond_castor.xml"]
47 if flags.LArShapeDump.doTrigger:
49 from TrigT1ResultByteStream.TrigT1ResultByteStreamConfig
import L1TriggerByteStreamDecoderCfg
52 from LArCafJobs.LArSCDumperSkeleton
import L1CaloMenuCfg
55 from TrigDecisionTool.TrigDecisionToolConfig
import TrigDecisionToolCfg
59 result.merge(
addFolders(flags,
'/LAR/ElecCalibOfl/AutoCorrs/AutoCorr<tag>LARElecCalibOflAutoCorrsAutoCorr-RUN2-UPD3-00</tag>',
'LAR_OFL',className=
'LArAutoCorrComplete'))
60 result.getService(
"IOVDbSvc").overrideTags+=[
'<prefix>/LAR/ElecCalibOfl/Shape/RTM/5samples1phase</prefix><tag>LARElecCalibOflShapeRTM5samples1phase-RUN2-UPD1-04</tag>']
62 result.getService(
"IOVDbSvc").overrideTags+=[
'<prefix>/LAR/ElecCalibOfl/OFC/PhysWave/RTM/4samples3bins17phases</prefix><tag>LARElecCalibOflOFCPhysWaveRTM4samples3bins17phases-RUN2-UPD3-00</tag>']
63 result.getService(
"IOVDbSvc").overrideTags+=[
'<prefix>/LAR/ElecCalibOfl/Shape/RTM/4samples3bins17phases</prefix><tag>LARElecCalibOflShapeRTM4samples3bins17phases-RUN2-UPD3-00</tag>']
65 if(flags.LArShapeDump.digitsKeySC !=
""):
67 from LArCabling.LArCablingConfig
import LArOnOffIdMappingSCCfg
69 from LArBadChannelTool.LArBadChannelConfig
import LArBadChannelCfg
71 from LArConfiguration.LArElecCalibDBConfig
import LArElecCalibDBSCCfg
73 from LArByteStream.LArRawSCDataReadingConfig
import LArRawSCDataReadingCfg
75 from LArConfiguration.LArElecCalibDBConfig
import LArElecCalibDBSCCfg
76 result.merge(
LArElecCalibDBSCCfg(flags, condObjs=[
"Ramp",
"DAC2uA",
"uA2MeV",
"MphysOverMcal",
"OFC",
"Shape",
"HVScaleCorr"]))
77 nEnergies =
max(flags.LArShapeDump.ndigitsSC - 3, 0)
78 larLATOMEBuilderAlg=CompFactory.LArLATOMEBuilderAlg(
"LArLATOMEBuilderAlg",LArDigitKey=flags.LArShapeDump.digitsKeySC, isADCBas=
"BAS" in flags.LArShapeDump.digitsKeySC, nEnergies=nEnergies, startEnergy = 0)
79 result.addEventAlgo(larLATOMEBuilderAlg)
84 print(
"Dumping flags: ")
86 dumperAlg=CompFactory.LArShapeDumper(
"LArShapeDumper")
87 dumperAlg.CaloType = flags.LArShapeDump.caloType
88 dumperAlg.Prescale = flags.LArShapeDump.prescale
89 dumperAlg.NoiseSignifCut = flags.LArShapeDump.noiseSignifCut
90 dumperAlg.DoTrigger = flags.LArShapeDump.doTrigger
91 dumperAlg.DoStream = flags.LArShapeDump.doStream
92 dumperAlg.DoOFCIter = flags.LArShapeDump.doOFCIter
93 dumperAlg.DumpChannelInfos = flags.LArShapeDump.dumpChannelInfos
94 dumperAlg.DumpDisconnected =
False
95 dumperAlg.DigitsKey = flags.LArShapeDump.digitsKey
96 dumperAlg.ProblemsToMask=[
'deadReadout',
'deadPhys',
'almostDead',
'short',
97 'highNoiseHG',
'highNoiseMG',
'highNoiseLG']
98 dumperAlg.ProblemsToMaskSC=[
"deadCalib",
"deadReadout",
"deadPhys",
"maskedOSUM",
99 "OffOFCs",
"transmissionErrorFibre"]
100 dumperAlg.LArShapeDumperTool=CompFactory.LArShapeDumperTool(DoShape=
True)
101 dumperAlg.LArShapeDumperToolSC=CompFactory.LArShapeDumperTool(
"LArShapeDumperToolSC",DoShape=
False,IsSC=
True)
102 dumperAlg.FileName=flags.LArShapeDump.outputNtup
103 dumperAlg.TriggerNames = flags.LArShapeDump.triggerNames
104 dumperAlg.TrigDecisionTool = result.getPublicTool(
'TrigDecisionTool')
105 from LArConfiguration.LArConfigFlags
import RawChannelSource
106 if flags.LAr.RawChannelSource == RawChannelSource.Calculated:
107 dumperAlg.ChannelsKey =
"LArRawChannels_FromDigits"
109 dumperAlg.EnergyCutSC = flags.LArShapeDump.energySCCut
112 result.addEventAlgo(dumperAlg)
114 if (flags.LArShapeDump.HECNoiseNtup!=
""):
115 hns=CompFactory.LArHECNoise()
116 hns.TrigDecisionTool = result.getPublicTool(
'TrigDecisionTool')
117 result.addEventAlgo(hns)
118 result.addService(CompFactory.THistSvc(Output=[
"HEC DATAFILE='"+flags.LArShapeDump.HECNoiseNtup+
"' OPT='RECREATE'",]))
123 if __name__==
"__main__":
125 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
128 from LArShapeDumperFlags
import addShapeDumpFlags
131 from AthenaConfiguration.TestDefaults
import defaultTestFiles
132 flags.Input.Files=defaultTestFiles.RAW_RUN2
133 flags.LAr.ROD.forceIter=
True
137 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg