29 ATH_MSG_INFO(
"Initializing MuonCalibIntHighpTSmearTool");
49 return StatusCode::FAILURE;
55 return StatusCode::FAILURE;
58 return StatusCode::SUCCESS;
68 ATH_MSG_VERBOSE(
"Doing high pT smearing: "<<
int(cat)<<
" for year: "<<
int(mu.CB.year)<<
" raw: "<<mu.raw_mst_category.value());
77 double MS_Misaligned_p1 =
m_MS_Misaligned_p1.at(mu.CB.year).at(cat)->getCalibConstant(mu.CB);
78 double MS_Misaligned_p2 =
m_MS_Misaligned_p2.at(mu.CB.year).at(cat)->getCalibConstant(mu.CB);
79 double reso_Misaligned = std::hypot(MS_Misaligned_p1, MS_Misaligned_p2 * mu.CB.calib_pt);
84 double reso_AlignedAndCorrected = std::sqrt(std::pow(MS_AlignedAndCorrected_p1, 2) + std::pow(MS_AlignedAndCorrected_p2 * mu.CB.calib_pt, 2));
86 double smearDeltaCBOnly = 0;
87 if (reso_Misaligned > reso_AlignedAndCorrected) smearDeltaCBOnly = std::sqrt(std::pow(reso_Misaligned, 2) - std::pow(reso_AlignedAndCorrected, 2));
90 double smeared_combined_pt = mu.CB.calib_pt * (1. + mu.rnd_g_highPt * smearDeltaCBOnly);
92 mu.CB.calib_pt = smeared_combined_pt;
101 return sys.find(systematic) != sys.end();
116 return StatusCode::SUCCESS;
120 if (raw_mst_category < 0) {
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)
Return value from object correction CP tools.
@ Ok
The correction was done successfully.
This module implements the central registry for handling systematic uncertainties with CP tools.
static SystematicRegistry & getInstance()
Get the singleton instance of the registry for the curren thread.
StatusCode registerSystematics(const IReentrantSystematicsTool &tool)
effects: register all the systematics from the tool
Class to wrap a set of SystematicVariations.
@ Ok
The correction was done successfully.
Select isolated Photons, Electrons and Muons.
std::map< MST_Categories, std::shared_ptr< CalibContainer > > createHighpTCorrMap(DataYear dataYear, const std::string &type, const std::string &recommendationPath, const std::string ¶m)
static constexpr std::array< MCP::DataYear, 7 > dataYearList