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()

python.LArConfigFlags._determineRawChannelSource ( prevFlags)
protected

Definition at line 118 of file LArConfigFlags.py.

118def _determineRawChannelSource(prevFlags):
119 log = logging.getLogger('LArConfigFlags.determineRawChannelSource')
120 if prevFlags.Input.isMC or prevFlags.Overlay.DataOverlay:
121 return RawChannelSource.Input
122
123 lri=_getLArRunInfo(prevFlags)
124 #runType: 0=RawData, 1=RawDataResult, 2=Result
125 if lri is None or lri.runType is None:
126 log.warning("WARNING do not have LArRunInfo !")
127 return RawChannelSource.Both
128 log.info("runType %d",lri.runType())
129 if (lri.runType()==0):
130 return RawChannelSource.Calculated #Have only digits in bytestream
131 elif (lri.runType()==1 or lri.runType()==2):
132 return RawChannelSource.Both #Have both, digits and raw-channels in bytestream
133 else:
134 log.warning("Unknown LAr run type %i",lri.runType())
135 return RawChannelSource.Both

◆ _getLArRunInfo()

python.LArConfigFlags._getLArRunInfo ( prevFlags)
protected

Definition at line 106 of file LArConfigFlags.py.

106def _getLArRunInfo(prevFlags):
107 log = logging.getLogger('LArConfigFlags.getLArRunInfo')
108 global _lArRunInfo #Cache of lar run info
109 if _lArRunInfo is None:
110 from LArConditionsCommon.LArRunFormat import getLArFormatForRun
111 runnbr=prevFlags.Input.RunNumbers[0] #If more than one run, assume config for first run is valid for all runs
112 dbStr="COOLONL_LAR/"+prevFlags.IOVDb.DatabaseInstance
113 _lArRunInfo=getLArFormatForRun(run=runnbr,connstring=dbStr)
114 log.info("Got LArRunInfo for run %d",runnbr)
115 return _lArRunInfo
116
117

◆ createLArConfigFlags()

python.LArConfigFlags.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", 7)
69 lcf.addFlag("LAr.ROD.OFFCQ3Cut", 2500)
70 lcf.addFlag("LAr.ROD.OFFCFilterThreshold", 2.0)
71
72 # default LArRawSC container
73 lcf.addFlag("LAr.LATOME.DTInfoForL1","SC_ET_ID")
74 # storing SC CaloCellContainer with bcid'ed energies
75 lcf.addFlag("LAr.DT.storeET_ID",False)
76 lcf.addFlag("LAr.DT.ET_IDKey","SCell")
77 lcf.addFlag("LAr.DT.doSCMasking",True)
78 # storing SC CaloCellContainers +-1 around bcid'ed energies
79 lcf.addFlag("LAr.DT.storeET_additional",False)
80 lcf.addFlag("LAr.DT.ET_PlusKey","SCellPlus")
81 lcf.addFlag("LAr.DT.ET_MinusKey","SCellMinus")
82
83
85 lcf.addFlag("LAr.NoisyRO.CellQuality", 4000)
86 # Number of channels above quality cut
87 lcf.addFlag("LAr.NoisyRO.BadChanPerFEB", 30)
88 # Number of Bad FEBs per partition cut
89 lcf.addFlag("LAr.NoisyRO.BadFEBCut", 5)
90 # Number of channels to declare MNB-Loose
91 lcf.addFlag("LAr.NoisyRO.MNBLooseCut", 5)
92 # Number of channels to declare MNB-Tight
93 lcf.addFlag("LAr.NoisyRO.MNBTightCut", 17)
94 # Number of channels to declare MNB-Tight wir PS veto
95 lcf.addFlag("LAr.NoisyRO.MNBTight_PsVetoCut", [13,3])
96 # Number of noisy HVlines
97 lcf.addFlag("LAr.NoisyRO.BadHVCut", 3)
98 # Fraction of cells noisy on one HV line
99 lcf.addFlag("LAr.NoisyRO.BadHVlineFrac", 0.25)
100
101 return lcf
102
103

Variable Documentation

◆ _lArRunInfo

python.LArConfigFlags._lArRunInfo = None
protected

Definition at line 104 of file LArConfigFlags.py.