|
ATLAS Offline Software
|
#include <JetUncertaintiesTool.h>
|
| JetUncertaintiesTool (const std::string &name="JetUncertaintiesTool") |
|
| JetUncertaintiesTool (const JetUncertaintiesTool &toCopy) |
|
virtual | ~JetUncertaintiesTool () |
|
virtual StatusCode | setScaleToMeV () |
|
virtual StatusCode | setScaleToGeV () |
|
virtual StatusCode | initialize () |
| Dummy implementation of the initialisation function. More...
|
|
virtual void | setRandomSeed (long long int seed) |
|
virtual std::string | getName () const |
|
virtual std::string | getRelease () const |
|
virtual std::string | getJetDef () const |
|
virtual std::string | getMCType () const |
|
virtual std::string | getConfigFile () const |
|
virtual std::string | getPath () const |
|
virtual std::string | getAnalysisFile () const |
|
virtual std::string | getAnalysisHistPattern () const |
|
virtual std::string | getDefaultAnaFile () const |
|
virtual float | getSqrtS () const |
|
virtual float | getRefMu () const |
|
virtual float | getRefNPV () const |
|
virtual float | getRefMu (const xAOD::Jet &jet) const |
|
virtual float | getRefNPV (const xAOD::Jet &jet) const |
|
virtual size_t | getNumComponents () const |
|
virtual size_t | getComponentIndex (const std::string &name) const |
|
virtual size_t | getComponentIndex (const TString &name) const |
|
virtual std::string | getComponentName (const size_t index) const |
|
virtual std::string | getComponentDesc (const size_t index) const |
|
virtual std::string | getComponentCategory (const size_t index) const |
|
virtual bool | getComponentIsReducible (const size_t index) const |
|
virtual bool | getComponentScalesFourVec (const size_t index) const |
|
virtual bool | getComponentScalesPt (const size_t index) const |
|
virtual bool | getComponentScalesMass (const size_t index) const |
|
virtual bool | getComponentScalesD12 (const size_t index) const |
|
virtual bool | getComponentScalesD23 (const size_t index) const |
|
virtual bool | getComponentScalesTau21 (const size_t index) const |
|
virtual bool | getComponentScalesTau32 (const size_t index) const |
|
virtual bool | getComponentScalesTau21WTA (const size_t index) const |
|
virtual bool | getComponentScalesTau32WTA (const size_t index) const |
|
virtual bool | getComponentScalesD2Beta1 (const size_t index) const |
|
virtual bool | getComponentScalesC2Beta1 (const size_t index) const |
|
virtual bool | getComponentScalesQw (const size_t index) const |
|
virtual bool | getComponentScalesTagScaleFactor (const size_t index) const |
|
virtual bool | getComponentScalesMultiple (const size_t index) const |
|
virtual std::set< jet::CompScaleVar::TypeEnum > | getComponentScaleVars (const size_t index) const |
|
virtual jet::JetTopology::TypeEnum | getComponentTopology (const size_t index) const |
|
virtual std::vector< std::string > | getComponentCategories () const |
|
virtual std::vector< size_t > | getComponentsInCategory (const std::string &category) const |
|
virtual std::vector< std::string > | getComponentNamesInCategory (const std::string &category) const |
|
virtual bool | getValidity (size_t index, const xAOD::Jet &jet) const |
|
virtual bool | getValidity (size_t index, const xAOD::Jet &jet, const xAOD::EventInfo &eInfo) const |
|
virtual bool | getValidity (size_t index, const xAOD::Jet &jet, const jet::CompScaleVar::TypeEnum scaleVar) const |
|
virtual bool | getValidity (size_t index, const xAOD::Jet &jet, const xAOD::EventInfo &eInfo, const jet::CompScaleVar::TypeEnum scaleVar) const |
|
virtual double | getUncertainty (size_t index, const xAOD::Jet &jet) const |
|
virtual double | getUncertainty (size_t index, const xAOD::Jet &jet, const xAOD::EventInfo &eInfo) const |
|
virtual double | getUncertainty (size_t index, const xAOD::Jet &jet, const jet::CompScaleVar::TypeEnum scaleVar) const |
|
virtual double | getUncertainty (size_t index, const xAOD::Jet &jet, const xAOD::EventInfo &eInfo, const jet::CompScaleVar::TypeEnum scaleVar) const |
|
virtual bool | getValidUncertainty (size_t index, double &unc, const xAOD::Jet &jet) const |
|
virtual bool | getValidUncertainty (size_t index, double &unc, const xAOD::Jet &jet, const xAOD::EventInfo &eInfo) const |
|
virtual bool | getValidUncertainty (size_t index, double &unc, const xAOD::Jet &jet, const jet::CompScaleVar::TypeEnum scaleVar) const |
|
virtual bool | getValidUncertainty (size_t index, double &unc, const xAOD::Jet &jet, const xAOD::EventInfo &eInfo, const jet::CompScaleVar::TypeEnum scaleVar) const |
|
virtual double | getNormalizedCaloMassWeight (const xAOD::Jet &jet) const |
|
virtual double | getNormalizedTAMassWeight (const xAOD::Jet &jet) const |
|
virtual double | getNominalResolutionMC (const xAOD::Jet &jet, const jet::CompScaleVar::TypeEnum smearType, const jet::JetTopology::TypeEnum topology=jet::JetTopology::UNKNOWN) const |
|
virtual double | getNominalResolutionData (const xAOD::Jet &jet, const jet::CompScaleVar::TypeEnum smearType, const jet::JetTopology::TypeEnum topology=jet::JetTopology::UNKNOWN) const |
|
virtual CP::CorrectionCode | applyCorrection (xAOD::Jet &jet) const |
|
virtual CP::CorrectionCode | applyCorrection (xAOD::Jet &jet, const xAOD::EventInfo &eInfo) const |
|
virtual CP::CorrectionCode | correctedCopy (const xAOD::Jet &input, xAOD::Jet *&output) const |
|
virtual CP::CorrectionCode | correctedCopy (const xAOD::Jet &input, xAOD::Jet *&output, const xAOD::EventInfo &eInfo) const |
|
virtual CP::CorrectionCode | applyContainerCorrection (xAOD::JetContainer &inputs) const |
|
virtual CP::CorrectionCode | applyContainerCorrection (xAOD::JetContainer &inputs, const xAOD::EventInfo &eInfo) const |
|
virtual bool | isAffectedBySystematic (const CP::SystematicVariation &systematic) const |
| Declare the interface that this class provides. More...
|
|
virtual CP::SystematicSet | affectingSystematics () const |
| the list of all systematics this tool can be affected by More...
|
|
virtual CP::SystematicSet | recommendedSystematics () const |
| the list of all systematics this tool recommends to use More...
|
|
virtual CP::SystematicSet | appliedSystematics () const |
|
virtual StatusCode | applySystematicVariation (const CP::SystematicSet &systConfig) |
| effects: configure this tool for the given list of systematic variations. More...
|
|
virtual TH2D * | getPtCorrelationMatrix (const int numBins, const double minPt, const double maxPt, const double valEta) |
|
virtual TH2D * | getPtCorrelationMatrix (const int numBins, const double minPt, const double maxPt, const double valEta1, const double valEta2) |
|
virtual TH2D * | getEtaCorrelationMatrix (const int numBins, const double minEta, const double maxEta, const double valPt) |
|
virtual TH2D * | getEtaCorrelationMatrix (const int numBins, const double minEta, const double maxEta, const double valPt1, const double valPt2) |
|
virtual void | print () const =0 |
| Print the state of the tool. More...
|
|
virtual void | print () const |
| Print the state of the tool. More...
|
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysInitialize () override |
| Perform system initialization for an algorithm. More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
|
StatusCode | addUncertaintyGroup (const jet::ConfigHelper &helper) |
|
StatusCode | addUncertaintyComponent (const jet::ConfigHelper &helper) |
|
jet::UncertaintyComponent * | buildUncertaintyComponent (const jet::ComponentHelper &component) const |
|
const xAOD::EventInfo * | getDefaultEventInfo () const |
|
StatusCode | checkIndexInput (const size_t index) const |
|
double | getSmearingFactor (const xAOD::Jet &jet, const jet::CompScaleVar::TypeEnum smearType, const double variation) const |
|
double | getNominalResolution (const xAOD::Jet &jet, const jet::CompScaleVar::TypeEnum smearType, const jet::JetTopology::TypeEnum topology, const bool readMC) const |
|
double | readHistoFromParam (const xAOD::Jet &jet, const jet::UncertaintyHistogram &histo, const jet::CompParametrization::TypeEnum param, const jet::CompMassDef::TypeEnum massDef) const |
|
double | readHistoFromParam (const xAOD::JetFourMom_t &jet4vec, const jet::UncertaintyHistogram &histo, const jet::CompParametrization::TypeEnum param) const |
|
StatusCode | updateSplittingScale12 (xAOD::Jet &jet, const double shift) const |
|
StatusCode | updateSplittingScale23 (xAOD::Jet &jet, const double shift) const |
|
StatusCode | updateTau21 (xAOD::Jet &jet, const double shift) const |
|
StatusCode | updateTau32 (xAOD::Jet &jet, const double shift) const |
|
StatusCode | updateTau21WTA (xAOD::Jet &jet, const double shift) const |
|
StatusCode | updateTau32WTA (xAOD::Jet &jet, const double shift) const |
|
StatusCode | updateD2Beta1 (xAOD::Jet &jet, const double shift) const |
|
StatusCode | updateC2Beta1 (xAOD::Jet &jet, const double shift) const |
|
StatusCode | updateQw (xAOD::Jet &jet, const double shift) const |
|
StatusCode | updateTagScaleFactor (xAOD::Jet &jet, const double shift) const |
|
StatusCode | updateTagEfficiency (xAOD::Jet &jet, const double shift) const |
|
bool | checkIfRecommendedSystematic (const jet::UncertaintyGroup &systematic) const |
|
virtual StatusCode | addAffectingSystematic (const CP::SystematicVariation &systematic, bool recommended) |
|
virtual StatusCode | getFilteredSystematicSet (const CP::SystematicSet &systConfig, CP::SystematicSet &filteredSet) |
|
virtual StatusCode | getUncertaintySet (const CP::SystematicSet &filteredSet, jet::UncertaintySet *&uncSet) |
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &) |
| specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &) |
| specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
|
|
Definition at line 42 of file JetUncertaintiesTool.h.
◆ StoreGateSvc_t
◆ JetUncertaintiesTool() [1/2]
JetUncertaintiesTool::JetUncertaintiesTool |
( |
const std::string & |
name = "JetUncertaintiesTool" | ) |
|
◆ JetUncertaintiesTool() [2/2]
◆ ~JetUncertaintiesTool()
JetUncertaintiesTool::~JetUncertaintiesTool |
( |
| ) |
|
|
virtual |
◆ addAffectingSystematic()
Definition at line 1295 of file JetUncertaintiesTool.cxx.
1298 registry.registerSystematic(systematic);
1303 if (
registry.addSystematicToRecommended(systematic) != StatusCode::SUCCESS)
1305 ATH_MSG_ERROR(
"Failed to add systematic to list of recommended systematics: " << systematic.
name());
1306 return StatusCode::FAILURE;
1309 return StatusCode::SUCCESS;
◆ addUncertaintyComponent()
Definition at line 833 of file JetUncertaintiesTool.cxx.
835 const bool isSimpleGroup =
helper.isCompGroup();
839 ATH_MSG_DEBUG(Form(
"Starting to process %s named %s",isSimpleGroup?
"simple component group":
"standard component",component.
name.Data()));
848 ATH_MSG_ERROR(
"Failed to build simple group for component: " << component.
name.Data());
849 return StatusCode::FAILURE;
851 const size_t groupIndex =
m_groups.size();
853 ATH_MSG_DEBUG(Form(
"Created new group \"%s\" for a simple component at index %zu",simpleGroup->
getName().Data(),groupIndex));
855 if (!
m_groups.back()->getSubgroupNum())
857 size_t numGroups = 0;
858 for (
size_t iGroup = 0; iGroup <
m_groups.size(); ++iGroup)
859 if (!
m_groups.at(iGroup)->getSubgroupNum())
863 ,
m_groups.back()->getDesc().Data() ));
873 return StatusCode::FAILURE;
875 if (
m_groups.at(groupIndex)->addComponent(compObject).isFailure())
876 return StatusCode::FAILURE;
877 ATH_MSG_DEBUG(Form(
"Added single component \"%s\" to simple group \"%s\" (index %zu)",compObject->
getName().Data(),
m_groups.at(groupIndex)->getName().Data(),groupIndex));
881 for (
size_t iSubComp = 0; iSubComp < component.
subComps.size(); ++iSubComp)
885 subComp.uncNames.clear();
886 subComp.subComps.clear();
887 subComp.name = component.
subComps.at(iSubComp);
888 subComp.uncNames.push_back(component.
subComps.at(iSubComp));
892 return StatusCode::FAILURE;
894 if (
m_groups.at(groupIndex)->addComponent(subCompObject).isFailure())
895 return StatusCode::FAILURE;
896 ATH_MSG_DEBUG(Form(
"Added component \"%s\" (%zu of %zu) to simple group \"%s\" (index %zu)",subCompObject->
getName().Data(),iSubComp+1,component.
subComps.size(),
m_groups.at(groupIndex)->getName().Data(),groupIndex));
902 size_t groupIndex = 0;
905 ATH_MSG_ERROR(
"No groups exist to add the component to: " << component.
name.Data());
906 return StatusCode::FAILURE;
908 for (
size_t iGroup = 0; iGroup <
m_groups.size(); ++iGroup)
917 return StatusCode::FAILURE;
924 return StatusCode::FAILURE;
926 if (
m_groups.at(groupIndex)->addComponent(compObject).isFailure())
927 return StatusCode::FAILURE;
928 ATH_MSG_DEBUG(Form(
"Added component \"%s\" to group \"%s\" (index %zu)",compObject->
getName().Data(),
m_groups.at(groupIndex)->getName().Data(),groupIndex));
931 return StatusCode::SUCCESS;
◆ addUncertaintyGroup()
Definition at line 794 of file JetUncertaintiesTool.cxx.
799 if (
group.groupNum == 0)
802 return StatusCode::FAILURE;
804 for (
size_t iGroup = 0; iGroup <
m_groups.size(); ++iGroup)
807 ATH_MSG_ERROR(
"Group number matches previous group (" <<
m_groups.at(iGroup)->getName().Data() <<
"): " <<
group.name.Data());
808 return StatusCode::FAILURE;
816 return StatusCode::FAILURE;
820 if (!
m_groups.back()->getSubgroupNum())
822 size_t numGroups = 0;
823 for (
size_t iGroup = 0; iGroup <
m_groups.size(); ++iGroup)
824 if (!
m_groups.at(iGroup)->getSubgroupNum())
828 ,
m_groups.back()->getDesc().Data() ));
830 return StatusCode::SUCCESS;
◆ affectingSystematics()
◆ appliedSystematics()
◆ applyContainerCorrection() [1/2]
◆ applyContainerCorrection() [2/2]
◆ applyCorrection() [1/2]
◆ applyCorrection() [2/2]
Implements ICPJetUncertaintiesTool.
Definition at line 2094 of file JetUncertaintiesTool.cxx.
2098 ATH_MSG_FATAL(
"Tool must be initialized before calling applyCorrection");
2110 std::vector< std::pair<CompScaleVar::TypeEnum,double> > uncSet;
2114 bool allValid =
true;
2115 for (
size_t iVar = 0; iVar < validitySet.size(); ++iVar)
2117 const bool validity = validitySet.at(iVar).second;
2133 bool hasMassRes =
false;
2134 bool hasPtRes =
false;
2135 bool hasFvRes =
false;
2142 ATH_MSG_ERROR(
"Varying both absolute and relative mass resolution components simultaneously is not supported");
2152 ATH_MSG_ERROR(
"Varying both absolute and relative pT resolution components simultaneously is not supported");
2162 ATH_MSG_ERROR(
"Varying both absolute and relative four-vector resolution components simultaneously is not supported");
2171 for (
size_t iVar = 0; iVar < uncSet.size(); ++iVar)
2175 const double shift = 1 + uncSet.at(iVar).second;
2176 const double smear = uncSet.at(iVar).second;
2180 double smearingFactor = 1;
2242 ATH_MSG_ERROR(
"Smearing the mass without specifying the topology is not supported");
2248 ATH_MSG_ERROR(
"Smearing the mass using multiple topology definitions is not supported");
◆ applySystematicVariation()
effects: configure this tool for the given list of systematic variations.
any requested systematics that are not affecting this tool will be silently ignored (unless they cause other errors). failures: systematic unknown failures: requesting multiple variations on the same systematic (e.g. up & down) failures: requesting an unsupported variation on an otherwise supported systematic (e.g. a 2 sigma variation and the tool only supports 1 sigma variations) failures: unsupported combination of supported systematic failures: other tool specific errors
Implements CP::ISystematicsTool.
Definition at line 1312 of file JetUncertaintiesTool.cxx.
1321 std::string remappedName = systConfig.
name();
1322 size_t found = remappedName.find(
"_PseudoData");
1323 if (
found != std::string::npos) {
1324 remappedName.erase(
found, std::string(
"_PseudoData").
length());
1330 return StatusCode::FAILURE;
1335 return StatusCode::FAILURE;
1341 return StatusCode::FAILURE;
1346 return StatusCode::SUCCESS;
◆ buildUncertaintyComponent()
Definition at line 934 of file JetUncertaintiesTool.cxx.
937 if (component.
name ==
"")
939 ATH_MSG_ERROR(
"Attempting to create a component with no name");
944 ATH_MSG_ERROR(
"Attempting to create a component with no parametrization: " << component.
name.Data());
949 ATH_MSG_ERROR(
"Attempting to create a component with no variable to scale: " << component.
name.Data());
962 ATH_MSG_ERROR(
"Attempted to create pileup component without NPV reference value: " << component.
name.Data());
967 ATH_MSG_ERROR(
"Attempted to create pileup component without mu reference value: " << component.
name.Data());
993 ATH_MSG_ERROR(
"Attempting to create a flavour uncertainty component without having specified an AnalysisRootFile");
1016 else if (component.
name.Contains(
"PunchThrough",TString::kIgnoreCase))
1027 else if (component.
name.Contains(
"Closeby",TString::kIgnoreCase))
1043 ATH_MSG_ERROR(
"Asking to create a combined mass term without specifying weights: " << component.
name.Data());
1049 combComp.name = component.
name;
1050 combComp.uncNames.clear();
1062 caloGroupH.groupNum = 0;
1063 caloGroupH.subgroupNum = 0;
1066 caloGroupH.reducible =
false;
1071 ATH_MSG_ERROR(
"Failed to build calo-group for combined mass component: " << component.
name.Data());
1076 std::vector<TString> caloComps = jet::utils::vectorize<TString>(component.
caloMassTerm,
", ");
1077 std::vector<TString> caloMassDefs = jet::utils::vectorize<TString>(component.
caloMassDef,
", ");
1078 if (caloComps.size() != caloMassDefs.size())
1080 ATH_MSG_ERROR(
"Unbalanced number of calo mass terms and calo mass definitions, " << caloComps.size() <<
" vs " << caloMassDefs.size() <<
" for combined mass component: " << component.
name.Data());
1085 for (
size_t iComp = 0; iComp < caloComps.size(); ++iComp)
1089 caloCompH.uncNames.clear();
1090 caloCompH.isSpecial =
false;
1091 caloCompH.name = caloComps.at(iComp);
1092 caloCompH.uncNames.push_back(caloCompH.name+
"_"+
m_jetDef);
1096 ATH_MSG_ERROR(
"Failed to parse calo mass definition " << iComp <<
" (" << caloMassDefs.at(iComp).Data() <<
") for combined mass component: " << component.
name.Data());
1117 TAGroupH.groupNum = 0;
1118 TAGroupH.subgroupNum = 0;
1121 TAGroupH.reducible =
false;
1126 ATH_MSG_ERROR(
"Failed to build TA-group for combined mass component: " << component.
name.Data());
1131 std::vector<TString> TAComps = jet::utils::vectorize<TString>(component.
TAMassTerm,
", ");
1132 std::vector<TString> TAMassDefs = jet::utils::vectorize<TString>(component.
TAMassDef,
", ");
1133 if (TAComps.size() != TAMassDefs.size())
1135 ATH_MSG_ERROR(
"Unbalanced number of TA mass terms and TA mass definitions, " << TAComps.size() <<
" vs " << TAMassDefs.size() <<
" for combined mass component: " << component.
name.Data());
1140 for (
size_t iComp = 0; iComp < TAComps.size(); ++iComp)
1144 TACompH.uncNames.clear();
1145 TACompH.isSpecial =
false;
1146 TACompH.name = TAComps.at(iComp);
1147 TACompH.uncNames.push_back(TACompH.name+
"_"+
m_jetDef);
1151 ATH_MSG_ERROR(
"Failed to parse TA mass definition " << iComp <<
" (" << TAMassDefs.at(iComp).Data() <<
") for combined mass component: " << component.
name.Data());
1167 if (cmuc->
setTATerm(TAGroup).isFailure())
1175 else if (component.
name.Contains(
"Large",TString::kIgnoreCase) && component.
name.Contains(
"Topology",TString::kIgnoreCase))
1185 ATH_MSG_ERROR(Form(
"No LargeRJetTruthLabels specified for Large-R jet topology component %s",component.
name.Data()));
1235 ATH_MSG_ERROR(
"Failed to find the type of component to build: " << component.
name.Data());
◆ checkIfRecommendedSystematic()
◆ checkIndexInput()
StatusCode JetUncertaintiesTool::checkIndexInput |
( |
const size_t |
index | ) |
const |
|
private |
Definition at line 1556 of file JetUncertaintiesTool.cxx.
1560 ATH_MSG_FATAL(
"Tool must be initialized before asking for information pertaining to a given component index");
1561 return StatusCode::FAILURE;
1567 return StatusCode::FAILURE;
1571 return StatusCode::SUCCESS;
◆ correctedCopy() [1/2]
◆ correctedCopy() [2/2]
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
338 return PBASE::declareProperty(
name, property,
doc);
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ getAnalysisFile()
virtual std::string JetUncertaintiesTool::getAnalysisFile |
( |
| ) |
const |
|
inlinevirtual |
◆ getAnalysisHistPattern()
virtual std::string JetUncertaintiesTool::getAnalysisHistPattern |
( |
| ) |
const |
|
inlinevirtual |
◆ getComponentCategories()
std::vector< std::string > JetUncertaintiesTool::getComponentCategories |
( |
| ) |
const |
|
virtual |
◆ getComponentCategory()
std::string JetUncertaintiesTool::getComponentCategory |
( |
const size_t |
index | ) |
const |
|
virtual |
◆ getComponentDesc()
std::string JetUncertaintiesTool::getComponentDesc |
( |
const size_t |
index | ) |
const |
|
virtual |
◆ getComponentIndex() [1/2]
size_t JetUncertaintiesTool::getComponentIndex |
( |
const std::string & |
name | ) |
const |
|
virtual |
◆ getComponentIndex() [2/2]
size_t JetUncertaintiesTool::getComponentIndex |
( |
const TString & |
name | ) |
const |
|
virtual |
◆ getComponentIsReducible()
bool JetUncertaintiesTool::getComponentIsReducible |
( |
const size_t |
index | ) |
const |
|
virtual |
◆ getComponentName()
std::string JetUncertaintiesTool::getComponentName |
( |
const size_t |
index | ) |
const |
|
virtual |
◆ getComponentNamesInCategory()
std::vector< std::string > JetUncertaintiesTool::getComponentNamesInCategory |
( |
const std::string & |
category | ) |
const |
|
virtual |
Definition at line 2018 of file JetUncertaintiesTool.cxx.
2022 ATH_MSG_FATAL(
"Tool must be initialized before calling getComponentNamesInCategory");
2027 std::vector<std::string>
names;
2028 for (
size_t iComp = 0; iComp < components.size(); ++iComp)
◆ getComponentScalesC2Beta1()
bool JetUncertaintiesTool::getComponentScalesC2Beta1 |
( |
const size_t |
index | ) |
const |
|
virtual |
◆ getComponentScalesD12()
bool JetUncertaintiesTool::getComponentScalesD12 |
( |
const size_t |
index | ) |
const |
|
virtual |
◆ getComponentScalesD23()
bool JetUncertaintiesTool::getComponentScalesD23 |
( |
const size_t |
index | ) |
const |
|
virtual |
◆ getComponentScalesD2Beta1()
bool JetUncertaintiesTool::getComponentScalesD2Beta1 |
( |
const size_t |
index | ) |
const |
|
virtual |
◆ getComponentScalesFourVec()
bool JetUncertaintiesTool::getComponentScalesFourVec |
( |
const size_t |
index | ) |
const |
|
virtual |
◆ getComponentScalesMass()
bool JetUncertaintiesTool::getComponentScalesMass |
( |
const size_t |
index | ) |
const |
|
virtual |
◆ getComponentScalesMultiple()
bool JetUncertaintiesTool::getComponentScalesMultiple |
( |
const size_t |
index | ) |
const |
|
virtual |
◆ getComponentScalesPt()
bool JetUncertaintiesTool::getComponentScalesPt |
( |
const size_t |
index | ) |
const |
|
virtual |
◆ getComponentScalesQw()
bool JetUncertaintiesTool::getComponentScalesQw |
( |
const size_t |
index | ) |
const |
|
virtual |
◆ getComponentScalesTagScaleFactor()
bool JetUncertaintiesTool::getComponentScalesTagScaleFactor |
( |
const size_t |
index | ) |
const |
|
virtual |
◆ getComponentScalesTau21()
bool JetUncertaintiesTool::getComponentScalesTau21 |
( |
const size_t |
index | ) |
const |
|
virtual |
◆ getComponentScalesTau21WTA()
bool JetUncertaintiesTool::getComponentScalesTau21WTA |
( |
const size_t |
index | ) |
const |
|
virtual |
◆ getComponentScalesTau32()
bool JetUncertaintiesTool::getComponentScalesTau32 |
( |
const size_t |
index | ) |
const |
|
virtual |
◆ getComponentScalesTau32WTA()
bool JetUncertaintiesTool::getComponentScalesTau32WTA |
( |
const size_t |
index | ) |
const |
|
virtual |
◆ getComponentScaleVars()
◆ getComponentsInCategory()
std::vector< size_t > JetUncertaintiesTool::getComponentsInCategory |
( |
const std::string & |
category | ) |
const |
|
virtual |
Definition at line 1993 of file JetUncertaintiesTool.cxx.
1997 ATH_MSG_FATAL(
"Tool must be initialized before calling getComponentsInCategory");
2010 std::vector<size_t> components;
2011 for (
size_t iComp = 0; iComp <
m_groups.size(); ++iComp)
2012 if (
m_groups.at(iComp)->getCategory() == categoryEnum)
2013 components.push_back(iComp);
◆ getComponentTopology()
◆ getConfigFile()
virtual std::string JetUncertaintiesTool::getConfigFile |
( |
| ) |
const |
|
inlinevirtual |
◆ getDefaultAnaFile()
virtual std::string JetUncertaintiesTool::getDefaultAnaFile |
( |
| ) |
const |
|
inlinevirtual |
◆ getDefaultEventInfo()
Definition at line 2315 of file JetUncertaintiesTool.cxx.
2325 static unsigned long long eventNum = 0;
2332 ATH_MSG_ERROR(
"Failed to retrieve default EventInfo object");
2337 if (eInfoObj && eventNum == eInfoConst->
eventNumber())
2347 eInfoObj = eInfoPair.first;
2348 eInfoAux = eInfoPair.second;
2351 if (accNPV.isAvailable(*eInfoConst))
2358 ATH_MSG_ERROR(
"Failed to retrieve default NPV value from PrimaryVertices");
2366 for (itr = vertices->
begin(); itr != vertices->
end(); ++itr)
2367 if ( (*itr)->nTrackParticles() > 1)
2371 accNPV(*eInfoObj) = NPV;
◆ getEtaCorrelationMatrix() [1/2]
TH2D * JetUncertaintiesTool::getEtaCorrelationMatrix |
( |
const int |
numBins, |
|
|
const double |
minEta, |
|
|
const double |
maxEta, |
|
|
const double |
valPt |
|
) |
| |
|
virtual |
◆ getEtaCorrelationMatrix() [2/2]
TH2D * JetUncertaintiesTool::getEtaCorrelationMatrix |
( |
const int |
numBins, |
|
|
const double |
minEta, |
|
|
const double |
maxEta, |
|
|
const double |
valPt1, |
|
|
const double |
valPt2 |
|
) |
| |
|
virtual |
Definition at line 2066 of file JetUncertaintiesTool.cxx.
2070 ATH_MSG_FATAL(
"Tool must be initialized before calling getCorrelationMatrix");
2075 if (corrMat.initializeForEta(*this).isFailure())
2077 return new TH2D(*corrMat.getMatrix());
◆ getFilteredSystematicSet()
Definition at line 1349 of file JetUncertaintiesTool.cxx.
1354 filteredSet = iter->second;
1359 return StatusCode::FAILURE;
1363 return StatusCode::SUCCESS;
◆ getJetDef()
virtual std::string JetUncertaintiesTool::getJetDef |
( |
| ) |
const |
|
inlinevirtual |
◆ getKey()
Get the (hashed) key of an object that is in the event store.
This is a bit of a special one. StoreGateSvc
and xAOD::TEvent
both provide ways for getting the SG::sgkey_t
key for an object that is in the store, based on a bare pointer. But they provide different interfaces for doing so.
In order to allow tools to efficiently perform this operation, they can use this helper function.
- See also
- asg::AsgTool::getName
- Parameters
-
ptr | The bare pointer to the object that the event store should know about |
- Returns
- The hashed key of the object in the store. If not found, an invalid (zero) key.
Definition at line 119 of file AsgTool.cxx.
121 #ifdef XAOD_STANDALONE
127 return (
proxy ==
nullptr ? 0 :
proxy->sgkey() );
128 #endif // XAOD_STANDALONE
◆ getMCType()
virtual std::string JetUncertaintiesTool::getMCType |
( |
| ) |
const |
|
inlinevirtual |
◆ getName() [1/2]
virtual std::string JetUncertaintiesTool::getName |
( |
| ) |
const |
|
inlinevirtual |
◆ getName() [2/2]
const std::string & asg::AsgTool::getName |
( |
const void * |
ptr | ) |
const |
|
inherited |
Get the name of an object that is / should be in the event store.
This is a bit of a special one. StoreGateSvc
and xAOD::TEvent
both provide ways for getting the std::string
name for an object that is in the store, based on a bare pointer. But they provide different interfaces for doing so.
In order to allow tools to efficiently perform this operation, they can use this helper function.
- See also
- asg::AsgTool::getKey
- Parameters
-
ptr | The bare pointer to the object that the event store should know about |
- Returns
- The string name of the object in the store. If not found, an empty string.
Definition at line 106 of file AsgTool.cxx.
108 #ifdef XAOD_STANDALONE
114 static const std::string
dummy =
"";
116 #endif // XAOD_STANDALONE
◆ getNominalResolution()
◆ getNominalResolutionData()
◆ getNominalResolutionMC()
◆ getNormalizedCaloMassWeight()
double JetUncertaintiesTool::getNormalizedCaloMassWeight |
( |
const xAOD::Jet & |
jet | ) |
const |
|
virtual |
Definition at line 1923 of file JetUncertaintiesTool.cxx.
1933 if (caloRes == 0 || TARes == 0)
return 0;
1935 const double caloFactor = (caloRes == 0) ? 0 : 1./(caloRes*caloRes);
1936 const double TAFactor = ( TARes == 0) ? 0 : 1./(TARes*TARes);
1938 if (caloFactor + TAFactor == 0)
return 0;
1940 return caloFactor/(caloFactor+TAFactor);
◆ getNormalizedTAMassWeight()
double JetUncertaintiesTool::getNormalizedTAMassWeight |
( |
const xAOD::Jet & |
jet | ) |
const |
|
virtual |
Definition at line 1943 of file JetUncertaintiesTool.cxx.
1954 if (caloRes == 0 || TARes == 0)
return 0;
1956 const double caloFactor = 1./(caloRes*caloRes);
1957 const double TAFactor = 1./(TARes*TARes);
1959 if (caloFactor + TAFactor == 0)
return 0;
1961 return TAFactor/(caloFactor+TAFactor);
◆ getNumComponents()
size_t JetUncertaintiesTool::getNumComponents |
( |
| ) |
const |
|
virtual |
◆ getPath()
virtual std::string JetUncertaintiesTool::getPath |
( |
| ) |
const |
|
inlinevirtual |
◆ getProperty()
template<class T >
const T* asg::AsgTool::getProperty |
( |
const std::string & |
name | ) |
const |
|
inherited |
Get one of the tool's properties.
◆ getPtCorrelationMatrix() [1/2]
TH2D * JetUncertaintiesTool::getPtCorrelationMatrix |
( |
const int |
numBins, |
|
|
const double |
minPt, |
|
|
const double |
maxPt, |
|
|
const double |
valEta |
|
) |
| |
|
virtual |
◆ getPtCorrelationMatrix() [2/2]
TH2D * JetUncertaintiesTool::getPtCorrelationMatrix |
( |
const int |
numBins, |
|
|
const double |
minPt, |
|
|
const double |
maxPt, |
|
|
const double |
valEta1, |
|
|
const double |
valEta2 |
|
) |
| |
|
virtual |
Definition at line 2046 of file JetUncertaintiesTool.cxx.
2050 ATH_MSG_FATAL(
"Tool must be initialized before calling getCorrelationMatrix");
2054 std::cout <<
"Creating with max values " << valEta1 <<
" " << valEta2 << std::endl;
2056 if (corrMat.initializeForPt(*this).isFailure())
2058 return new TH2D(*corrMat.getMatrix());
◆ getRefMu() [1/2]
float JetUncertaintiesTool::getRefMu |
( |
| ) |
const |
|
virtual |
◆ getRefMu() [2/2]
◆ getRefNPV() [1/2]
float JetUncertaintiesTool::getRefNPV |
( |
| ) |
const |
|
virtual |
◆ getRefNPV() [2/2]
◆ getRelease()
virtual std::string JetUncertaintiesTool::getRelease |
( |
| ) |
const |
|
inlinevirtual |
◆ getSmearingFactor()
Definition at line 2380 of file JetUncertaintiesTool.cxx.
2499 else if (variation < 0 && !m_resHelper->smearOnlyMC())
2505 const double sigmaNom =
std::max(sigmaMC,sigmaData);
2513 const double sigmaSmear = sqrt(
pow(sigmaNom + fabs(variation)*relativeFactor,2) -
pow(sigmaNom,2));
2517 ATH_MSG_ERROR(
"A seed of 1e5 times the jet phi is used in JetCalibTools so using it here leads to correlated smearing");
2533 double smearingFactor = -1;
2534 while (smearingFactor < 0)
2535 smearingFactor =
m_rand.Gaus(1.,sigmaSmear);
2536 return smearingFactor;
◆ getSqrtS()
float JetUncertaintiesTool::getSqrtS |
( |
| ) |
const |
|
virtual |
◆ getUncertainty() [1/4]
double JetUncertaintiesTool::getUncertainty |
( |
size_t |
index, |
|
|
const xAOD::Jet & |
jet |
|
) |
| const |
|
virtual |
◆ getUncertainty() [2/4]
◆ getUncertainty() [3/4]
◆ getUncertainty() [4/4]
◆ getUncertaintySet()
Definition at line 1366 of file JetUncertaintiesTool.cxx.
1374 uncSet = iter->second;
1382 ATH_MSG_ERROR(
"Failed to create UncertaintySet for filtered CP::SystematicSet: " << filteredSet.
name());
1384 return StatusCode::FAILURE;
1386 m_systSetMap.insert(std::make_pair(filteredSet,uncSet));
1389 return StatusCode::SUCCESS;
◆ getValidity() [1/4]
bool JetUncertaintiesTool::getValidity |
( |
size_t |
index, |
|
|
const xAOD::Jet & |
jet |
|
) |
| const |
|
virtual |
◆ getValidity() [2/4]
◆ getValidity() [3/4]
◆ getValidity() [4/4]
◆ getValidUncertainty() [1/4]
bool JetUncertaintiesTool::getValidUncertainty |
( |
size_t |
index, |
|
|
double & |
unc, |
|
|
const xAOD::Jet & |
jet |
|
) |
| const |
|
virtual |
◆ getValidUncertainty() [2/4]
◆ getValidUncertainty() [3/4]
◆ getValidUncertainty() [4/4]
◆ initialize()
StatusCode JetUncertaintiesTool::initialize |
( |
| ) |
|
|
virtual |
Dummy implementation of the initialisation function.
It's here to allow the dual-use tools to skip defining an initialisation function. Since many are doing so...
Reimplemented from asg::AsgTool.
Definition at line 236 of file JetUncertaintiesTool.cxx.
242 return StatusCode::FAILURE;
245 ATH_MSG_INFO(Form(
"Preparing to initialize the JetUncertaintiesTool named %s",
m_name.c_str()));
253 if (configFilePath ==
"")
256 return StatusCode::FAILURE;
260 if (settings.ReadFile(configFilePath.Data(),kEnvGlobal))
262 ATH_MSG_ERROR(
"Cannot read config file: " << configFilePath.Data());
263 return StatusCode::FAILURE;
267 ATH_MSG_INFO(Form(
"================================================"));
273 ATH_MSG_INFO(Form(
" Location: %s",configFilePath.Data()));
277 m_release = settings.GetValue(
"UncertaintyRelease",
"UNKNOWN");
281 TString allowedJetDefStr = settings.GetValue(
"SupportedJetDefs",
"");
282 if (allowedJetDefStr ==
"")
284 ATH_MSG_ERROR(
"Cannot find supported jet definitions in config");
285 return StatusCode::FAILURE;
287 std::vector<TString> allowedJetDefs = jet::utils::vectorize<TString>(allowedJetDefStr,
" ,");
288 bool foundJetDef =
false;
289 for (
size_t iDef = 0; iDef < allowedJetDefs.size(); ++iDef)
290 if (!allowedJetDefs.at(iDef).CompareTo(
m_jetDef.c_str(),TString::kIgnoreCase))
299 return StatusCode::FAILURE;
304 TString allowedMCtypeStr = settings.GetValue(
"SupportedMCTypes",
"");
305 if (allowedMCtypeStr ==
"")
308 return StatusCode::FAILURE;
310 std::vector<TString> allowedMCtypes = jet::utils::vectorize<TString>(allowedMCtypeStr,
" ,");
311 bool foundMCtype =
false;
312 for (
size_t iType = 0; iType < allowedMCtypes.size(); ++iType)
313 if (!allowedMCtypes.at(iType).CompareTo(
m_mcType.c_str(),TString::kIgnoreCase))
316 m_mcType = allowedMCtypes.at(iType);
322 return StatusCode::FAILURE;
328 TString histFileName = settings.GetValue(
"UncertaintyRootFile",
"");
329 if (histFileName ==
"")
332 return StatusCode::FAILURE;
334 ATH_MSG_INFO(Form(
" UncertaintyFile: \"%s\"",histFileName.Data()));
338 if (histFilePath ==
"")
340 ATH_MSG_ERROR(
"Cannot find the path of the uncertainty histogram file");
341 return StatusCode::FAILURE;
343 ATH_MSG_INFO(Form(
" Location: %s",histFilePath.Data()));
346 TFile* histFile =
new TFile(histFilePath,
"READ");
347 if (!histFile || histFile->IsZombie())
349 ATH_MSG_ERROR(
"Cannot open uncertainty histogram file: " << histFileName.Data());
350 return StatusCode::FAILURE;
356 m_defAnaFile = settings.GetValue(
"AnalysisRootFile",
"");
364 if (analysisFilePath ==
"")
366 ATH_MSG_ERROR(
"Cannot find the path of the analysis histogram file");
367 return StatusCode::FAILURE;
369 ATH_MSG_INFO(Form(
" Location: %s",analysisFilePath.Data()));
376 if (analysisFilePath ==
"")
378 ATH_MSG_ERROR(
"Cannot find the path of the default analysis histogram file");
379 return StatusCode::FAILURE;
381 ATH_MSG_INFO(Form(
" Location: %s",analysisFilePath.Data()));
390 TString validHistForFile = settings.GetValue(
"FileValidHistogram",
"");
391 if (validHistForFile !=
"")
394 TString validHistForFileParam = settings.GetValue(
"FileValidHistParam",
"");
395 if (validHistForFileParam ==
"")
397 ATH_MSG_ERROR(
"Specified a FileValidHistogram without an accompanying FileValidHistParam: " << validHistForFile.Data());
398 return StatusCode::FAILURE;
410 return StatusCode::FAILURE;
416 const TString caloMassWeight = TString(settings.GetValue(
"CombMassWeightCaloHist",
""));
417 const TString TAMassWeight = TString(settings.GetValue(
"CombMassWeightTAHist",
""));
418 if (caloMassWeight !=
"" && TAMassWeight !=
"")
424 return StatusCode::FAILURE;
426 return StatusCode::FAILURE;
429 const TString combMassParam = TString(settings.GetValue(
"CombMassWeightParam",
"PtMass"));
433 ATH_MSG_ERROR(
"Unexpected combined mass parametrization: " << combMassParam.Data());
434 return StatusCode::FAILURE;
437 ATH_MSG_INFO(
" Found and loaded combined mass weight factors");
443 const TString caloWeightMassDef = settings.GetValue(
"CombMassWeightCaloMassDef",
"Calo");
444 const TString TAWeightMassDef = settings.GetValue(
"CombMassWeightTAMassDef",
"TA");
445 if (caloWeightMassDef !=
"")
450 if (TAWeightMassDef !=
"")
456 else if (caloMassWeight !=
"" && TAMassWeight ==
"")
458 ATH_MSG_ERROR(
" Found combined mass weight factors for the calo term, but not the TA term");
459 return StatusCode::FAILURE;
461 else if (caloMassWeight ==
"" && TAMassWeight !=
"")
463 ATH_MSG_ERROR(
" Found combined mass weight factors for the TA term, but not the calo term");
464 return StatusCode::FAILURE;
469 m_name_EffSF = TString(settings.GetValue(
"TagSFEffName",
"temp_effSF"));
470 m_name_Efficiency = TString(settings.GetValue(
"TagEfficiencyName",
"temp_efficiency"));
471 m_name_TagResult = TString(settings.GetValue(
"TagResultName",
"temp_accept")).ReplaceAll(
"accept",
"Tagged");
484 TString refNPV = settings.GetValue(
"Pileup.NPVRef",
"");
485 TString refMu = settings.GetValue(
"Pileup.MuRef",
"");
486 if ( (refNPV !=
"" && refMu ==
"") || (refNPV ==
"" && refMu !=
"") )
489 return StatusCode::FAILURE;
491 else if ( refNPV !=
"" && refMu !=
"")
495 if (utils::isTypeObjFromString<float>(refNPV))
496 m_refNPV = utils::getTypeObjFromString<float>(refNPV);
501 return StatusCode::FAILURE;
504 if (utils::isTypeObjFromString<float>(refMu))
505 m_refMu = utils::getTypeObjFromString<float>(refMu);
510 return StatusCode::FAILURE;
518 std::string varString =
"";
519 for (
size_t iFilter = 0; iFilter <
m_systFilters.size(); ++iFilter)
523 ATH_MSG_ERROR(
"Unable to parse VariablesToShift due to unknown variable, please check for typos: " <<
m_systFilters.at(iFilter));
524 return StatusCode::FAILURE;
526 if (!varString.empty())
530 ATH_MSG_INFO(Form(
" VariablesToShift: %s",varString.c_str()));
537 return StatusCode::FAILURE;
547 ATH_MSG_INFO(Form(
"%6s %-40s : %s",
"",
"JES uncert. comp.",
"Description"));
548 ATH_MSG_INFO(Form(
"%6s %-40s -%s",
"",
"-----------------",
"-----------"));
549 for (
size_t iGroup = 0; iGroup < 999; ++iGroup)
552 const TString
prefix = Form(
"JESGroup.%zu.",iGroup);
556 if (
helper.initialize(settings).isFailure())
557 return StatusCode::FAILURE;
560 if (!
helper.isGroup())
continue;
569 return StatusCode::FAILURE;
571 for (
size_t iComp = 0; iComp < 999; ++iComp)
574 const TString
prefix = Form(
"JESComponent.%zu.",iComp);
578 if (
helper.initialize(settings).isFailure())
579 return StatusCode::FAILURE;
596 return StatusCode::FAILURE;
601 size_t numCompsBeforeMerger = 0;
602 for (
size_t iGroup = 0; iGroup <
m_groups.size(); ++iGroup) {
603 numCompsBeforeMerger +=
m_groups.at(iGroup)->getNumComponents();
615 for (
size_t iGroup = 0; iGroup <
m_groups.size(); ++iGroup)
617 const int groupNum =
m_groups.at(iGroup)->getGroupNum();
618 const int subgroupNum =
m_groups.at(iGroup)->getSubgroupNum();
622 if (!groupNum || !subgroupNum)
continue;
625 if (groupNum == subgroupNum)
627 ATH_MSG_ERROR(Form(
"Specified group %d (%s) as the parent of itself, blocking for safety",groupNum,
m_groups.at(iGroup)->getName().Data()));
628 return StatusCode::FAILURE;
632 for (
size_t iParentGroup = 0; iParentGroup <
m_groups.size(); ++iParentGroup)
634 if (iParentGroup == iGroup)
continue;
636 const int parentGroupNum =
m_groups.at(iParentGroup)->getGroupNum();
637 if (parentGroupNum == subgroupNum)
640 if (
m_groups.at(iParentGroup)->addSubgroup(
m_groups.at(iGroup)).isFailure())
642 ATH_MSG_ERROR(Form(
"Failed to add group %d (%s) as a subgroup of group %d (%s)",groupNum,
m_groups.at(iGroup)->getName().Data(),parentGroupNum,
m_groups.at(iParentGroup)->getName().Data()));
643 return StatusCode::FAILURE;
651 std::vector<UncertaintyGroup*> localGroupVec;
652 for (
size_t iGroup = 0; iGroup <
m_groups.size(); ++iGroup)
653 localGroupVec.push_back(
m_groups.at(iGroup));
656 for (
size_t iGroup = 0; iGroup < localGroupVec.size(); ++iGroup)
659 if (!localGroupVec.at(iGroup)->getSubgroupNum())
660 m_groups.push_back(localGroupVec.at(iGroup));
665 size_t numCompsAfterMerger = 0;
666 for (
size_t iGroup = 0; iGroup <
m_groups.size(); ++iGroup) {
667 numCompsAfterMerger +=
m_groups.at(iGroup)->getNumComponents();
678 if (numCompsBeforeMerger != numCompsAfterMerger)
680 ATH_MSG_ERROR(Form(
"Something went wrong merging groups: %zu before merger and %zu after merger",numCompsBeforeMerger,numCompsAfterMerger));
681 for (
size_t iGroup = 0; iGroup <
m_groups.size(); ++iGroup)
685 return StatusCode::FAILURE;
692 for (
size_t iGroup = 0; iGroup <
m_groups.size(); ++iGroup)
694 if (
m_groups.at(iGroup)->getNumComponents() == 0)
697 return StatusCode::FAILURE;
699 if (
m_groups.at(iGroup)->initialize(histFile).isFailure())
700 return StatusCode::FAILURE;
713 return StatusCode::FAILURE;
715 if (systVar.basename().find(
"JER") != std::string::npos) {
718 return StatusCode::FAILURE;
726 for (
size_t iGroup = 0; iGroup <
m_groups.size(); ++iGroup)
728 std::set<CompScaleVar::TypeEnum> scaleVars =
m_groups.at(iGroup)->getScaleVars();
736 return StatusCode::FAILURE;
744 for (
size_t iFilter = 0; iFilter <
m_systFilters.size(); ++iFilter)
746 bool filterIsSane =
false;
747 for (
size_t iGroup = 0; iGroup <
m_groups.size(); ++iGroup)
757 ATH_MSG_ERROR(
" One of the specified VariablesToShift is not associated with any components, please check for typos: " <<
m_systFilters.at(iFilter));
758 return StatusCode::FAILURE;
764 size_t numCompInGroups = 0;
765 for (
size_t iGroup = 0; iGroup <
m_groups.size(); ++iGroup)
766 numCompInGroups +=
m_groups.at(iGroup)->getNumComponents();
776 ATH_MSG_INFO(Form(
"================================================"));
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ isAffectedBySystematic()
◆ msg() [1/2]
◆ msg() [2/2]
◆ msg_level_name()
const std::string & asg::AsgTool::msg_level_name |
( |
| ) |
const |
|
inherited |
A deprecated function for getting the message level's name.
Instead of using this, weirdly named function, user code should get the string name of the current minimum message level (in case they really need it...), with:
MSG::name( msg().level() )
This function's name doesn't follow the ATLAS coding rules, and as such will be removed in the not too distant future.
- Returns
- The string name of the current minimum message level that's printed
Definition at line 101 of file AsgTool.cxx.
◆ msgLvl()
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ print() [1/2]
void asg::AsgTool::print |
( |
| ) |
const |
|
virtualinherited |
Print the state of the tool.
Implements asg::IAsgTool.
Reimplemented in JetRecTool, JetFinder, JetModifiedMassDrop, JetFromPseudojet, JetReclusterer, JetReclusteringTool, JetTruthLabelingTool, JetPileupLabelingTool, HI::HIPileupTool, JetDumper, JetBottomUpSoftDrop, JetRecursiveSoftDrop, JetSoftDrop, JetConstituentsRetriever, JetSubStructureMomentToolsBase, JetSplitter, JetToolRunner, JetPruner, JetPseudojetRetriever, JetTrimmer, AsgHelloTool, and KtDeltaRTool.
Definition at line 131 of file AsgTool.cxx.
◆ print() [2/2]
virtual void asg::IAsgTool::print |
( |
| ) |
const |
|
pure virtualinherited |
Print the state of the tool.
Implemented in JetRecTool, JetFinder, JetModifiedMassDrop, JetFromPseudojet, JetReclusterer, JetReclusteringTool, JetTruthLabelingTool, JetPileupLabelingTool, HI::HIPileupTool, asg::AsgTool, JetDumper, JetBottomUpSoftDrop, JetRecursiveSoftDrop, JetSoftDrop, JetConstituentsRetriever, JetSubStructureMomentToolsBase, JetSplitter, JetToolRunner, JetPruner, JetPseudojetRetriever, JetTrimmer, AsgHelloTool, and KtDeltaRTool.
◆ readHistoFromParam() [1/2]
◆ readHistoFromParam() [2/2]
◆ recommendedSystematics()
◆ renounce()
◆ renounceArray()
◆ setRandomSeed()
virtual void JetUncertaintiesTool::setRandomSeed |
( |
long long int |
seed | ) |
|
|
inlinevirtual |
◆ setScaleToGeV()
StatusCode JetUncertaintiesTool::setScaleToGeV |
( |
| ) |
|
|
virtual |
◆ setScaleToMeV()
StatusCode JetUncertaintiesTool::setScaleToMeV |
( |
| ) |
|
|
virtual |
◆ sysInitialize()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateC2Beta1()
StatusCode JetUncertaintiesTool::updateC2Beta1 |
( |
xAOD::Jet & |
jet, |
|
|
const double |
shift |
|
) |
| const |
|
private |
Definition at line 2883 of file JetUncertaintiesTool.cxx.
2889 static const bool C2wasAvailable = accC2.isAvailable(
jet);
2890 static const bool ECFwasAvailable = accECF1.isAvailable(
jet) && accECF2.isAvailable(
jet) && accECF3.isAvailable(
jet);
2895 if (!accC2.isAvailable(
jet))
2897 ATH_MSG_ERROR(
"The C2 moment was previously available but is not available on this jet. This functionality is not supported.");
2898 return StatusCode::FAILURE;
2900 const float value = accC2(constJet);
2902 return StatusCode::SUCCESS;
2904 if (ECFwasAvailable)
2906 if (! (accECF1.isAvailable(constJet) && accECF2.isAvailable(constJet) && accECF3.isAvailable(constJet)) )
2908 ATH_MSG_ERROR(
"The ECF1, ECF2, and ECF3 moments were previously available but are not available on this jet. This functionality is not supported.");
2909 return StatusCode::FAILURE;
2911 const float ecf1 = accECF1(constJet);
2912 const float ecf2 = accECF2(constJet);
2913 const float ecf3 = accECF3(constJet);
2914 accC2(
jet) = fabs(ecf2) > 1.e-6 ? shift * (ecf3*ecf1/
pow(ecf2,2)) : -999;
2915 return StatusCode::SUCCESS;
2918 ATH_MSG_ERROR(
"Neither C2 nor ECF1+ECF2+ECF3 moments are available on the jet, please make sure one of these options is available before calling the tool");
2919 return StatusCode::FAILURE;
◆ updateD2Beta1()
StatusCode JetUncertaintiesTool::updateD2Beta1 |
( |
xAOD::Jet & |
jet, |
|
|
const double |
shift |
|
) |
| const |
|
private |
Definition at line 2829 of file JetUncertaintiesTool.cxx.
2835 static const bool D2wasAvailable = accD2.isAvailable(
jet);
2836 static const bool ECFwasAvailable = accECF1.isAvailable(
jet) && accECF2.isAvailable(
jet) && accECF3.isAvailable(
jet);
2841 if (!accD2.isAvailable(
jet))
2843 ATH_MSG_ERROR(
"The D2 moment was previously available but is not available on this jet. This functionality is not supported.");
2844 return StatusCode::FAILURE;
2846 const float value = accD2(constJet);
2848 return StatusCode::SUCCESS;
2850 if (ECFwasAvailable)
2852 if (! (accECF1.isAvailable(constJet) && accECF2.isAvailable(constJet) && accECF3.isAvailable(constJet)) )
2854 ATH_MSG_ERROR(
"The ECF1, ECF2, and ECF3 moments were previously available but are not available on this jet. This functionality is not supported.");
2855 return StatusCode::FAILURE;
2857 const float ecf1 = accECF1(constJet);
2858 const float ecf2 = accECF2(constJet);
2859 const float ecf3 = accECF3(constJet);
2860 accD2(
jet) = fabs(ecf2) > 1.e-6 ? shift * (
pow(ecf1/ecf2,3)*ecf3) : -999;
2861 return StatusCode::SUCCESS;
2879 ATH_MSG_ERROR(
"Neither D2 nor ECF1+ECF2+ECF3 moments are available on the jet, please make sure one of these options is available before calling the tool");
2880 return StatusCode::FAILURE;
◆ updateQw()
StatusCode JetUncertaintiesTool::updateQw |
( |
xAOD::Jet & |
jet, |
|
|
const double |
shift |
|
) |
| const |
|
private |
Definition at line 2922 of file JetUncertaintiesTool.cxx.
2927 if (accQw.isAvailable(constJet))
2929 const float value = accQw(constJet);
2931 return StatusCode::SUCCESS;
2934 ATH_MSG_ERROR(
"Qw moment is not available on the jet, please make sure to set Qw before calling the tool");
2935 return StatusCode::FAILURE;
◆ updateSplittingScale12()
StatusCode JetUncertaintiesTool::updateSplittingScale12 |
( |
xAOD::Jet & |
jet, |
|
|
const double |
shift |
|
) |
| const |
|
private |
Definition at line 2546 of file JetUncertaintiesTool.cxx.
2551 if (accD12.isAvailable(constJet))
2553 const float value = accD12(constJet);
2555 return StatusCode::SUCCESS;
2558 ATH_MSG_ERROR(
"Split12 moment (D12) is not available on the jet, please make sure to set Split12 before calling the tool");
2559 return StatusCode::FAILURE;
◆ updateSplittingScale23()
StatusCode JetUncertaintiesTool::updateSplittingScale23 |
( |
xAOD::Jet & |
jet, |
|
|
const double |
shift |
|
) |
| const |
|
private |
Definition at line 2562 of file JetUncertaintiesTool.cxx.
2567 if (accD23.isAvailable(constJet))
2569 const float value = accD23(constJet);
2571 return StatusCode::SUCCESS;
2574 ATH_MSG_ERROR(
"Split23 moment (D23) is not available on the jet, please make sure to set Split23 before calling the tool");
2575 return StatusCode::FAILURE;
◆ updateTagEfficiency()
StatusCode JetUncertaintiesTool::updateTagEfficiency |
( |
xAOD::Jet & |
jet, |
|
|
const double |
shift |
|
) |
| const |
|
private |
Definition at line 2998 of file JetUncertaintiesTool.cxx.
3002 if (TagScaleFactorwasAvailable)
3006 ATH_MSG_ERROR(
"TagScaleFactor was previously available but is not available on this jet. This functionality is not supported.");
3007 return StatusCode::FAILURE;
3012 return StatusCode::SUCCESS;
3019 float sigeffSF = 1.0;
3020 float updated_efficiency =
efficiency + shift;
3022 if ( updated_efficiency < 1
e-5 ) updated_efficiency=1
e-5;
3023 if ( updated_efficiency > 1.0-1
e-5 ) updated_efficiency=1.0-1
e-5;
3030 return StatusCode::SUCCESS;
3034 if ( std::abs(effSF - 1.0) < 1
e-5 && std::abs(shift)>0 ) {
3039 float variatedIneffSFsig = (1. - sigeffSF*updated_efficiency)/(1. - updated_efficiency);
3044 return StatusCode::SUCCESS;
3049 return StatusCode::SUCCESS;
3053 ATH_MSG_ERROR(
"TagScaleFactor is not available on the jet, please make sure you called BoostedJetTaggers tag() function before calling this function.");
3054 return StatusCode::FAILURE;
◆ updateTagScaleFactor()
StatusCode JetUncertaintiesTool::updateTagScaleFactor |
( |
xAOD::Jet & |
jet, |
|
|
const double |
shift |
|
) |
| const |
|
private |
Definition at line 2938 of file JetUncertaintiesTool.cxx.
2942 if (TagScaleFactorwasAvailable)
2946 ATH_MSG_ERROR(
"TagScaleFactor was previously available but is not available on this jet. This functionality is not supported.");
2947 return StatusCode::FAILURE;
2952 return StatusCode::SUCCESS;
2964 if ( shift*
value < 0.0 ){
2969 return StatusCode::SUCCESS;
2974 if ( shift*
value < 0.0 ){
2980 return StatusCode::SUCCESS;
2985 if ( shift*
value < 0.0 ){
2990 return StatusCode::SUCCESS;
2994 ATH_MSG_ERROR(
"TagScaleFactor is not available on the jet, please make sure you called BoostedJetTaggers tag() function before calling this function.");
2995 return StatusCode::FAILURE;
◆ updateTau21()
StatusCode JetUncertaintiesTool::updateTau21 |
( |
xAOD::Jet & |
jet, |
|
|
const double |
shift |
|
) |
| const |
|
private |
Definition at line 2578 of file JetUncertaintiesTool.cxx.
2583 static const bool Tau21wasAvailable = accTau21.isAvailable(
jet);
2584 static const bool TauNNwasAvailable = accTau2.isAvailable(
jet) && accTau1.isAvailable(
jet);
2587 if (Tau21wasAvailable)
2589 if (!accTau21.isAvailable(
jet))
2591 ATH_MSG_ERROR(
"The Tau21 moment was previously available but is not available on this jet. This functionality is not supported.");
2592 return StatusCode::FAILURE;
2594 const float value = accTau21(constJet);
2596 return StatusCode::SUCCESS;
2598 if (TauNNwasAvailable)
2600 if (! (accTau2.isAvailable(
jet) && accTau1.isAvailable(
jet)) )
2602 ATH_MSG_ERROR(
"The Tau2 and Tau1 moments were previously available but are not available on this jet. This functionality is not supported.");
2603 return StatusCode::FAILURE;
2605 const float tau2 = accTau2(constJet);
2606 const float tau1 = accTau1(constJet);
2607 accTau21(
jet) = fabs(tau1) > 1.e-6 ? shift*(tau2/tau1) : -999;
2608 return StatusCode::SUCCESS;
2623 ATH_MSG_ERROR(
"Neither Tau21 nor Tau1+Tau2 moments are available on the jet, please make sure one of these options is available before calling the tool.");
2624 return StatusCode::FAILURE;
◆ updateTau21WTA()
StatusCode JetUncertaintiesTool::updateTau21WTA |
( |
xAOD::Jet & |
jet, |
|
|
const double |
shift |
|
) |
| const |
|
private |
Definition at line 2676 of file JetUncertaintiesTool.cxx.
2684 static const bool Tau21wtawasAvailable = accTau21wta.isAvailable(
jet);
2685 static const bool Tau21WTAwasAvailable = accTau21WTA.isAvailable(
jet);
2686 static const bool TauNNwtawasAvailable = accTau2wta.isAvailable(
jet) && accTau1wta.isAvailable(
jet);
2687 static const bool TauNNWTAwasAvailable = accTau2WTA.isAvailable(
jet) && accTau1WTA.isAvailable(
jet);
2690 if (Tau21wtawasAvailable)
2692 if (!accTau21wta.isAvailable(
jet))
2694 ATH_MSG_ERROR(
"The Tau21_wta moment was previously available but is not available on this jet. This functionality is not supported.");
2695 return StatusCode::FAILURE;
2697 const float value = accTau21wta(constJet);
2699 return StatusCode::SUCCESS;
2701 if (Tau21WTAwasAvailable)
2703 if (!accTau21WTA.isAvailable(
jet))
2705 ATH_MSG_ERROR(
"The Tau21_WTA moment was previously available but is not available on this jet. This functionality is not supported.");
2706 return StatusCode::FAILURE;
2708 const float value = accTau21WTA(constJet);
2710 return StatusCode::SUCCESS;
2712 if (TauNNwtawasAvailable)
2714 if (! (accTau2wta.isAvailable(
jet) && accTau1wta.isAvailable(
jet)) )
2716 ATH_MSG_ERROR(
"The Tau2_wta and Tau1_wta moments were previously available but are not available on this jet. This functionality is not supported.");
2717 return StatusCode::FAILURE;
2719 const float tau2 = accTau2wta(constJet);
2720 const float tau1 = accTau1wta(constJet);
2721 accTau21wta(
jet) = fabs(tau1) > 1.e-6 ? shift*(tau2/tau1) : -999;
2722 return StatusCode::SUCCESS;
2724 if (TauNNWTAwasAvailable)
2726 if (! (accTau2WTA.isAvailable(
jet) && accTau1WTA.isAvailable(
jet)) )
2728 ATH_MSG_ERROR(
"The Tau2_WTA and Tau1_WTA moments were previously available but are not available on this jet. This functionality is not supported.");
2729 return StatusCode::FAILURE;
2731 const float tau2 = accTau2WTA(constJet);
2732 const float tau1 = accTau1WTA(constJet);
2733 accTau21WTA(
jet) = fabs(tau1) > 1.e-6 ? shift*(tau2/tau1) : -999;
2734 return StatusCode::SUCCESS;
2737 ATH_MSG_ERROR(
"Neither Tau21_wta nor Tau1_wta+Tau2_wta moments are available on the jet, please make sure one of these options is available before calling the tool");
2738 return StatusCode::FAILURE;
◆ updateTau32()
StatusCode JetUncertaintiesTool::updateTau32 |
( |
xAOD::Jet & |
jet, |
|
|
const double |
shift |
|
) |
| const |
|
private |
Definition at line 2627 of file JetUncertaintiesTool.cxx.
2632 static const bool Tau32wasAvailable = accTau32.isAvailable(
jet);
2633 static const bool TauNNwasAvailable = accTau3.isAvailable(
jet) && accTau2.isAvailable(
jet);
2636 if (Tau32wasAvailable)
2638 if (!accTau32.isAvailable(
jet))
2640 ATH_MSG_ERROR(
"The Tau32 moment was previously available but is not available on this jet. This functionality is not supported.");
2641 return StatusCode::FAILURE;
2643 const float value = accTau32(constJet);
2645 return StatusCode::SUCCESS;
2647 if (TauNNwasAvailable)
2649 if (! (accTau3.isAvailable(
jet) && accTau2.isAvailable(
jet)) )
2651 ATH_MSG_ERROR(
"The Tau3 and Tau2 moments were previously available but are not available on this jet. This functionality is not supported.");
2652 return StatusCode::FAILURE;
2654 const float tau3 = accTau3(constJet);
2655 const float tau2 = accTau2(constJet);
2656 accTau32(
jet) = fabs(tau2) > 1.e-6 ? shift*(tau3/tau2) : -999;
2657 return StatusCode::SUCCESS;
2672 ATH_MSG_ERROR(
"Neither Tau32 nor Tau2+Tau3 moments are available on the jet, please make sure one of these options is available before calling the tool");
2673 return StatusCode::FAILURE;
◆ updateTau32WTA()
StatusCode JetUncertaintiesTool::updateTau32WTA |
( |
xAOD::Jet & |
jet, |
|
|
const double |
shift |
|
) |
| const |
|
private |
Definition at line 2740 of file JetUncertaintiesTool.cxx.
2748 static const bool Tau32wtawasAvailable = accTau32wta.isAvailable(
jet);
2749 static const bool Tau32WTAwasAvailable = accTau32WTA.isAvailable(
jet);
2750 static const bool TauNNwtawasAvailable = accTau3wta.isAvailable(
jet) && accTau2wta.isAvailable(
jet);
2751 static const bool TauNNWTAwasAvailable = accTau3WTA.isAvailable(
jet) && accTau2WTA.isAvailable(
jet);
2754 if (Tau32wtawasAvailable)
2756 if (!accTau32wta.isAvailable(
jet))
2758 ATH_MSG_ERROR(
"The Tau32_wta moment was previously available but is not available on this jet. This functionality is not supported.");
2759 return StatusCode::FAILURE;
2761 const float value = accTau32wta(constJet);
2763 return StatusCode::SUCCESS;
2765 if (Tau32WTAwasAvailable)
2767 if (!accTau32WTA.isAvailable(
jet))
2769 ATH_MSG_ERROR(
"The Tau32_WTA moment was previously available but is not available on this jet. This functionality is not supported.");
2770 return StatusCode::FAILURE;
2772 const float value = accTau32WTA(constJet);
2774 return StatusCode::SUCCESS;
2776 if (TauNNwtawasAvailable)
2778 if (! (accTau3wta.isAvailable(
jet) && accTau2wta.isAvailable(
jet)) )
2780 ATH_MSG_ERROR(
"The Tau3_wta and Tau2_wta moments were previously available but are not available on this jet. This functionality is not supported.");
2781 return StatusCode::FAILURE;
2783 const float tau3 = accTau3wta(constJet);
2784 const float tau2 = accTau2wta(constJet);
2785 accTau32wta(
jet) = fabs(tau2) > 1.e-6 ? shift*(tau3/tau2) : -999;
2786 return StatusCode::SUCCESS;
2788 if (TauNNWTAwasAvailable)
2790 if (! (accTau3WTA.isAvailable(
jet) && accTau2WTA.isAvailable(
jet)) )
2792 ATH_MSG_ERROR(
"The Tau3_WTA and Tau2_WTA moments were previously available but are not available on this jet. This functionality is not supported.");
2793 return StatusCode::FAILURE;
2795 const float tau3 = accTau3WTA(constJet);
2796 const float tau2 = accTau2WTA(constJet);
2797 accTau32WTA(
jet) = fabs(tau2) > 1.e-6 ? shift*(tau3/tau2) : -999;
2798 return StatusCode::SUCCESS;
2825 ATH_MSG_ERROR(
"Neither Tau32_wta nor Tau2_wta+Tau3_wta moments are available on the jet, please make sure one of these options is available before calling the tool");
2826 return StatusCode::FAILURE;
◆ updateVHKA()
◆ m_absEtaGluonFraction
bool JetUncertaintiesTool::m_absEtaGluonFraction |
|
private |
◆ m_accEfficiency
◆ m_accEffSF
◆ m_accSigeffSF
◆ m_accTagResult
◆ m_accTagScaleFactor
◆ m_analysisFile
std::string JetUncertaintiesTool::m_analysisFile |
|
private |
◆ m_analysisHistPattern
std::string JetUncertaintiesTool::m_analysisHistPattern |
|
private |
◆ m_calibArea
std::string JetUncertaintiesTool::m_calibArea |
|
private |
◆ m_caloMassWeight
◆ m_combMassParam
◆ m_combMassWeightCaloMassDef
◆ m_combMassWeightTAMassDef
◆ m_configFile
std::string JetUncertaintiesTool::m_configFile |
|
private |
◆ m_currentSystSet
◆ m_currentUncSet
◆ m_defAnaFile
std::string JetUncertaintiesTool::m_defAnaFile |
|
private |
◆ m_detStore
◆ m_energyScale
float JetUncertaintiesTool::m_energyScale |
|
private |
◆ m_evtStore
◆ m_fileValidHist
◆ m_groups
◆ m_isData
bool JetUncertaintiesTool::m_isData |
|
private |
◆ m_isInit
bool JetUncertaintiesTool::m_isInit |
|
private |
◆ m_jetDef
std::string JetUncertaintiesTool::m_jetDef |
|
private |
◆ m_mcType
std::string JetUncertaintiesTool::m_mcType |
|
private |
◆ m_name
const std::string JetUncertaintiesTool::m_name |
|
private |
◆ m_name_Efficiency
std::string JetUncertaintiesTool::m_name_Efficiency |
|
private |
◆ m_name_EffSF
std::string JetUncertaintiesTool::m_name_EffSF |
|
private |
◆ m_name_SigeffSF
std::string JetUncertaintiesTool::m_name_SigeffSF |
|
private |
◆ m_name_TagResult
std::string JetUncertaintiesTool::m_name_TagResult |
|
private |
◆ m_name_TagScaleFactor
std::string JetUncertaintiesTool::m_name_TagScaleFactor |
|
private |
◆ m_namePrefix
const std::string JetUncertaintiesTool::m_namePrefix |
|
private |
◆ m_path
std::string JetUncertaintiesTool::m_path |
|
private |
◆ m_pseudoDataJERsmearingMode
bool JetUncertaintiesTool::m_pseudoDataJERsmearingMode |
|
private |
◆ m_rand
TRandom3 JetUncertaintiesTool::m_rand |
|
mutableprivate |
◆ m_recognizedSystematics
◆ m_recommendedSystematics
◆ m_refMu
float JetUncertaintiesTool::m_refMu |
|
private |
◆ m_refMuHist
◆ m_refNPV
float JetUncertaintiesTool::m_refNPV |
|
private |
◆ m_refNPVHist
◆ m_release
std::string JetUncertaintiesTool::m_release |
|
private |
◆ m_resHelper
◆ m_systFilterMap
◆ m_systFilters
std::vector<std::string> JetUncertaintiesTool::m_systFilters |
|
private |
◆ m_systSetMap
◆ m_TAMassWeight
◆ m_userSeed
long long int JetUncertaintiesTool::m_userSeed |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
def retrieve(aClass, aKey=None)
JetConstituentVector::iterator iterator
const TString & getName() const
virtual StatusCode setCombWeightParam(const CompParametrization::TypeEnum param)
bool isResolutionType(const TypeEnum type)
CompScaleVar::TypeEnum scaleVar
Const iterator class for DataVector/DataList.
Scalar phi() const
phi method
virtual StatusCode addComponent(UncertaintyComponent *component)
JetTopology::TypeEnum getTopology(const CompScaleVar::TypeEnum scaleVar=CompScaleVar::UNKNOWN) const
void swap(SystematicSet &otherSet)
description: swap elements of a set
uint64_t eventNumber() const
The current event's event number.
std::string basename() const
description: the base name, i.e.
Helper class to provide type-safe access to aux data.
virtual StatusCode setCombWeightMassDefs(const CompMassDef::TypeEnum caloMassDef, const CompMassDef::TypeEnum TAMassDef)
size_t size() const
returns: size of the set
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
const std::string & name() const
description: the full systematics name, for use in strings, etc.
TypeEnum stringToEnum(const TString &name)
Class creating a shallow copy of an existing auxiliary container.
Class to wrap a set of SystematicVariations.
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
virtual StatusCode initialize(TFile *histFile)
std::string name() const
returns: the systematics joined into a single string.
virtual StatusCode initialize(const CP::SystematicSet &systConfig, const std::vector< UncertaintyGroup * > &groups)
virtual StatusCode setCaloWeights(const UncertaintyHistogram *caloWeights)
bool isRelResolutionType(const TypeEnum type)
double resolution[nGasTypes][nParametersResolution]
virtual TString getName() const
double getValue(const double var1) const
virtual void setOwner(IDataHandleHolder *o)=0
virtual StatusCode initialize(TFile *histFile)
#define JESUNC_ERROR_CODE
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
@ OutOfValidityRange
Input object is out of validity range.
@ Error
Some error happened during the object correction.
void efficiency(std::vector< double > &bins, std::vector< double > &values, const std::vector< std::string > &files, const std::string &histname, const std::string &tplotname, const std::string &label="")
virtual std::set< CompScaleVar::TypeEnum > getScaleVars() const
#define JESUNC_SAFE_DELETE(T)
TString getJetScaleString(const TypeEnum type)
std::pair< T *, ShallowAuxInfo * > shallowCopyObject(const T &obj)
Function making a shallow copy of a constant standalone object.
FlavourComp::TypeEnum flavourType
virtual StatusCode setTATerm(UncertaintyGroup *TAComp)
bool includesMass(const TypeEnum type)
virtual TString getName() const
virtual StatusCode setTAWeights(const UncertaintyHistogram *TAWeights)
std::tuple< const UncertaintyHistogram *, CompParametrization::TypeEnum, CompMassDef::TypeEnum > getNominalResolution(const CompScaleVar::TypeEnum smearType, const JetTopology::TypeEnum topology, const bool readMC) const
std::vector< LargeRJetTruthLabel::TypeEnum > LargeRJetTruthLabels
const std::string & name(Level lvl)
Convenience function for translating message levels to strings.
std::set< std::string > getBaseNames() const
description: get the set of base systematic names from this set
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
JetFourMomAccessor is an extension of JetAttributeAccessor::AccessorWrapper<xAOD::JetFourMom_t> Acces...
virtual StatusCode initialize(TEnv &settings, TFile *histFile, const TString &MCtype)
bool hasRelevantInfo(const CompScaleVar::TypeEnum type, const JetTopology::TypeEnum topology) const
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > JetFourMom_t
Base 4 Momentum type for Jet.
void insert(const SystematicVariation &systematic)
description: insert a systematic into the set
virtual StatusCode setCaloTerm(UncertaintyGroup *caloComp)
virtual bool isAlwaysZero() const
Class describing the basic event information.
bool getValidity(const xAOD::Jet &jet) const
virtual std::vector< CompScaleVar::TypeEnum > getScaleVars() const
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
@ Ok
The correction was done successfully.
TString findFilePath(const TString &fileName, const TString &path="", const TString &calibArea="")
virtual std::string getName() const
#define ATH_MSG_WARNING(x)
This module implements the central registry for handling systematic uncertainties with CP tools.
Return value from object correction CP tools.
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
CompParametrization::TypeEnum parametrization
constexpr int pow(int base, int exp) noexcept
PileupComp::TypeEnum pileupType
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Jet_v1 Jet
Definition of the current "jet version".
std::vector< TString > subComps
virtual std::vector< std::pair< CompScaleVar::TypeEnum, bool > > getValidUncertaintySet(std::vector< std::pair< CompScaleVar::TypeEnum, double > > &unc, const xAOD::Jet &jet, const xAOD::EventInfo &eInfo) const
static StatusCode filterForAffectingSystematics(const SystematicSet &systConfig, const SystematicSet &affectingSystematics, SystematicSet &filteredSystematics)
description: filter the systematics for the affected systematics returns: success guarantee: strong f...
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
static SystematicRegistry & getInstance()
Get the singleton instance of the registry for the curren thread.
CombMassComp::TypeEnum combMassType