ATLAS Offline Software
Loading...
Searching...
No Matches
JetCalibrationDecoratorConfig.py
Go to the documentation of this file.
1"""
2Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3"""
4
5from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
6from AthenaConfiguration.ComponentFactory import CompFactory
7
8from JetCalibTools.CalibratedJetCopyConfig import getJetCalibrationTool, sanitizeName
9
10
12 cfgFlags,
13 jetCollection: str,
14 configFile: str,
15 calibSequence: str,
16 calibArea: str,
17 calibrationScale: str,
18 isData: bool = False,
19 calibJetCollection: str | None = None,
20 rhoKey: str | None = None,
21 pvKey: str | None = None,
22) -> ComponentAccumulator:
23 """Decorate jets with calibrated four-momentum components."""
24
25 jet_calib_tool, jet_container = getJetCalibrationTool(
26 jetCollection=jetCollection,
27 configFile=configFile,
28 calibSequence=calibSequence,
29 calibArea=calibArea,
30 calibrationScale=calibrationScale,
31 isData=isData,
32 calibJetCollection=calibJetCollection,
33 rhoKey=rhoKey,
34 pvKey=pvKey,
35 )
36 safe_scale = sanitizeName(calibrationScale)
37
38 acc = ComponentAccumulator()
39 acc.addPublicTool(jet_calib_tool)
40 acc.addEventAlgo(
41 CompFactory.JetCalibrationDecoratorAlg(
42 f"JetCalibrationDecoratorAlg_{sanitizeName(jet_container)}_{safe_scale}",
43 JetCalibrationTool=jet_calib_tool,
44 JetContainer=jet_container,
45 ptCalibratedKey=f"{jet_container}.{calibrationScale}_pt",
46 etaCalibratedKey=f"{jet_container}.{calibrationScale}_eta",
47 phiCalibratedKey=f"{jet_container}.{calibrationScale}_phi",
48 massCalibratedKey=f"{jet_container}.{calibrationScale}_mass",
49 )
50 )
51
52 return acc
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)