|
ATLAS Offline Software
|
Go to the documentation of this file.
29 ATH_MSG_INFO(
"Initializing MuonCalibIntHighpTSmearTool");
36 for(
const auto&
year: MCP::dataYearList)
49 return StatusCode::FAILURE;
52 if (
registry.registerSystematics(*
this) != StatusCode::SUCCESS)
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);
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) {
Class to wrap a set of SystematicVariations.
#define ATH_MSG_VERBOSE(x)
std::map< MST_Categories, std::shared_ptr< CalibContainer > > createHighpTCorrMap(DataYear dataYear, const std::string &type, const std::string &recommendationPath, const std::string ¶m)
Select isolated Photons, Electrons and Muons.
::StatusCode StatusCode
StatusCode definition for legacy code.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
@ Ok
The correction was done successfully.
This module implements the central registry for handling systematic uncertainties with CP tools.
Return value from object correction CP tools.
constexpr int pow(int base, int exp) noexcept
static SystematicRegistry & getInstance()
Get the singleton instance of the registry for the curren thread.