4from AthenaConfiguration.Enums
import LHCPeriod, ProductionStep
13 acc = LArADC2MeVCondAlgCfg(flags)
20 flags.LAr.ROD.nPreceedingSamples
21 if flags.LAr.ROD.nPreceedingSamples != 0
22 else flags.LAr.ROD.FirstSample
25 obj =
"AthenaAttributeList"
26 dspkey =
"Run2DSPThresholdsKey"
27 from IOVDbSvc.IOVDbSvcConfig
import addFolders
29 kwargs.setdefault(
"ShapeKey",
"LArShapeSym")
32 acc.merge(LArOFCCondAlgCfg(flags))
33 kwargs.setdefault(
"LArRawChannelKey",
"LArRawChannels")
35 if flags.GeoModel.Run
is LHCPeriod.Run1:
36 kwargs.setdefault(
"useDB",
False)
39 fld =
"/LAR/NoiseOfl/DSPThresholds"
42 dbInstance =
"LAR_OFL"
44 addFolders(flags, fld, dbInstance, className=obj, db=dbString)
47 if flags.LAr.ROD.ApplyRODBCIDCorr:
49 mlog = logging.getLogger(
"LArOFFCRawChannelBuilderCfg")
50 mlog.info(
"LAr.ROD.ApplyRODBCIDCorr is set: reading pile-up "
51 "corrected digits LArDigitContainer_PileupCorrected")
52 kwargs.setdefault(
"LArDigitKey",
"LArDigitContainer_PileupCorrected")
53 elif flags.Common.ProductionStep
is ProductionStep.PileUpPresampling:
55 "LArDigitKey", flags.Overlay.BkgPrefix +
"LArDigitContainer_MC"
58 kwargs.setdefault(
"LArDigitKey",
"LArDigitContainer_MC")
61 acc.merge(LArElecCalibDBCfg(flags, (
"OFC",
"Shape",
"Pedestal")))
62 if flags.Overlay.DataOverlay:
63 kwargs.setdefault(
"LArDigitKey",
"LArDigitContainer_MC")
64 kwargs.setdefault(
"LArRawChannelKey",
"LArRawChannels")
66 kwargs.setdefault(
"LArRawChannelKey",
"LArRawChannels_FromDigits")
68 if "COMP200" in flags.IOVDb.DatabaseInstance:
69 fld =
"/LAR/Configuration/DSPThreshold/Thresholds"
70 obj =
"LArDSPThresholdsComplete"
71 dspkey =
"Run1DSPThresholdsKey"
72 sgkey =
"LArDSPThresholds"
75 fld =
"/LAR/Configuration/DSPThresholdFlat/Thresholds"
78 dbInstance =
"LAR_ONL"
79 acc.merge(addFolders(flags, fld, dbInstance, className=obj, db=dbString))
83 kwargs.setdefault(dspkey, sgkey)
86 flags.LAr.ROD.forceIter
87 or flags.LAr.RawChannelSource
is RawChannelSource.Calculated
92 kwargs.setdefault(
"minSample", 2)
93 kwargs.setdefault(
"maxSample", 12)
94 kwargs.setdefault(
"minADCforIterInSigma", 4)
95 kwargs.setdefault(
"minADCforIter", 15)
96 kwargs.setdefault(
"defaultPhase", 12)
100 larformat = getLArFormatForRun(
101 flags.Input.RunNumbers[0],
102 connstring=
"COOLONL_LAR/" + flags.IOVDb.DatabaseInstance,
104 if larformat
is not None:
105 nominalPeakSample = larformat.firstSample()
107 print(
"WARNING: larformat not found, use nominalPeakSample = 2")
108 nominalPeakSample = 2
109 if nominalPeakSample > 1:
110 kwargs.setdefault(
"DefaultShiftTimeSample", nominalPeakSample - 2)
112 kwargs.setdefault(
"DefaultShiftTimeSample", 0)
114 acc.addEventAlgo(CompFactory.LArRawChannelBuilderIterAlg(**kwargs))
117 kwargs.setdefault(
"BelowThreshold", flags.LAr.ROD.OFFCBelowThreshold)
118 kwargs.setdefault(
"BelowTillReset", flags.LAr.ROD.OFFCBelowTillReset)
119 kwargs.setdefault(
"NPulse", flags.LAr.ROD.OFFCNPulse)
120 kwargs.setdefault(
"Q3Cut", flags.LAr.ROD.OFFCQ3Cut)
121 kwargs.setdefault(
"Q3Offset", flags.LAr.ROD.OFFCQ3Offset)
122 kwargs.setdefault(
"FilterThreshold", flags.LAr.ROD.OFFCFilterThreshold)
124 acc.addEventAlgo(CompFactory.LArOFFCRawChannelBuilder(name, **kwargs))
137 from AthenaConfiguration.TestDefaults
import defaultConditionsTags, defaultGeometryTags, defaultTestFiles