ATLAS Offline Software
Loading...
Searching...
No Matches
python.LArOFFCChannelBuilder Namespace Reference

Functions

 LArOFFCRawChannelBuilderCfg (flags, name="LArOFFCRawChannelBuilder", **kwargs)

Variables

 flags = initConfigFlags()
 Files
 AtlasVersion
 GlobalTag
 isMC
 GeometryTile
 acc = MainServicesCfg(flags)
 DumpLArRawChannels = CompFactory.DumpLArRawChannels
 sequenceName

Function Documentation

◆ LArOFFCRawChannelBuilderCfg()

LArOFFCRawChannelBuilderCfg ( flags,
name = "LArOFFCRawChannelBuilder",
** kwargs )

Definition at line 11 of file LArOFFCChannelBuilder.py.

11def LArOFFCRawChannelBuilderCfg(flags, name="LArOFFCRawChannelBuilder", **kwargs):
12
13 acc = LArADC2MeVCondAlgCfg(flags)
14
15 # Index of the digit sample the OFC window starts at, same convention as
16 # the other raw channel builders
17 kwargs.setdefault(
18 "firstSample",
19 (
20 flags.LAr.ROD.nPreceedingSamples
21 if flags.LAr.ROD.nPreceedingSamples != 0
22 else flags.LAr.ROD.FirstSample
23 ),
24 )
25 obj = "AthenaAttributeList"
26 dspkey = "Run2DSPThresholdsKey"
27 from IOVDbSvc.IOVDbSvcConfig import addFolders
28
29 kwargs.setdefault("ShapeKey", "LArShapeSym")
30
31 if flags.Input.isMC:
32 acc.merge(LArOFCCondAlgCfg(flags))
33 kwargs.setdefault("LArRawChannelKey", "LArRawChannels")
34
35 if flags.GeoModel.Run is LHCPeriod.Run1: # back to flat threshold
36 kwargs.setdefault("useDB", False)
37 dspkey = ""
38 else:
39 fld = "/LAR/NoiseOfl/DSPThresholds"
40 sgkey = fld
41 dbString = "OFLP200"
42 dbInstance = "LAR_OFL"
43 acc.merge(
44 addFolders(flags, fld, dbInstance, className=obj, db=dbString)
45 )
46
47 if flags.LAr.ROD.ApplyRODBCIDCorr:
48 # Read the digits produced by LArRODBCIDCorrAlg instead of the raw ones
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:
54 kwargs.setdefault(
55 "LArDigitKey", flags.Overlay.BkgPrefix + "LArDigitContainer_MC"
56 )
57 else:
58 kwargs.setdefault("LArDigitKey", "LArDigitContainer_MC")
59
60 else:
61 acc.merge(LArElecCalibDBCfg(flags, ("OFC", "Shape", "Pedestal")))
62 if flags.Overlay.DataOverlay:
63 kwargs.setdefault("LArDigitKey", "LArDigitContainer_MC")
64 kwargs.setdefault("LArRawChannelKey", "LArRawChannels")
65 else:
66 kwargs.setdefault("LArRawChannelKey", "LArRawChannels_FromDigits")
67
68 if "COMP200" in flags.IOVDb.DatabaseInstance:
69 fld = "/LAR/Configuration/DSPThreshold/Thresholds"
70 obj = "LArDSPThresholdsComplete"
71 dspkey = "Run1DSPThresholdsKey"
72 sgkey = "LArDSPThresholds"
73 dbString = "COMP200"
74 else:
75 fld = "/LAR/Configuration/DSPThresholdFlat/Thresholds"
76 sgkey = fld
77 dbString = "CONDBR2"
78 dbInstance = "LAR_ONL"
79 acc.merge(addFolders(flags, fld, dbInstance, className=obj, db=dbString))
80
81 # Run 1 MC falls back to a flat threshold and sets no folder at all
82 if len(dspkey) > 0:
83 kwargs.setdefault(dspkey, sgkey)
84
85 if (
86 flags.LAr.ROD.forceIter
87 or flags.LAr.RawChannelSource is RawChannelSource.Calculated
88 ):
89 # Iterative OFC procedure. There is no OFFC variant of it, so this
90 # falls back to the standard iterative builder and none of the OFFC
91 # properties below may be set here: it declares none of them.
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)
97 nominalPeakSample = 2
98 from LArConditionsCommon.LArRunFormat import getLArFormatForRun
99
100 larformat = getLArFormatForRun(
101 flags.Input.RunNumbers[0],
102 connstring="COOLONL_LAR/" + flags.IOVDb.DatabaseInstance,
103 )
104 if larformat is not None:
105 nominalPeakSample = larformat.firstSample()
106 else:
107 print("WARNING: larformat not found, use nominalPeakSample = 2")
108 nominalPeakSample = 2
109 if nominalPeakSample > 1:
110 kwargs.setdefault("DefaultShiftTimeSample", nominalPeakSample - 2)
111 else:
112 kwargs.setdefault("DefaultShiftTimeSample", 0)
113
114 acc.addEventAlgo(CompFactory.LArRawChannelBuilderIterAlg(**kwargs))
115 else:
116 # Default OFFC Configuration
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)
123
124 acc.addEventAlgo(CompFactory.LArOFFCRawChannelBuilder(name, **kwargs))
125
126 return acc
127
128
void print(char *figname, TCanvas *c1)

Variable Documentation

◆ acc

python.LArOFFCChannelBuilder.acc = MainServicesCfg(flags)

Definition at line 152 of file LArOFFCChannelBuilder.py.

◆ AtlasVersion

python.LArOFFCChannelBuilder.AtlasVersion

Definition at line 141 of file LArOFFCChannelBuilder.py.

◆ DumpLArRawChannels

python.LArOFFCChannelBuilder.DumpLArRawChannels = CompFactory.DumpLArRawChannels

Definition at line 156 of file LArOFFCChannelBuilder.py.

◆ Files

python.LArOFFCChannelBuilder.Files

Definition at line 140 of file LArOFFCChannelBuilder.py.

◆ flags

python.LArOFFCChannelBuilder.flags = initConfigFlags()

Definition at line 139 of file LArOFFCChannelBuilder.py.

◆ GeometryTile

python.LArOFFCChannelBuilder.GeometryTile

Definition at line 146 of file LArOFFCChannelBuilder.py.

◆ GlobalTag

python.LArOFFCChannelBuilder.GlobalTag

Definition at line 142 of file LArOFFCChannelBuilder.py.

◆ isMC

python.LArOFFCChannelBuilder.isMC

Definition at line 145 of file LArOFFCChannelBuilder.py.

◆ sequenceName

python.LArOFFCChannelBuilder.sequenceName

Definition at line 161 of file LArOFFCChannelBuilder.py.