Commit 0a1bb352 authored by Steffen Korn's avatar Steffen Korn Committed by Nils Erik Krumnack
Browse files

AnalysisTop: Adding new smallR JMS recommendations

parent bd4e5955
......@@ -23,6 +23,7 @@
#include "JetSelectorTools/JetCleaningTool.h"
#include "JetJvtEfficiency/JetJvtEfficiency.h"
#include "JetSelectorTools/EventCleaningTool.h"
#include "JetUncertainties/FFJetSmearingTool.h"
// MET include(s):
......@@ -280,6 +281,17 @@ namespace top {
// JER string option configuration
bool JERisMC = m_config->isMC();
std::string JERSmearModel = m_config->jetJERSmearingModel();
std::string JMSOption = m_config->jetJMSOption();
if (JMSOption != "None") {
conference = "Spring2021"; // Updated files using the JMS option are in Spring2021
if (JMSOption == "JMS_frozen") JMSOption = "_JMS_frozen";
else if (JMSOption == "JMS_scaled") JMSOption = "_JMS_scaled";
else {
ATH_MSG_ERROR("Incorrect JMS option: None, JMS_frozen, JMS_scaled");
return StatusCode::FAILURE;
}
}
else JMSOption = ""; // Default JMSOption
// Any PseudoData Option (Smear MC as data)
if (JERSmearModel == "Full_PseudoData") {
if (JERisMC) JERisMC = false;
......@@ -310,6 +322,7 @@ namespace top {
"rel21/" + conference
+ "/R4_" + m_config->jetUncertainties_NPModel()
+ JERSmearModel
+ JMSOption
+ ".config",
nullptr,
m_config->jetUncertainties_QGFracFile(),
......@@ -325,7 +338,9 @@ namespace top {
JERisMC,
"rel21/"
+ conference
+ "/R4_SR_Scenario1_SimpleJER.config",
+ "/R4_SR_Scenario1_SimpleJER"
+ JMSOption
+ ".config",
nullptr,
m_config->jetUncertainties_QGFracFile(),
calib_area);
......@@ -336,7 +351,9 @@ namespace top {
JERisMC,
"rel21/"
+ conference
+ "/R4_SR_Scenario2_SimpleJER.config",
+ "/R4_SR_Scenario2_SimpleJER"
+ JMSOption
+ ".config",
nullptr,
m_config->jetUncertainties_QGFracFile(),
calib_area);
......@@ -347,7 +364,9 @@ namespace top {
JERisMC,
"rel21/"
+ conference
+ "/R4_SR_Scenario3_SimpleJER.config",
+ "/R4_SR_Scenario3_SimpleJER"
+ JMSOption
+ ".config",
nullptr,
m_config->jetUncertainties_QGFracFile(),
calib_area);
......@@ -358,7 +377,9 @@ namespace top {
JERisMC,
"rel21/"
+ conference
+ "/R4_SR_Scenario4_SimpleJER.config",
+ "/R4_SR_Scenario4_SimpleJER"
+ JMSOption
+ ".config",
nullptr,
m_config->jetUncertainties_QGFracFile(),
calib_area);
......
......@@ -235,6 +235,11 @@ namespace top {
registerParameter("JetJERSmearingModel",
"All (inc. data smearing), All_PseudoData (use MC as pseudo-data), Full (inc. data smearing), Full_PseudoData (use MC as pseudo-data) or Simple (MC only - default)",
"Simple");
registerParameter("JetJMSOption",
"None (default),"
"JMS_frozen (The shape and magnitude of the uncertainties at m/pT = 0.25 are also used for m/pT > 0.25),"
"JMS_scaled (The magnitude of the uncertainties at m/pT = 0.25 was scaled linearly with increasing m/pT)",
"None");
registerParameter("LargeRSysts_TreatMCasPseudodata",
"If set to True, treat MC as pseudo-data; only apply JER smearing, and only when FullJER/AllJER is specified with LargeRJetUncertainties_JESJERJMS_NPModel.",
"False",{"True", "False"});
......
......@@ -263,6 +263,7 @@ namespace top {
m_jetUncertainties_QGHistPatterns(),
m_doMultipleJES(false),
m_jetJERSmearingModel("Simple"),
m_jetJMSOption("None"),
m_largeRSysts_TreatMCasPseudodata(false),
m_jetCalibSequence("GSC"),
m_allowSmallRJMSforAFII(false),
......@@ -1362,6 +1363,7 @@ namespace top {
this->jetUncertainties_QGFracFile(settings->value("JetUncertainties_QGFracFile"));
this->jetUncertainties_QGHistPatterns(settings->value("JetUncertainties_QGHistPatterns"));
this->jetJERSmearingModel(settings->value("JetJERSmearingModel"));
this->jetJMSOption(settings->value("JetJMSOption"));
if (settings->value("LargeRSysts_TreatMCasPseudodata") == "False") {
this->largeRSysts_TreatMCasPseudodata(false);
} else if (settings->value("LargeRSysts_TreatMCasPseudodata") == "True") {
......
......@@ -1411,6 +1411,14 @@ namespace top {
inline virtual const std::string& jetJERSmearingModel() const {return m_jetJERSmearingModel;}
inline virtual void jetJMSOption(const std::string& s) {
if (!m_configFixed) {
m_jetJMSOption = s;
}
}
inline virtual const std::string& jetJMSOption() const {return m_jetJMSOption;}
inline virtual void largeRSysts_TreatMCasPseudodata(const bool& b) {
if (!m_configFixed) {
m_largeRSysts_TreatMCasPseudodata = b;
......@@ -2405,6 +2413,7 @@ namespace top {
// more flexibility
bool m_doMultipleJES;
std::string m_jetJERSmearingModel; // Full or Simple
std::string m_jetJMSOption; // None, JMS_frozen or JMS_scaled
bool m_largeRSysts_TreatMCasPseudodata; // True or False
std::string m_jetCalibSequence; // GCC or JMS
bool m_allowSmallRJMSforAFII; // JMS is not supported on AFII so we crash, unless people override this option
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment