3from AthenaConfiguration.ComponentFactory
import CompFactory
4from AthenaConfiguration.MainServicesConfig
import MainEvgenServicesCfg
7 treename="HVSCALE", treenameSC="HVSCALESC"):
9 from LArGeoAlgsNV.LArGMConfig
import LArGMCfg
10 result=LArGMCfg(flags)
12 if hvcorr !=
"" and treename !=
"":
13 from LArCabling.LArCablingConfig
import LArOnOffIdMappingCfg
14 result.merge(LArOnOffIdMappingCfg(flags))
16 from LArBadChannelTool.LArBadChannelConfig
import LArBadChannelCfg
17 result.merge(LArBadChannelCfg(flags))
19 from LArConfiguration.LArElecCalibDBConfig
import LArElecCalibDBCfg
20 result.merge(LArElecCalibDBCfg(flags,[
"HVScaleCorr"]))
22 result.addEventAlgo(CompFactory.LArHVScaleCorr2Ntuple(
23 f
"LArHVScaleCorr2Ntuple-{hvcorr}", ContainerKey=hvcorr, AddFEBTempInfo=
False, OffId=
True,
24 NtuplePath=f
"/NTUPLES/FILE1/{treename}"))
26 if hvcorrSC !=
"" and treenameSC !=
"":
27 from LArConfiguration.LArElecCalibDBConfig
import LArElecCalibDBSCCfg
28 result.merge(LArElecCalibDBSCCfg(flags,[
"HVScaleCorr"]))
30 from LArCabling.LArCablingConfig
import LArOnOffIdMappingSCCfg
31 result.merge(LArOnOffIdMappingSCCfg(flags))
33 result.merge(LArBadChannelCfg(flags, isSC=
True))
35 result.addEventAlgo(CompFactory.LArHVScaleCorr2Ntuple(
36 f
"LArHVScaleCorr2Ntuple-{hvcorrSC}", AddFEBTempInfo=
False, OffId=
True, ContainerKey=hvcorrSC,
37 isSC=
True, BadChanKey =
"LArBadChannelSC", NtuplePath=f
"/NTUPLES/FILE1/{treenameSC}"))
40 if os.path.exists(rootfile):
42 result.addService(CompFactory.NTupleSvc(Output = [
"FILE1 DATAFILE='"+rootfile+
"' OPT='NEW'" ]))
43 result.setAppProperty(
"HistogramPersistency",
"ROOT")
47if __name__==
"__main__":
49 from time
import strptime
50 from calendar
import timegm
54 print(
"%s <time> <outputfile> <globaltag> [sqlitefile]" % sys.argv[0])
59 ts=strptime(sys.argv[1]+
'/UTC',
'%Y-%m-%d:%H:%M:%S/%Z')
60 TimeStamp=int(timegm(ts))
61 TimeStamp_ns=TimeStamp*1000000000
62 except ValueError
as e:
63 print(
"ERROR in time specification, use e.g. 2007-05-25:14:01:00")
67 from LArCalibProcessing.TimeStampToRunLumi
import TimeStampToRunLumi
69 rlb=TimeStampToRunLumi(TimeStamp_ns)
72 print(
"WARNING: Failed to convert time",TimeStamp_ns,
"into a run/lumi number. Using 'infinite' run-number",rlb[0])
75 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
76 flags = initConfigFlags()
77 from LArCalibProcessing.LArCalibConfigFlags
import addLArCalibFlags
78 addLArCalibFlags(flags)
80 flags.Input.RunNumbers=[rlb[0]]
81 flags.Input.TimeStamps=[TimeStamp]
83 flags.IOVDb.DatabaseInstance=
"CONDBR2"
84 from AthenaConfiguration.TestDefaults
import defaultGeometryTags, defaultConditionsTags
85 flags.GeoModel.AtlasVersion = defaultGeometryTags.RUN3
86 flags.IOVDb.GlobalTag = defaultConditionsTags.RUN3_DATA
88 rootfile=
"hvcorr_read.root"
93 flags.IOVDb.GlobalTag=sys.argv[3]
96 print(
'Taking /LAR/ElecCalibFlat/HVScaleCorr from sqlite ',sys.argv[4])
97 flags.IOVDb.SqliteInput=sys.argv[4]
98 flags.IOVDb.SqliteFolders=(
"/LAR/ElecCalibFlat/HVScaleCorr",)
101 cfg=MainEvgenServicesCfg(flags)
105 print(
"Start running...")
void print(char *figname, TCanvas *c1)
LArHVScaleCorr2NtupleCfg(flags, rootfile="hvcorr_read.root", hvcorr="LArHVScaleCorr", hvcorrSC="LArHVScaleCorrSC", treename="HVSCALE", treenameSC="HVSCALESC")