|
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.
static SystematicRegistry & getInstance()
Get the singleton instance of the registry for the curren thread.