68 return StatusCode::FAILURE;
74 const double sqrtS = uncTool.
getSqrtS();
75 const double kinLimit1 = sqrtS > 0 ? (sqrtS/2.) / cosh(
m_fixedVal1) : 1e99;
76 const double kinLimit2 = sqrtS > 0 ? (sqrtS/2.) / cosh(
m_fixedVal2) : 1e99;
78 std::cout <<
"Initializing for Pt with fixedVal1, fixedVal2 " <<
m_fixedVal1 <<
" " <<
m_fixedVal2 << std::endl;
79 std::cout <<
"Corresponding to kinematic limits " << kinLimit1 <<
" " << kinLimit2 << std::endl;
87 return StatusCode::FAILURE;
91 return StatusCode::FAILURE;
94 for (
int binX = 1; binX <=
m_corrMat->GetNbinsX(); ++binX)
98 const double valX =
m_corrMat->GetXaxis()->GetBinCenter(binX);
101 for (
int binY = 1; binY <=
m_corrMat->GetNbinsY(); ++binY)
103 const double valY =
m_corrMat->GetYaxis()->GetBinCenter(binY);
106 if (valX > kinLimit1 || valY > kinLimit2 ) {
124 return StatusCode::FAILURE;
127 return StatusCode::SUCCESS;
134 return StatusCode::FAILURE;
140 const double sqrtS = uncTool.
getSqrtS();
141 const double kinLimit1 = sqrtS > 0 ? acosh((sqrtS/2.) /
m_fixedVal1) : 1e99;
142 const double kinLimit2 = sqrtS > 0 ? acosh((sqrtS/2.) /
m_fixedVal2) : 1e99;
149 return StatusCode::FAILURE;
153 return StatusCode::FAILURE;
156 for (
int binX = 1; binX <=
m_corrMat->GetNbinsX(); ++binX)
160 const double valX =
m_corrMat->GetXaxis()->GetBinCenter(binX);
163 for (
int binY = 1; binY <=
m_corrMat->GetNbinsY(); ++binY)
165 const double valY =
m_corrMat->GetYaxis()->GetBinCenter(binY);
168 if (valX > kinLimit1 || valY > kinLimit2) {
184 return StatusCode::FAILURE;
187 return StatusCode::SUCCESS;
203 return StatusCode::FAILURE;
207 bool scalesFourVec =
false;
212 scalesFourVec =
true;
217 ATH_MSG_ERROR(
"No components scale the four-vector for the CorrelationMatrix: " <<
m_name.Data());
218 return StatusCode::FAILURE;
221 return StatusCode::SUCCESS;
240 return StatusCode::SUCCESS;
259 return StatusCode::SUCCESS;
283 if (
config.Contains(
"_2011/"))
289 else if (
config.Contains(
"_2012/") ||
config.Contains(
"_2015/Prerec"))
292 sigmaMu = 5.593*1.11;
295 else if (
config.Contains(
"_2015"))
301 else if (
config.Contains(
"_2016"))
313 return StatusCode::FAILURE;
319 return StatusCode::SUCCESS;
325 matrix->GetZaxis()->SetRangeUser(-1,1);
336 double covariance = 0;
#define ATH_MSG_WARNING(x)
static const std::vector< std::string > bins
#define JESUNC_ERROR_CODE
#define JESUNC_NO_DEFAULT_CONSTRUCTOR
#define JESUNC_SAFE_DELETE(T)
SG::Accessor< T, ALLOC > Accessor
AsgMessaging(const std::string &name)
Constructor with a name.
double getCovariance(const JetUncertaintiesTool &uncTool, const xAOD::Jet *jet1, const xAOD::Jet *jet2) const
virtual StatusCode initializeForEta(const JetUncertaintiesTool &uncTool)
TH2D * buildMatrix(const std::vector< double > &bins) const
CorrelationMatrix(const TString &name, const int numBins, const double minVal, const double maxVal, const double fixedVal1, const double fixedVal2)
StatusCode setDefaultProperties(const JetUncertaintiesTool &uncTool)
double getCorrelation(const JetUncertaintiesTool &uncTool) const
virtual StatusCode initializeForPt(const JetUncertaintiesTool &uncTool)
virtual ~CorrelationMatrix()
xAOD::EventInfoContainer * m_eInfos
StatusCode checkInitialization(const JetUncertaintiesTool &uncTool) const
xAOD::EventInfo * m_eInfo
xAOD::JetContainer * m_jets
std::vector< double > getLogBins(const size_t numBins, const double minVal, const double maxVal)
std::vector< double > getUniformBins(const size_t numBins, const double minVal, const double maxVal)
Jet_v1 Jet
Definition of the current "jet version".
EventInfoContainer_v1 EventInfoContainer
Define the latest version of the container.
EventInfo_v1 EventInfo
Definition of the latest event info version.
EventInfoAuxContainer_v1 EventInfoAuxContainer
Define the latest version of the auxiliary container.
JetAuxContainer_v1 JetAuxContainer
Definition of the current jet auxiliary container.
JetContainer_v1 JetContainer
Definition of the current "jet container version".
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > JetFourMom_t
Base 4 Momentum type for Jet.