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

Classes

class  RawChannelSource

Functions

 createLArConfigFlags ()
 _getLArRunInfo (prevFlags)
 _determineRawChannelSource (prevFlags)

Variables

 _lArRunInfo = None

Function Documentation

◆ _determineRawChannelSource()

_determineRawChannelSource ( prevFlags)
protected

Definition at line 146 of file LArConfigFlags.py.

146def _determineRawChannelSource(prevFlags):
147 log = logging.getLogger('LArConfigFlags.determineRawChannelSource')
148 if prevFlags.Input.isMC or prevFlags.Overlay.DataOverlay:
149 return RawChannelSource.Input
150
151 lri=_getLArRunInfo(prevFlags)
152 #runType: 0=RawData, 1=RawDataResult, 2=Result
153 if lri is None or lri.runType is None:
154 log.warning("WARNING do not have LArRunInfo !")
155 return RawChannelSource.Both
156 log.info("runType %d",lri.runType())
157 if (lri.runType()==0):
158 return RawChannelSource.Calculated #Have only digits in bytestream
159 elif (lri.runType()==1 or lri.runType()==2):
160 return RawChannelSource.Both #Have both, digits and raw-channels in bytestream
161 else:
162 log.warning("Unknown LAr run type %i",lri.runType())
163 return RawChannelSource.Both

◆ _getLArRunInfo()

_getLArRunInfo ( prevFlags)
protected

Definition at line 134 of file LArConfigFlags.py.

134def _getLArRunInfo(prevFlags):
135 log = logging.getLogger('LArConfigFlags.getLArRunInfo')
136 global _lArRunInfo #Cache of lar run info
137 if _lArRunInfo is None:
138 from LArConditionsCommon.LArRunFormat import getLArFormatForRun
139 runnbr=prevFlags.Input.RunNumbers[0] #If more than one run, assume config for first run is valid for all runs
140 dbStr="COOLONL_LAR/"+prevFlags.IOVDb.DatabaseInstance
141 _lArRunInfo=getLArFormatForRun(run=runnbr,connstring=dbStr)
142 log.info("Got LArRunInfo for run %d",runnbr)
143 return _lArRunInfo
144
145

◆ createLArConfigFlags()

createLArConfigFlags ( )

Definition at line 13 of file LArConfigFlags.py.

13def createLArConfigFlags():
14 lcf=AthConfigFlags()
15
16 lcf.addFlag("LAr.doAlign",lambda prevFlags : prevFlags.GeoModel.Layout=="atlas")
17 lcf.addFlag("LAr.doHVCorr",lambda prevFlags : not prevFlags.Input.isMC)
18 lcf.addFlag("LAr.doCellEmMisCalib",lambda prevFlags : prevFlags.Input.isMC)
19
20 lcf.addFlag("LAr.RawChannelSource", _determineRawChannelSource, type=RawChannelSource)
21
22 lcf.addFlag("LAr.doCellNoiseMasking",True)
23 lcf.addFlag("LAr.doCellSporadicNoiseMasking",True)
24 lcf.addFlag("LAr.doBadFebMasking",lambda prevFlags : not prevFlags.Input.isMC)
25 lcf.addFlag("LAr.doDeadOTxCorr",lambda prevFlags : not prevFlags.Input.isMC and prevFlags.GeoModel.Run >= LHCPeriod.Run3)
26
27 # Include MC shape folder
28 lcf.addFlag("LAr.UseMCShape", True)
29 # Name of sqlite file containing Electronic Calibration values
30 lcf.addFlag("LAr.ElecCalibSqlite", "")
31 # Load Electronic Calibration constants
32 lcf.addFlag("LAr.LoadElecCalib", True)
33 # Folder name for Optimal Filtering coefficients (empty means default)
34 lcf.addFlag("LAr.OFCShapeFolder", "")
35 # Load conditions with this `run-number' string
36 lcf.addFlag("LAr.ForceIOVRunNumber", "")
37 # Include Shape folder
38 lcf.addFlag("LAr.UseShape", True)
39 # DataBase server string
40 lcf.addFlag("LAr.DBConnection", "")
41
42 # Number of collisions to optimize OFC for pileup
43 lcf.addFlag("LAr.ROD.NumberOfCollisions",0)
44 # Number of samples in LAr digitization + ROD emulation
45 lcf.addFlag("LAr.ROD.nSamples", 5)
46 # Index of first sample in LAr digitization + ROD emulation
47 lcf.addFlag("LAr.ROD.FirstSample", 0)
48 # Number of preceeding samples (necessary for phase 2 simulation)
49 lcf.addFlag("LAr.ROD.nPreceedingSamples", 0)
50 # Force using the highest gain autocorrelation function
51 # when doing OFC optimization
52 lcf.addFlag("LAr.ROD.UseHighestGainAutoCorr", False)
53 # Flag not to use pileup noise neither average constrain in EMB and EMEC-OW,
54 # and both pileup noise and average constrain everywhere else
55 lcf.addFlag("LAr.ROD.DoOFCMixedOptimization", False)
56
58 lcf.addFlag("LAr.ROD.UseDelta", 0)
59 # Force using the iterative OFC procedure
60 lcf.addFlag("LAr.ROD.forceIter",False)
61 # NN based energy reconstruction
62 lcf.addFlag("LAr.ROD.NNRawChannelBuilding", False)
63 # OFFC based energy reconstruction
64 lcf.addFlag("LAr.ROD.OFFCRawChannelBuilding", False)
65
66 lcf.addFlag("LAr.ROD.OFFCBelowThreshold", 3)
67 lcf.addFlag("LAr.ROD.OFFCBelowTillReset", 7)
68 lcf.addFlag("LAr.ROD.OFFCNPulse", 5)
69 lcf.addFlag("LAr.ROD.OFFCQ3Cut", 3.0) # relative term, on Q3/A
70 lcf.addFlag("LAr.ROD.OFFCQ3Offset", 2.0) # absolute term in ADC
71 lcf.addFlag("LAr.ROD.OFFCFilterThreshold", 2.0)
72 lcf.addFlag("LAr.ROD.OFFCFilterThresholdByLayer", {
73 "EMEC-OW/1": 100.0,
74 "FCAL/2": 25.0,
75 "EMB/1": 50.0,
76 "EMEC-OW/0": 50.0,
77 "EMB/2": 25.0,
78 "FCAL/3": 25.0,
79 "EMB/0": 75.0,
80 "EMEC-OW/2": 50.0,
81 "FCAL/1": 25.0,
82 "HEC/0": 100.0,
83 "EMEC-IW/2": 25.0,
84 "HEC/3": 75.0,
85 "EMEC-IW/1": 50.0,
86 "EMB/3": 250.0,
87 "EMEC-OW/3": 250.0,
88 "HEC/1": 50.0,
89 "HEC/2": 250.0,
90 })
91 lcf.addFlag("LAr.ROD.OFFCEnabledLayers", [])
92 lcf.addFlag("LAr.ROD.OFFCQ3CutByLayer", {})
93 lcf.addFlag("LAr.ROD.OFFCQ3OffsetByLayer", {})
94 lcf.addFlag("LAr.ROD.OFFCNPulseByLayer", {})
95
96 # Perform a minbias correct to the LArDigit energies before building the raw channels
97 # (SHOULD TURN OFF ConfigFlags.Calo.Cell.doPileupOffsetBCIDCorr to not double count)
98 lcf.addFlag("LAr.ROD.ApplyRODBCIDCorr", False)
99
100 # default LArRawSC container
101 lcf.addFlag("LAr.LATOME.DTInfoForL1","SC_ET_ID")
102 # storing SC CaloCellContainer with bcid'ed energies
103 lcf.addFlag("LAr.DT.storeET_ID",False)
104 lcf.addFlag("LAr.DT.ET_IDKey","SCell")
105 lcf.addFlag("LAr.DT.doSCMasking",True)
106 # storing SC CaloCellContainers +-1 around bcid'ed energies
107 lcf.addFlag("LAr.DT.storeET_additional",False)
108 lcf.addFlag("LAr.DT.ET_PlusKey","SCellPlus")
109 lcf.addFlag("LAr.DT.ET_MinusKey","SCellMinus")
110
111
113 lcf.addFlag("LAr.NoisyRO.CellQuality", 4000)
114 # Number of channels above quality cut
115 lcf.addFlag("LAr.NoisyRO.BadChanPerFEB", 30)
116 # Number of Bad FEBs per partition cut
117 lcf.addFlag("LAr.NoisyRO.BadFEBCut", 5)
118 # Number of channels to declare MNB-Loose
119 lcf.addFlag("LAr.NoisyRO.MNBLooseCut", 5)
120 # Number of channels to declare MNB-Tight
121 lcf.addFlag("LAr.NoisyRO.MNBTightCut", 17)
122 # Number of channels to declare MNB-Tight wir PS veto
123 lcf.addFlag("LAr.NoisyRO.MNBTight_PsVetoCut", [13,3])
124 # Number of noisy HVlines
125 lcf.addFlag("LAr.NoisyRO.BadHVCut", 3)
126 # Fraction of cells noisy on one HV line
127 lcf.addFlag("LAr.NoisyRO.BadHVlineFrac", 0.25)
128
129 return lcf
130
131

Variable Documentation

◆ _lArRunInfo

python.LArConfigFlags._lArRunInfo = None
protected

Definition at line 132 of file LArConfigFlags.py.