21 calibrationScale: str,
23 calibJetCollection: str |
None =
None,
24 rhoKey: str |
None =
None,
25 pvKey: str |
None =
None,
26) -> ComponentAccumulator:
27 """Decorate jets with calibrated four-momentum components."""
31 if jetCollection.endswith(
"Jets"):
32 jet_container = jetCollection
33 jet_collection_nosuffix = jetCollection[:-4]
35 jet_container = f
"{jetCollection}Jets"
36 jet_collection_nosuffix = jetCollection
38 safe_collection =
_sanitize(jet_collection_nosuffix)
41 calib_collection = calibJetCollection
if calibJetCollection
is not None else jet_collection_nosuffix
44 JetCollection=calib_collection,
45 ConfigFile=configFile,
46 CalibSequence=calibSequence,
50 if rhoKey
is not None:
51 tool_kwargs[
'RhoKey'] = rhoKey
53 tool_kwargs[
'PrimaryVerticesContainerName'] = pvKey
55 jet_calib_tool = CompFactory.JetCalibrationTool(
56 f
"JetCalibrationTool_{safe_collection}_{safe_scale}",
60 acc = ComponentAccumulator()
61 acc.addPublicTool(jet_calib_tool)
63 CompFactory.FlavorTagDiscriminants.JetCalibrationDecoratorAlg(
64 f
"JetCalibrationDecoratorAlg_{_sanitize(jet_container)}_{safe_scale}",
65 JetCalibrationTool=jet_calib_tool,
66 JetContainer=jet_container,
67 ptCalibratedKey=f
"{jet_container}.{calibrationScale}_pt",
68 etaCalibratedKey=f
"{jet_container}.{calibrationScale}_eta",
69 phiCalibratedKey=f
"{jet_container}.{calibrationScale}_phi",
70 massCalibratedKey=f
"{jet_container}.{calibrationScale}_mass",
ComponentAccumulator JetCalibrationDecoratorCfg(cfgFlags, str jetCollection, str configFile, str calibSequence, str calibArea, str calibrationScale, bool isData=False, str|None calibJetCollection=None, str|None rhoKey=None, str|None pvKey=None)