ATLAS Offline Software
Loading...
Searching...
No Matches
MuonCalibrationConfig Namespace Reference

Functions

 CscCalibToolCfg (flags, name="CscCalibTool", **kwargs)
 CSC calibration.
 _setupMdtCondDB (flags)
 MDT calibration.
 MdtCalibrationToolCfg (flags, name="MdtCalibrationTool", **kwargs)
 MdtCalibDbAlgR4Cfg (flags, name="MdtCalibDbAlg", **kwargs)
 MdtCalibDbAlgCfg (flags, name="MdtCalibDbAlg", **kwargs)
 NSWCalibToolCfg (flags, name="NSWCalibTool", **kwargs)
 MMCalibSmearingToolCfg (flags, name="MMCalibSmearingTool", **kwargs)
 STgcCalibSmearingToolCfg (flags, name="STgcCalibSmearingTool", **kwargs)
 NswErrorCalibDbAlgCfg (flags, name="NswErrorCalibDbAlg", **kwargs)
 MmCTPCondDbAlgCfg (flags, name="MmCTPCondDbAlg", **kwargs)

Variables

 log = logging.getLogger('MuonCalibConfig')

Function Documentation

◆ _setupMdtCondDB()

MuonCalibrationConfig._setupMdtCondDB ( flags)
protected

MDT calibration.

Definition at line 49 of file MuonCalibrationConfig.py.

49def _setupMdtCondDB(flags):
50 result=ComponentAccumulator()
51
52 if flags.Muon.Calib.readMDTCalibFromBlob:
53 mdt_folder_name_appendix = "BLOB"
54 else:
55 mdt_folder_name_appendix=""
56
57 online_folders = ['/MDT/Onl/RT'+ mdt_folder_name_appendix,'/MDT/Onl/T0' + mdt_folder_name_appendix]
58 offline_folders = ['/MDT/RT' + mdt_folder_name_appendix, '/MDT/T0' + mdt_folder_name_appendix]
59
60 if flags.Muon.Calib.mdtCalibrationSource=="MDT":
61 if flags.GeoModel.Run is LHCPeriod.Run4:
62 # TODO: temporary conditions override until we get a global tag
63 from IOVDbSvc.IOVDbSvcConfig import addFolders
64 # Ugly, but hopefully temporary hack
65 if flags.GeoModel.AtlasVersion.startswith('ATLAS-P2-RUN4-01-00'):
66 result.merge(addFolders(flags, '/MDT/RT' + mdt_folder_name_appendix, 'MDT_OFL', className='CondAttrListCollection', tag='MDTRT_Sim-Run4-01', db="OFLP200"))
67 result.merge(addFolders(flags, '/MDT/T0' + mdt_folder_name_appendix, 'MDT_OFL', className='CondAttrListCollection', tag='MDTT0_Sim-Run4-01', db="OFLP200"))
68 else:
69 result.merge(addFolders(flags, '/MDT/RT' + mdt_folder_name_appendix, 'MDT_OFL', className='CondAttrListCollection', tag='MDTRT_Sim-R3SYM-04', db="OFLP200"))
70 result.merge(addFolders(flags, '/MDT/T0' + mdt_folder_name_appendix, 'MDT_OFL', className='CondAttrListCollection', tag='MDTT0_Sim-R3SYM-03', db="OFLP200"))
71 else:
72 result.merge(addFoldersSplitOnline(flags, 'MDT', online_folders , offline_folders,
73 className = 'CondAttrListCollection' ) )
74 else:
75 result.merge(addFoldersSplitOnline(flags, flags.Muon.Calib.mdtCalibrationSource, online_folders, offline_folders,
76 className = 'CondAttrListCollection' ) )
77
78 return result, mdt_folder_name_appendix
79# end of function setupMdtCondDB()
80
81@AccumulatorCache

◆ CscCalibToolCfg()

MuonCalibrationConfig.CscCalibToolCfg ( flags,
name = "CscCalibTool",
** kwargs )

CSC calibration.

Return ComponentAccumulator configured for CSC calibration with CscCalibTool as PrivateTools

Definition at line 21 of file MuonCalibrationConfig.py.

21def CscCalibToolCfg(flags, name="CscCalibTool", **kwargs):
22 """Return ComponentAccumulator configured for CSC calibration with CscCalibTool as PrivateTools"""
23
24 acc = CscCondDbAlgCfg(flags)
25
26 kwargs.setdefault("Slope", 0.19)
27 kwargs.setdefault("Noise", 3.5)
28 kwargs.setdefault("Pedestal", 2048.0)
29 kwargs.setdefault("ReadFromDatabase", True)
30 kwargs.setdefault("SlopeFromDatabase", False)
31 kwargs.setdefault("integrationNumber", 12.0)
32 kwargs.setdefault("integrationNumber2", 11.66)
33 kwargs.setdefault("samplingTime", 50.0)
34 kwargs.setdefault("signalWidth", 14.40922)
35 kwargs.setdefault("timeOffset", 71.825)
36 kwargs.setdefault("IsOnline", flags.Common.isOnline)
37 kwargs.setdefault("Latency", 119)
38
39 acc.setPrivateTools(CompFactory.CscCalibTool(name, **kwargs))
40
41 return acc
42
43
44

◆ MdtCalibDbAlgCfg()

MuonCalibrationConfig.MdtCalibDbAlgCfg ( flags,
name = "MdtCalibDbAlg",
** kwargs )

Definition at line 128 of file MuonCalibrationConfig.py.

128def MdtCalibDbAlgCfg(flags,name="MdtCalibDbAlg",**kwargs):
129 result = ComponentAccumulator()
130 result.merge(MuonGeoModelCfg(flags))
131 # setup COOL folders
132 if not flags.Muon.Calib.readMdtJSON:
133 acc, mdt_folder_name_appendix = _setupMdtCondDB(flags)
134 result.merge(acc)
135
136 if not flags.Muon.useMdtDcsData:
137 kwargs.setdefault("ReadKeyDCS", "" )
138 else:
139 from MuonConfig.MuonCondAlgConfig import MdtCondDbAlgCfg
140 result.merge(MdtCondDbAlgCfg(flags))
141
142 if flags.Muon.Calib.fitAnalyticRt:
143 from MuonCondAlgR4.ConditionsConfig import MdtAnalyticRtCalibAlgCfg
144 kwargs.setdefault("WriteKey", "LookUpMdtCalibDb")
145 result.merge(MdtAnalyticRtCalibAlgCfg(flags, ReadKey="LookUpMdtCalibDb"))
146 if flags.Muon.Calib.readMdtJSON:
147 result.merge(MdtCalibDbAlgR4Cfg(flags, name, **kwargs))
148 return result
149
150 # set some default proper ties
151 if flags.Common.isOnline and not flags.Input.isMC:
152 kwargs.setdefault("ReadKeyTube", "/MDT/T0")
153 kwargs.setdefault("ReadKeyRt", "/MDT/RT")
154 else:
155 kwargs.setdefault("ReadKeyTube", "/MDT/T0"+ mdt_folder_name_appendix)
156 kwargs.setdefault("ReadKeyRt", "/MDT/RT"+ mdt_folder_name_appendix)
157 if flags.Input.isMC is False: # Should be " if flags.Input.isMC=='data' " ?
158 kwargs.setdefault("defaultT0", 40)
159 else:
160 kwargs.setdefault("defaultT0", 799)
161
162 kwargs.setdefault("UseMLRt", flags.Muon.Calib.useMLRt )
163 kwargs.setdefault("TimeSlewingCorrection", flags.Muon.Calib.correctMdtRtForTimeSlewing)
164 kwargs.setdefault("MeanCorrectionVsR", [ -5.45973, -4.57559, -3.71995, -3.45051, -3.4505, -3.4834, -3.59509, -3.74869, -3.92066, -4.10799, -4.35237, -4.61329, -4.84111, -5.14524 ])
165 kwargs.setdefault("PropagationSpeedBeta", flags.Muon.Calib.mdtPropagationSpeedBeta)
166 # the same as MdtCalibrationDbTool
167 kwargs.setdefault("CreateBFieldFunctions", flags.Muon.Calib.correctMdtRtForBField)
168 kwargs.setdefault("CreateSlewingFunctions", flags.Muon.Calib.correctMdtRtForTimeSlewing)
169 from RngComps.RngCompsConfig import AthRNGSvcCfg
170 kwargs.setdefault("AthRNGSvc", result.getPrimaryAndMerge(AthRNGSvcCfg(flags)))
171
172 kwargs.setdefault("UseR4DetMgr", flags.Muon.usePhaseIIGeoSetup)
173 alg = CompFactory.MdtCalibDbAlg (name, **kwargs)
174 result.addCondAlgo (alg, primary = True)
175 return result
176

◆ MdtCalibDbAlgR4Cfg()

MuonCalibrationConfig.MdtCalibDbAlgR4Cfg ( flags,
name = "MdtCalibDbAlg",
** kwargs )

Definition at line 101 of file MuonCalibrationConfig.py.

101def MdtCalibDbAlgR4Cfg(flags, name="MdtCalibDbAlg",**kwargs):
102 result = ComponentAccumulator()
103 kwargs.setdefault("PropagationSpeedBeta", flags.Muon.Calib.mdtPropagationSpeedBeta)
104 kwargs.setdefault("CreateBFieldFunctions", flags.Muon.Calib.correctMdtRtForBField)
105 kwargs.setdefault("CreateSlewingFunctions", flags.Muon.Calib.correctMdtRtForTimeSlewing)
106 kwargs.setdefault("RtJSON","")
107 kwargs.setdefault("TubeT0JSON","")
108
109 if(kwargs["RtJSON"] or kwargs["TubeT0JSON"]):
110 kwargs.setdefault("ReadKeyRt","")
111 kwargs.setdefault("ReadKeyTube","")
112 kwargs.setdefault("dbPayloadType","")
113
114 else:
115 kwargs.setdefault("ReadKeyRt","/MDT/RTJSONS")
116 kwargs.setdefault("ReadKeyTube","/MDT/T0JSONS")
117 kwargs.setdefault("dbPayloadType","TTree")
118 from IOVDbSvc.IOVDbSvcConfig import addFolders
119 result.merge(addFolders(flags,[kwargs["ReadKeyRt"]], className='CondAttrListCollection', detDb="MDT_OFL", tag="MDTRTTREE-RUN4-01"))
120 result.merge(addFolders(flags,[kwargs["ReadKeyTube"]], className='CondAttrListCollection', detDb="MDT_OFL", tag="MDTT0TREE-RUN4-01"))
121
122 alg = CompFactory.MuonCalibR4.MdtCalibDbAlg(name, **kwargs)
123 result.addCondAlgo (alg, primary = True)
124 return result
125
126
127
if(febId1==febId2)

◆ MdtCalibrationToolCfg()

MuonCalibrationConfig.MdtCalibrationToolCfg ( flags,
name = "MdtCalibrationTool",
** kwargs )

Definition at line 82 of file MuonCalibrationConfig.py.

82def MdtCalibrationToolCfg(flags, name= "MdtCalibrationTool", **kwargs):
83 result=ComponentAccumulator()
84 result.merge(MdtCalibDbAlgCfg(flags))
85
86 kwargs.setdefault("DoSlewingCorrection", flags.Muon.Calib.correctMdtRtForTimeSlewing)
87 kwargs.setdefault("DoTemperatureCorrection", flags.Muon.Calib.applyRtScaling)
88 kwargs.setdefault("DoTofCorrection", flags.Beam.Type is BeamType.Collisions) # No TOF correction if not collisions
89 kwargs.setdefault("DoPropagationTimeUncert", flags.Muon.Calib.applySigPropUncert)
90
91 if flags.Beam.Type is BeamType.Collisions:
92 from MuonConfig.MuonRIO_OnTrackCreatorToolConfig import MdtCalibWindowNumber
93 kwargs.setdefault("TimeWindowSetting", MdtCalibWindowNumber('Collision_G4'))
94
95 result.merge(AtlasFieldCacheCondAlgCfg(flags))
96
97 mdt_calibration_tool = CompFactory.MdtCalibrationTool(name= name, **kwargs)
98 result.setPrivateTools(mdt_calibration_tool)
99 return result
100

◆ MMCalibSmearingToolCfg()

MuonCalibrationConfig.MMCalibSmearingToolCfg ( flags,
name = "MMCalibSmearingTool",
** kwargs )
Return ComponentAccumulator configured for MM smearing with NSWCalibSmearing as PrivateTools

Definition at line 193 of file MuonCalibrationConfig.py.

193def MMCalibSmearingToolCfg(flags, name="MMCalibSmearingTool", **kwargs):
194 """Return ComponentAccumulator configured for MM smearing with NSWCalibSmearing as PrivateTools"""
195 result = ComponentAccumulator()
196 kwargs.setdefault("EtaSectors", [True, True, True, True])
197 the_tool = CompFactory.Muon.NSWCalibSmearingTool(name,**kwargs)
198 result.setPrivateTools(the_tool)
199 return result
200

◆ MmCTPCondDbAlgCfg()

MuonCalibrationConfig.MmCTPCondDbAlgCfg ( flags,
name = "MmCTPCondDbAlg",
** kwargs )

Definition at line 239 of file MuonCalibrationConfig.py.

239def MmCTPCondDbAlgCfg(flags, name = "MmCTPCondDbAlg", **kwargs):
240 result = ComponentAccumulator()
241 if "readFromJSON" in kwargs:
242 kwargs.setdefault("ReadKey", "")
243 else:
244 from IOVDbSvc.IOVDbSvcConfig import addFolders
245 kwargs.setdefault("ReadKey", "/MDT/MM/CTPSLOPE")
246 result.merge(addFolders(flags, kwargs["ReadKey"], className='CondAttrListCollection', detDb="MDT_OFL"))
247
248 the_alg = CompFactory.MmCTPCondDbAlg(name = name, **kwargs)
249 result.addCondAlgo(the_alg, primary = True)
250 return result

◆ NSWCalibToolCfg()

MuonCalibrationConfig.NSWCalibToolCfg ( flags,
name = "NSWCalibTool",
** kwargs )
Return ComponentAccumulator configured for NSW calibration with NSWCalibTool as PrivateTools

Definition at line 177 of file MuonCalibrationConfig.py.

177def NSWCalibToolCfg(flags, name="NSWCalibTool", **kwargs):
178 """Return ComponentAccumulator configured for NSW calibration with NSWCalibTool as PrivateTools"""
179 result = ComponentAccumulator()
180 result.merge(NswCalibDbAlgCfg(flags))
181 from MagFieldServices.MagFieldServicesConfig import AtlasFieldCacheCondAlgCfg
182 result.merge(AtlasFieldCacheCondAlgCfg(flags))
183 kwargs.setdefault("isData", not flags.Input.isMC)
184 kwargs.setdefault("mmPeakTime",200)
185 kwargs.setdefault("sTgcPeakTime",0)
186 kwargs.setdefault("applyMmT0Calib", flags.Muon.Calib.applyMmT0Correction)
187 kwargs.setdefault("applysTgcT0Calib", flags.Muon.Calib.applysTgcT0Correction)
188 kwargs.setdefault("applyMmBFieldCalib",flags.Muon.Calib.applyMmBFieldCalib)
189 the_tool = CompFactory.Muon.NSWCalibTool(name,**kwargs)
190 result.setPrivateTools(the_tool)
191 return result
192

◆ NswErrorCalibDbAlgCfg()

MuonCalibrationConfig.NswErrorCalibDbAlgCfg ( flags,
name = "NswErrorCalibDbAlg",
** kwargs )

Definition at line 209 of file MuonCalibrationConfig.py.

209def NswErrorCalibDbAlgCfg(flags, name = "NswErrorCalibDbAlg", **kwargs):
210 result = ComponentAccumulator()
211 folderNames = []
212 if "readFromJSON" in kwargs:
213 folderNames=[]
214
215 elif flags.Common.isOnline:
216 from IOVDbSvc.IOVDbSvcConfig import addFolders
217 folderNames+=["/MDT/Onl/MM/ClusterUncertainties/SIDEA",
218 "/MDT/Onl/MM/ClusterUncertainties/SIDEC",
219 "/TGC/Onl/NSW/ClusterUncertainties/SIDEA",
220 "/TGC/Onl/NSW/ClusterUncertainties/SIDEC",
221 ]
222 result.merge(addFolders(flags,folderNames[:2], className='CondAttrListCollection', detDb="MDT_ONL"))
223 result.merge(addFolders(flags,folderNames[2:], className='CondAttrListCollection', detDb="TGC_ONL"))
224
225 else:
226 from IOVDbSvc.IOVDbSvcConfig import addFolders
227 folderNames+=["/MDT/MM/ClusterUncertainties/SIDEA",
228 "/MDT/MM/ClusterUncertainties/SIDEC",
229 "/TGC/NSW/ClusterUncertainties/SIDEA",
230 "/TGC/NSW/ClusterUncertainties/SIDEC"]
231 result.merge(addFolders(flags,folderNames[:2], className='CondAttrListCollection', detDb="MDT_OFL"))
232 result.merge(addFolders(flags,folderNames[2:], className='CondAttrListCollection', detDb="TGC_OFL"))
233
234 kwargs.setdefault("ReadKeys", folderNames)
235 the_alg = CompFactory.NswUncertDbAlg(name = name, **kwargs)
236 result.addCondAlgo(the_alg, primary = True)
237 return result
238

◆ STgcCalibSmearingToolCfg()

MuonCalibrationConfig.STgcCalibSmearingToolCfg ( flags,
name = "STgcCalibSmearingTool",
** kwargs )
Return ComponentAccumulator configured for sTGC smearing with NSWCalibSmearing as PrivateTools

Definition at line 201 of file MuonCalibrationConfig.py.

201def STgcCalibSmearingToolCfg(flags, name="STgcCalibSmearingTool", **kwargs):
202 """Return ComponentAccumulator configured for sTGC smearing with NSWCalibSmearing as PrivateTools"""
203 result = ComponentAccumulator()
204 kwargs.setdefault("EtaSectors", [True, True, True, True, True, True])
205 the_tool = CompFactory.Muon.NSWCalibSmearingTool(name,**kwargs)
206 result.setPrivateTools(the_tool)
207 return result
208

Variable Documentation

◆ log

MuonCalibrationConfig.log = logging.getLogger('MuonCalibConfig')

Definition at line 15 of file MuonCalibrationConfig.py.