6 from PyJobTransforms.CommonRunArgsToFlags
import commonRunArgsToFlags
7 from PyJobTransforms.TransformUtils
import processPreExec, processPreInclude, processPostExec, processPostInclude
8 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
12 from AthenaCommon.Logging
import logging
13 mlog_SCD = logging.getLogger(
'LArSCRecoTestSkeleton' )
15 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
18 from LArCafJobs.LArSCDumperFlags
import addSCDumpFlags
20 from LArCalibProcessing.LArCalibConfigFlags
import addLArCalibFlags
28 from AthenaConfiguration.TestDefaults
import defaultGeometryTags
29 flags.GeoModel.AtlasVersion = defaultGeometryTags.RUN3
30 flags.Input.Files=runArgs.inputBSFile
31 flags.LArSCDump.outputNtup=runArgs.outputNTUP_SCRecoFile
34 flags.LArSCDump.doGeom=
False
36 flags.LArSCDump.doBC=
True
40 runinfo=
getLArDTInfoForRun(flags.Input.RunNumbers[0], connstring=
"COOLONL_LAR/CONDBR2")
42 mlog_SCD.warning(
"Could not get DT run info, using defaults !")
43 flags.LArSCDump.doEt=
True
44 flags.LArSCDump.nSamples=5
47 flags.LArSCDump.digitsKey=
"SC_ADC_BAS"
50 fw=runinfo.FWversion()
51 flags.LArSCDump.digitsKey=
""
52 for i
in range(0,len(runinfo.streamTypes())):
53 if runinfo.streamTypes()[i] ==
"SelectedEnergy":
55 flags.LArSCDump.doEt=
True
56 flags.LArSCDump.nEt=runinfo.streamLengths()[i]
57 elif runinfo.streamTypes()[i] ==
"Energy":
59 flags.LArSCDump.doEt=
True
60 flags.LArSCDump.nEt=runinfo.streamLengths()[i]
61 elif runinfo.streamTypes()[i] ==
"RawADC":
62 flags.LArSCDump.digitsKey=
"SC"
63 flags.LArSCDump.nSamples=runinfo.streamLengths()[i]
64 elif runinfo.streamTypes()[i] ==
"ADC":
65 flags.LArSCDump.digitsKey=
"SC_ADC_BAS"
66 flags.LArSCDump.nSamples=runinfo.streamLengths()[i]
69 flags.LArSCDump.doRawChan=
True
71 print(
"Autoconfigured: ",flags.LArSCDump.nEt, flags.LArSCDump.nSamples)
80 from LArCabling.LArCablingConfig
import LArOnOffIdMappingCfg, LArOnOffIdMappingSCCfg
84 from LArConfiguration.LArElecCalibDBConfig
import LArElecCalibDBSCCfg
85 cfg.merge(
LArElecCalibDBSCCfg(flags, condObjs=[
"Ramp",
"DAC2uA",
"Pedestal",
"uA2MeV",
"MphysOverMcal",
"OFC",
"Shape",
"HVScaleCorr"]))
87 from TrigConfigSvc.TrigConfigSvcCfg
import BunchGroupCondAlgCfg
91 from LArGeoAlgsNV.LArGMConfig
import LArGMCfg
95 from IOVDbSvc.IOVDbSvcConfig
import addOverride
96 cfg.merge(
addOverride(flags,
"/LAR/Identifier/LatomeMapping",
"LARIdentifierLatomeMapping-fw6"))
98 if flags.LArSCDump.doBC:
99 from LArBadChannelTool.LArBadChannelConfig
import LArBadChannelCfg
103 from LArByteStream.LArRawDataReadingConfig
import LArRawDataReadingCfg
106 from LArROD.LArRawChannelBuilderAlgConfig
import LArRawChannelBuilderAlgCfg
109 from LArByteStream.LArRawSCDataReadingConfig
import LArRawSCDataReadingCfg
111 SCData_acc.OutputLevel=3
112 cfg.merge(SCData_acc)
114 from AthenaConfiguration.ComponentFactory
import CompFactory
115 larLATOMEBuilderAlg=CompFactory.LArLATOMEBuilderAlg(
"LArLATOMEBuilderAlg",LArDigitKey=flags.LArSCDump.digitsKey, isADCBas=
"BAS" in flags.LArSCDump.digitsKey, nEnergies = flags.LArSCDump.nSamples - 3, startEnergy=runArgs.startSampleShift)
116 cfg.addEventAlgo(larLATOMEBuilderAlg)
118 cfg.addEventAlgo(CompFactory.LArSC2NtupleEB(
"LArSC2NtupleEB", isSC=
True, AddBadChannelInfo=flags.LArSCDump.doBC, BadChanKey=
"LArBadChannelSC",
119 OffId=flags.LArSCDump.doOfflineId, AddHash=flags.LArSCDump.doHash, AddCalib=flags.LArSCDump.doCalib, RealGeometry=flags.LArSCDump.doGeom, ExpandId=flags.LArSCDump.expandId,
120 FillBCID=flags.LArSCDump.doBCID, EnergyContainerKey=SCKey,
121 scNet=flags.LArSCDump.nEt, EnergyCut=runArgs.energyCut,
122 RecoContainerKey=
"SC_ET_RECO", RawChanContainerKey=
"LArRawChannels",
125 if os.path.exists(flags.LArSCDump.outputNtup):
126 os.remove(flags.LArSCDump.outputNtup)
127 cfg.addService(CompFactory.NTupleSvc(Output = [
"FILE1 DATAFILE='"+flags.LArSCDump.outputNtup+
"' OPT='NEW'" ]))
128 cfg.setAppProperty(
"HistogramPersistency",
"ROOT")
140 sys.exit(
not sc.isSuccess())