 |
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, V, H > &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, V, H > &hndl, const SG::VarHandleKeyType &) |
| | specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
| |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyArrayType &) |
| | specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
| |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleType &) |
| | specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
| |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &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 1298 of file JetUncertaintiesTool.cxx.
1308 ATH_MSG_ERROR(
"Failed to add systematic to list of recommended systematics: " << systematic.
name());
1309 return StatusCode::FAILURE;
1312 return StatusCode::SUCCESS;
◆ addUncertaintyComponent()
Definition at line 836 of file JetUncertaintiesTool.cxx.
838 const bool isSimpleGroup =
helper.isCompGroup();
842 ATH_MSG_DEBUG(Form(
"Starting to process %s named %s",isSimpleGroup?
"simple component group":
"standard component",component.
name.Data()));
851 ATH_MSG_ERROR(
"Failed to build simple group for component: " << component.
name.Data());
852 return StatusCode::FAILURE;
854 const size_t groupIndex =
m_groups.size();
856 ATH_MSG_DEBUG(Form(
"Created new group \"%s\" for a simple component at index %zu",simpleGroup->
getName().Data(),groupIndex));
858 if (!
m_groups.back()->getSubgroupNum())
860 size_t numGroups = 0;
861 for (
size_t iGroup = 0; iGroup <
m_groups.size(); ++iGroup)
862 if (!
m_groups.at(iGroup)->getSubgroupNum())
866 ,
m_groups.back()->getDesc().Data() ));
876 return StatusCode::FAILURE;
878 if (
m_groups.at(groupIndex)->addComponent(compObject).isFailure())
879 return StatusCode::FAILURE;
880 ATH_MSG_DEBUG(Form(
"Added single component \"%s\" to simple group \"%s\" (index %zu)",compObject->
getName().Data(),
m_groups.at(groupIndex)->getName().Data(),groupIndex));
884 for (
size_t iSubComp = 0; iSubComp < component.
subComps.size(); ++iSubComp)
888 subComp.uncNames.clear();
889 subComp.subComps.clear();
890 subComp.name = component.
subComps.at(iSubComp);
891 subComp.uncNames.push_back(component.
subComps.at(iSubComp));
895 return StatusCode::FAILURE;
897 if (
m_groups.at(groupIndex)->addComponent(subCompObject).isFailure())
898 return StatusCode::FAILURE;
899 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));
905 size_t groupIndex = 0;
908 ATH_MSG_ERROR(
"No groups exist to add the component to: " << component.
name.Data());
909 return StatusCode::FAILURE;
911 for (
size_t iGroup = 0; iGroup <
m_groups.size(); ++iGroup)
920 return StatusCode::FAILURE;
927 return StatusCode::FAILURE;
929 if (
m_groups.at(groupIndex)->addComponent(compObject).isFailure())
930 return StatusCode::FAILURE;
931 ATH_MSG_DEBUG(Form(
"Added component \"%s\" to group \"%s\" (index %zu)",compObject->
getName().Data(),
m_groups.at(groupIndex)->getName().Data(),groupIndex));
934 return StatusCode::SUCCESS;
◆ addUncertaintyGroup()
Definition at line 797 of file JetUncertaintiesTool.cxx.
802 if (
group.groupNum == 0)
805 return StatusCode::FAILURE;
807 for (
size_t iGroup = 0; iGroup <
m_groups.size(); ++iGroup)
810 ATH_MSG_ERROR(
"Group number matches previous group (" <<
m_groups.at(iGroup)->getName().Data() <<
"): " <<
group.name.Data());
811 return StatusCode::FAILURE;
819 return StatusCode::FAILURE;
823 if (!
m_groups.back()->getSubgroupNum())
825 size_t numGroups = 0;
826 for (
size_t iGroup = 0; iGroup <
m_groups.size(); ++iGroup)
827 if (!
m_groups.at(iGroup)->getSubgroupNum())
831 ,
m_groups.back()->getDesc().Data() ));
833 return StatusCode::SUCCESS;
◆ affectingSystematics()
◆ appliedSystematics()
◆ applyContainerCorrection() [1/2]
◆ applyContainerCorrection() [2/2]
◆ applyCorrection() [1/2]
◆ applyCorrection() [2/2]
Implements ICPJetUncertaintiesTool.
Definition at line 2097 of file JetUncertaintiesTool.cxx.
2101 ATH_MSG_FATAL(
"Tool must be initialized before calling applyCorrection");
2113 std::vector< std::pair<CompScaleVar::TypeEnum,double> > uncSet;
2117 bool allValid =
true;
2118 for (
size_t iVar = 0; iVar < validitySet.size(); ++iVar)
2120 const bool validity = validitySet.at(iVar).second;
2136 bool hasMassRes =
false;
2137 bool hasPtRes =
false;
2138 bool hasFvRes =
false;
2145 ATH_MSG_ERROR(
"Varying both absolute and relative mass resolution components simultaneously is not supported");
2155 ATH_MSG_ERROR(
"Varying both absolute and relative pT resolution components simultaneously is not supported");
2165 ATH_MSG_ERROR(
"Varying both absolute and relative four-vector resolution components simultaneously is not supported");
2174 for (
size_t iVar = 0; iVar < uncSet.size(); ++iVar)
2178 const double shift = 1 + uncSet.at(iVar).second;
2179 const double smear = uncSet.at(iVar).second;
2183 double smearingFactor = 1;
2245 ATH_MSG_ERROR(
"Smearing the mass without specifying the topology is not supported");
2251 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 1315 of file JetUncertaintiesTool.cxx.
1324 std::string remappedName = systConfig.
name();
1325 size_t found = remappedName.find(
"_PseudoData");
1326 if (
found != std::string::npos) {
1327 remappedName.erase(
found, std::string(
"_PseudoData").
length());
1333 return StatusCode::FAILURE;
1338 return StatusCode::FAILURE;
1344 return StatusCode::FAILURE;
1349 return StatusCode::SUCCESS;
◆ buildUncertaintyComponent()
Definition at line 937 of file JetUncertaintiesTool.cxx.
940 if (component.
name ==
"")
942 ATH_MSG_ERROR(
"Attempting to create a component with no name");
947 ATH_MSG_ERROR(
"Attempting to create a component with no parametrization: " << component.
name.Data());
952 ATH_MSG_ERROR(
"Attempting to create a component with no variable to scale: " << component.
name.Data());
965 ATH_MSG_ERROR(
"Attempted to create pileup component without NPV reference value: " << component.
name.Data());
970 ATH_MSG_ERROR(
"Attempted to create pileup component without mu reference value: " << component.
name.Data());
996 ATH_MSG_ERROR(
"Attempting to create a flavour uncertainty component without having specified an AnalysisRootFile");
1019 else if (component.
name.Contains(
"PunchThrough",TString::kIgnoreCase))
1030 else if (component.
name.Contains(
"Closeby",TString::kIgnoreCase))
1046 ATH_MSG_ERROR(
"Asking to create a combined mass term without specifying weights: " << component.
name.Data());
1052 combComp.name = component.
name;
1053 combComp.uncNames.clear();
1065 caloGroupH.groupNum = 0;
1066 caloGroupH.subgroupNum = 0;
1069 caloGroupH.reducible =
false;
1074 ATH_MSG_ERROR(
"Failed to build calo-group for combined mass component: " << component.
name.Data());
1079 std::vector<TString> caloComps = jet::utils::vectorize<TString>(component.
caloMassTerm,
", ");
1080 std::vector<TString> caloMassDefs = jet::utils::vectorize<TString>(component.
caloMassDef,
", ");
1081 if (caloComps.size() != caloMassDefs.size())
1083 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());
1088 for (
size_t iComp = 0; iComp < caloComps.size(); ++iComp)
1092 caloCompH.uncNames.clear();
1093 caloCompH.isSpecial =
false;
1094 caloCompH.name = caloComps.at(iComp);
1095 caloCompH.uncNames.push_back(caloCompH.name+
"_"+
m_jetDef);
1099 ATH_MSG_ERROR(
"Failed to parse calo mass definition " << iComp <<
" (" << caloMassDefs.at(iComp).Data() <<
") for combined mass component: " << component.
name.Data());
1120 TAGroupH.groupNum = 0;
1121 TAGroupH.subgroupNum = 0;
1124 TAGroupH.reducible =
false;
1129 ATH_MSG_ERROR(
"Failed to build TA-group for combined mass component: " << component.
name.Data());
1134 std::vector<TString> TAComps = jet::utils::vectorize<TString>(component.
TAMassTerm,
", ");
1135 std::vector<TString> TAMassDefs = jet::utils::vectorize<TString>(component.
TAMassDef,
", ");
1136 if (TAComps.size() != TAMassDefs.size())
1138 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());
1143 for (
size_t iComp = 0; iComp < TAComps.size(); ++iComp)
1147 TACompH.uncNames.clear();
1148 TACompH.isSpecial =
false;
1149 TACompH.name = TAComps.at(iComp);
1150 TACompH.uncNames.push_back(TACompH.name+
"_"+
m_jetDef);
1154 ATH_MSG_ERROR(
"Failed to parse TA mass definition " << iComp <<
" (" << TAMassDefs.at(iComp).Data() <<
") for combined mass component: " << component.
name.Data());
1170 if (cmuc->
setTATerm(TAGroup).isFailure())
1178 else if (component.
name.Contains(
"Large",TString::kIgnoreCase) && component.
name.Contains(
"Topology",TString::kIgnoreCase))
1188 ATH_MSG_ERROR(Form(
"No LargeRJetTruthLabels specified for Large-R jet topology component %s",component.
name.Data()));
1238 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 1559 of file JetUncertaintiesTool.cxx.
1563 ATH_MSG_FATAL(
"Tool must be initialized before asking for information pertaining to a given component index");
1564 return StatusCode::FAILURE;
1570 return StatusCode::FAILURE;
1574 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 2021 of file JetUncertaintiesTool.cxx.
2025 ATH_MSG_FATAL(
"Tool must be initialized before calling getComponentNamesInCategory");
2030 std::vector<std::string>
names;
2031 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 1996 of file JetUncertaintiesTool.cxx.
2000 ATH_MSG_FATAL(
"Tool must be initialized before calling getComponentsInCategory");
2013 std::vector<size_t> components;
2014 for (
size_t iComp = 0; iComp <
m_groups.size(); ++iComp)
2015 if (
m_groups.at(iComp)->getCategory() == categoryEnum)
2016 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 2318 of file JetUncertaintiesTool.cxx.
2328 static unsigned long long eventNum = 0;
2335 ATH_MSG_ERROR(
"Failed to retrieve default EventInfo object");
2340 if (eInfoObj && eventNum == eInfoConst->
eventNumber())
2350 eInfoObj = eInfoPair.first;
2351 eInfoAux = eInfoPair.second;
2354 if (accNPV.isAvailable(*eInfoConst))
2361 ATH_MSG_ERROR(
"Failed to retrieve default NPV value from PrimaryVertices");
2369 for (itr = vertices->
begin(); itr != vertices->
end(); ++itr)
2370 if ( (*itr)->nTrackParticles() > 1)
2374 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 2069 of file JetUncertaintiesTool.cxx.
2073 ATH_MSG_FATAL(
"Tool must be initialized before calling getCorrelationMatrix");
2078 if (corrMat.initializeForEta(*this).isFailure())
2080 return new TH2D(*corrMat.getMatrix());
◆ getFilteredSystematicSet()
◆ 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 1926 of file JetUncertaintiesTool.cxx.
1936 if (caloRes == 0 || TARes == 0)
return 0;
1938 const double caloFactor = (caloRes == 0) ? 0 : 1./(caloRes*caloRes);
1939 const double TAFactor = ( TARes == 0) ? 0 : 1./(TARes*TARes);
1941 if (caloFactor + TAFactor == 0)
return 0;
1943 return caloFactor/(caloFactor+TAFactor);
◆ getNormalizedTAMassWeight()
| double JetUncertaintiesTool::getNormalizedTAMassWeight |
( |
const xAOD::Jet & |
jet | ) |
const |
|
virtual |
Definition at line 1946 of file JetUncertaintiesTool.cxx.
1957 if (caloRes == 0 || TARes == 0)
return 0;
1959 const double caloFactor = 1./(caloRes*caloRes);
1960 const double TAFactor = 1./(TARes*TARes);
1962 if (caloFactor + TAFactor == 0)
return 0;
1964 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 2049 of file JetUncertaintiesTool.cxx.
2053 ATH_MSG_FATAL(
"Tool must be initialized before calling getCorrelationMatrix");
2057 std::cout <<
"Creating with max values " << valEta1 <<
" " << valEta2 << std::endl;
2059 if (corrMat.initializeForPt(*this).isFailure())
2061 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 2383 of file JetUncertaintiesTool.cxx.
2502 else if (variation < 0 && !m_resHelper->smearOnlyMC())
2508 const double sigmaNom =
std::max(sigmaMC,sigmaData);
2516 const double sigmaSmear = sqrt(
pow(sigmaNom + fabs(variation)*relativeFactor,2) -
pow(sigmaNom,2));
2520 ATH_MSG_ERROR(
"A seed of 1e5 times the jet phi is used in JetCalibTools so using it here leads to correlated smearing");
2536 double smearingFactor = -1;
2537 while (smearingFactor < 0)
2538 smearingFactor =
m_rand.Gaus(1.,sigmaSmear);
2539 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 1369 of file JetUncertaintiesTool.cxx.
1377 uncSet =
iter->second;
1385 ATH_MSG_ERROR(
"Failed to create UncertaintySet for filtered CP::SystematicSet: " << filteredSet.
name());
1387 return StatusCode::FAILURE;
1389 m_systSetMap.insert(std::make_pair(filteredSet,uncSet));
1392 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 239 of file JetUncertaintiesTool.cxx.
245 return StatusCode::FAILURE;
248 ATH_MSG_INFO(Form(
"Preparing to initialize the JetUncertaintiesTool named %s",
m_name.c_str()));
256 if (configFilePath ==
"")
259 return StatusCode::FAILURE;
263 if (settings.ReadFile(configFilePath.Data(),kEnvGlobal))
265 ATH_MSG_ERROR(
"Cannot read config file: " << configFilePath.Data());
266 return StatusCode::FAILURE;
270 ATH_MSG_INFO(Form(
"================================================"));
276 ATH_MSG_INFO(Form(
" Location: %s",configFilePath.Data()));
280 m_release = settings.GetValue(
"UncertaintyRelease",
"UNKNOWN");
284 TString allowedJetDefStr = settings.GetValue(
"SupportedJetDefs",
"");
285 if (allowedJetDefStr ==
"")
287 ATH_MSG_ERROR(
"Cannot find supported jet definitions in config");
288 return StatusCode::FAILURE;
290 std::vector<TString> allowedJetDefs = jet::utils::vectorize<TString>(allowedJetDefStr,
" ,");
291 bool foundJetDef =
false;
292 for (
size_t iDef = 0; iDef < allowedJetDefs.size(); ++iDef)
293 if (!allowedJetDefs.at(iDef).CompareTo(
m_jetDef.c_str(),TString::kIgnoreCase))
302 return StatusCode::FAILURE;
307 TString allowedMCtypeStr = settings.GetValue(
"SupportedMCTypes",
"");
308 if (allowedMCtypeStr ==
"")
311 return StatusCode::FAILURE;
313 std::vector<TString> allowedMCtypes = jet::utils::vectorize<TString>(allowedMCtypeStr,
" ,");
314 bool foundMCtype =
false;
315 for (
size_t iType = 0; iType < allowedMCtypes.size(); ++iType)
316 if (!allowedMCtypes.at(iType).CompareTo(
m_mcType.c_str(),TString::kIgnoreCase))
319 m_mcType = allowedMCtypes.at(iType);
325 return StatusCode::FAILURE;
331 TString histFileName = settings.GetValue(
"UncertaintyRootFile",
"");
332 if (histFileName ==
"")
335 return StatusCode::FAILURE;
337 ATH_MSG_INFO(Form(
" UncertaintyFile: \"%s\"",histFileName.Data()));
341 if (histFilePath ==
"")
343 ATH_MSG_ERROR(
"Cannot find the path of the uncertainty histogram file");
344 return StatusCode::FAILURE;
346 ATH_MSG_INFO(Form(
" Location: %s",histFilePath.Data()));
349 TFile* histFile =
new TFile(histFilePath,
"READ");
350 if (!histFile || histFile->IsZombie())
352 ATH_MSG_ERROR(
"Cannot open uncertainty histogram file: " << histFileName.Data());
353 return StatusCode::FAILURE;
359 m_defAnaFile = settings.GetValue(
"AnalysisRootFile",
"");
367 if (analysisFilePath ==
"")
369 ATH_MSG_ERROR(
"Cannot find the path of the analysis histogram file");
370 return StatusCode::FAILURE;
372 ATH_MSG_INFO(Form(
" Location: %s",analysisFilePath.Data()));
379 if (analysisFilePath ==
"")
381 ATH_MSG_ERROR(
"Cannot find the path of the default analysis histogram file");
382 return StatusCode::FAILURE;
384 ATH_MSG_INFO(Form(
" Location: %s",analysisFilePath.Data()));
393 TString validHistForFile = settings.GetValue(
"FileValidHistogram",
"");
394 if (validHistForFile !=
"")
397 TString validHistForFileParam = settings.GetValue(
"FileValidHistParam",
"");
398 if (validHistForFileParam ==
"")
400 ATH_MSG_ERROR(
"Specified a FileValidHistogram without an accompanying FileValidHistParam: " << validHistForFile.Data());
401 return StatusCode::FAILURE;
413 return StatusCode::FAILURE;
419 const TString caloMassWeight = TString(settings.GetValue(
"CombMassWeightCaloHist",
""));
420 const TString TAMassWeight = TString(settings.GetValue(
"CombMassWeightTAHist",
""));
421 if (caloMassWeight !=
"" && TAMassWeight !=
"")
427 return StatusCode::FAILURE;
429 return StatusCode::FAILURE;
432 const TString combMassParam = TString(settings.GetValue(
"CombMassWeightParam",
"PtMass"));
436 ATH_MSG_ERROR(
"Unexpected combined mass parametrization: " << combMassParam.Data());
437 return StatusCode::FAILURE;
440 ATH_MSG_INFO(
" Found and loaded combined mass weight factors");
446 const TString caloWeightMassDef = settings.GetValue(
"CombMassWeightCaloMassDef",
"Calo");
447 const TString TAWeightMassDef = settings.GetValue(
"CombMassWeightTAMassDef",
"TA");
448 if (caloWeightMassDef !=
"")
453 if (TAWeightMassDef !=
"")
459 else if (caloMassWeight !=
"" && TAMassWeight ==
"")
461 ATH_MSG_ERROR(
" Found combined mass weight factors for the calo term, but not the TA term");
462 return StatusCode::FAILURE;
464 else if (caloMassWeight ==
"" && TAMassWeight !=
"")
466 ATH_MSG_ERROR(
" Found combined mass weight factors for the TA term, but not the calo term");
467 return StatusCode::FAILURE;
472 m_name_EffSF = TString(settings.GetValue(
"TagSFEffName",
"temp_effSF"));
473 m_name_Efficiency = TString(settings.GetValue(
"TagEfficiencyName",
"temp_efficiency"));
474 m_name_TagResult = TString(settings.GetValue(
"TagResultName",
"temp_accept")).ReplaceAll(
"accept",
"Tagged");
487 TString refNPV = settings.GetValue(
"Pileup.NPVRef",
"");
488 TString refMu = settings.GetValue(
"Pileup.MuRef",
"");
489 if ( (refNPV !=
"" && refMu ==
"") || (refNPV ==
"" && refMu !=
"") )
492 return StatusCode::FAILURE;
494 else if ( refNPV !=
"" && refMu !=
"")
498 if (utils::isTypeObjFromString<float>(refNPV))
499 m_refNPV = utils::getTypeObjFromString<float>(refNPV);
504 return StatusCode::FAILURE;
507 if (utils::isTypeObjFromString<float>(refMu))
508 m_refMu = utils::getTypeObjFromString<float>(refMu);
513 return StatusCode::FAILURE;
521 std::string varString =
"";
522 for (
size_t iFilter = 0; iFilter <
m_systFilters.size(); ++iFilter)
526 ATH_MSG_ERROR(
"Unable to parse VariablesToShift due to unknown variable, please check for typos: " <<
m_systFilters.at(iFilter));
527 return StatusCode::FAILURE;
529 if (!varString.empty())
533 ATH_MSG_INFO(Form(
" VariablesToShift: %s",varString.c_str()));
540 return StatusCode::FAILURE;
550 ATH_MSG_INFO(Form(
"%6s %-40s : %s",
"",
"JES uncert. comp.",
"Description"));
551 ATH_MSG_INFO(Form(
"%6s %-40s -%s",
"",
"-----------------",
"-----------"));
552 for (
size_t iGroup = 0; iGroup < 999; ++iGroup)
555 const TString
prefix = Form(
"JESGroup.%zu.",iGroup);
559 if (
helper.initialize(settings).isFailure())
560 return StatusCode::FAILURE;
563 if (!
helper.isGroup())
continue;
572 return StatusCode::FAILURE;
574 for (
size_t iComp = 0; iComp < 999; ++iComp)
577 const TString
prefix = Form(
"JESComponent.%zu.",iComp);
581 if (
helper.initialize(settings).isFailure())
582 return StatusCode::FAILURE;
599 return StatusCode::FAILURE;
604 size_t numCompsBeforeMerger = 0;
605 for (
size_t iGroup = 0; iGroup <
m_groups.size(); ++iGroup) {
606 numCompsBeforeMerger +=
m_groups.at(iGroup)->getNumComponents();
618 for (
size_t iGroup = 0; iGroup <
m_groups.size(); ++iGroup)
620 const int groupNum =
m_groups.at(iGroup)->getGroupNum();
621 const int subgroupNum =
m_groups.at(iGroup)->getSubgroupNum();
625 if (!groupNum || !subgroupNum)
continue;
628 if (groupNum == subgroupNum)
630 ATH_MSG_ERROR(Form(
"Specified group %d (%s) as the parent of itself, blocking for safety",groupNum,
m_groups.at(iGroup)->getName().Data()));
631 return StatusCode::FAILURE;
635 for (
size_t iParentGroup = 0; iParentGroup <
m_groups.size(); ++iParentGroup)
637 if (iParentGroup == iGroup)
continue;
639 const int parentGroupNum =
m_groups.at(iParentGroup)->getGroupNum();
640 if (parentGroupNum == subgroupNum)
643 if (
m_groups.at(iParentGroup)->addSubgroup(
m_groups.at(iGroup)).isFailure())
645 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()));
646 return StatusCode::FAILURE;
654 std::vector<UncertaintyGroup*> localGroupVec;
655 for (
size_t iGroup = 0; iGroup <
m_groups.size(); ++iGroup)
656 localGroupVec.push_back(
m_groups.at(iGroup));
659 for (
size_t iGroup = 0; iGroup < localGroupVec.size(); ++iGroup)
662 if (!localGroupVec.at(iGroup)->getSubgroupNum())
663 m_groups.push_back(localGroupVec.at(iGroup));
668 size_t numCompsAfterMerger = 0;
669 for (
size_t iGroup = 0; iGroup <
m_groups.size(); ++iGroup) {
670 numCompsAfterMerger +=
m_groups.at(iGroup)->getNumComponents();
681 if (numCompsBeforeMerger != numCompsAfterMerger)
683 ATH_MSG_ERROR(Form(
"Something went wrong merging groups: %zu before merger and %zu after merger",numCompsBeforeMerger,numCompsAfterMerger));
684 for (
size_t iGroup = 0; iGroup <
m_groups.size(); ++iGroup)
688 return StatusCode::FAILURE;
695 for (
size_t iGroup = 0; iGroup <
m_groups.size(); ++iGroup)
697 if (
m_groups.at(iGroup)->getNumComponents() == 0)
700 return StatusCode::FAILURE;
702 if (
m_groups.at(iGroup)->initialize(histFile).isFailure())
703 return StatusCode::FAILURE;
716 return StatusCode::FAILURE;
718 if (systVar.basename().find(
"JER") != std::string::npos) {
721 return StatusCode::FAILURE;
729 for (
size_t iGroup = 0; iGroup <
m_groups.size(); ++iGroup)
731 std::set<CompScaleVar::TypeEnum> scaleVars =
m_groups.at(iGroup)->getScaleVars();
739 return StatusCode::FAILURE;
747 for (
size_t iFilter = 0; iFilter <
m_systFilters.size(); ++iFilter)
749 bool filterIsSane =
false;
750 for (
size_t iGroup = 0; iGroup <
m_groups.size(); ++iGroup)
760 ATH_MSG_ERROR(
" One of the specified VariablesToShift is not associated with any components, please check for typos: " <<
m_systFilters.at(iFilter));
761 return StatusCode::FAILURE;
767 size_t numCompInGroups = 0;
768 for (
size_t iGroup = 0; iGroup <
m_groups.size(); ++iGroup)
769 numCompInGroups +=
m_groups.at(iGroup)->getNumComponents();
779 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, LundVariablesTool, 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, LundVariablesTool, 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 2886 of file JetUncertaintiesTool.cxx.
2892 static const bool C2wasAvailable = accC2.isAvailable(
jet);
2893 static const bool ECFwasAvailable = accECF1.isAvailable(
jet) && accECF2.isAvailable(
jet) && accECF3.isAvailable(
jet);
2898 if (!accC2.isAvailable(
jet))
2900 ATH_MSG_ERROR(
"The C2 moment was previously available but is not available on this jet. This functionality is not supported.");
2901 return StatusCode::FAILURE;
2903 const float value = accC2(constJet);
2905 return StatusCode::SUCCESS;
2907 if (ECFwasAvailable)
2909 if (! (accECF1.isAvailable(constJet) && accECF2.isAvailable(constJet) && accECF3.isAvailable(constJet)) )
2911 ATH_MSG_ERROR(
"The ECF1, ECF2, and ECF3 moments were previously available but are not available on this jet. This functionality is not supported.");
2912 return StatusCode::FAILURE;
2914 const float ecf1 = accECF1(constJet);
2915 const float ecf2 = accECF2(constJet);
2916 const float ecf3 = accECF3(constJet);
2917 accC2(
jet) = fabs(ecf2) > 1.e-6 ? shift * (ecf3*ecf1/
pow(ecf2,2)) : -999;
2918 return StatusCode::SUCCESS;
2921 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");
2922 return StatusCode::FAILURE;
◆ updateD2Beta1()
| StatusCode JetUncertaintiesTool::updateD2Beta1 |
( |
xAOD::Jet & |
jet, |
|
|
const double |
shift |
|
) |
| const |
|
private |
Definition at line 2832 of file JetUncertaintiesTool.cxx.
2838 static const bool D2wasAvailable = accD2.isAvailable(
jet);
2839 static const bool ECFwasAvailable = accECF1.isAvailable(
jet) && accECF2.isAvailable(
jet) && accECF3.isAvailable(
jet);
2844 if (!accD2.isAvailable(
jet))
2846 ATH_MSG_ERROR(
"The D2 moment was previously available but is not available on this jet. This functionality is not supported.");
2847 return StatusCode::FAILURE;
2849 const float value = accD2(constJet);
2851 return StatusCode::SUCCESS;
2853 if (ECFwasAvailable)
2855 if (! (accECF1.isAvailable(constJet) && accECF2.isAvailable(constJet) && accECF3.isAvailable(constJet)) )
2857 ATH_MSG_ERROR(
"The ECF1, ECF2, and ECF3 moments were previously available but are not available on this jet. This functionality is not supported.");
2858 return StatusCode::FAILURE;
2860 const float ecf1 = accECF1(constJet);
2861 const float ecf2 = accECF2(constJet);
2862 const float ecf3 = accECF3(constJet);
2863 accD2(
jet) = fabs(ecf2) > 1.e-6 ? shift * (
pow(ecf1/ecf2,3)*ecf3) : -999;
2864 return StatusCode::SUCCESS;
2882 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");
2883 return StatusCode::FAILURE;
◆ updateQw()
| StatusCode JetUncertaintiesTool::updateQw |
( |
xAOD::Jet & |
jet, |
|
|
const double |
shift |
|
) |
| const |
|
private |
Definition at line 2925 of file JetUncertaintiesTool.cxx.
2930 if (accQw.isAvailable(constJet))
2932 const float value = accQw(constJet);
2934 return StatusCode::SUCCESS;
2937 ATH_MSG_ERROR(
"Qw moment is not available on the jet, please make sure to set Qw before calling the tool");
2938 return StatusCode::FAILURE;
◆ updateSplittingScale12()
| StatusCode JetUncertaintiesTool::updateSplittingScale12 |
( |
xAOD::Jet & |
jet, |
|
|
const double |
shift |
|
) |
| const |
|
private |
Definition at line 2549 of file JetUncertaintiesTool.cxx.
2554 if (accD12.isAvailable(constJet))
2556 const float value = accD12(constJet);
2558 return StatusCode::SUCCESS;
2561 ATH_MSG_ERROR(
"Split12 moment (D12) is not available on the jet, please make sure to set Split12 before calling the tool");
2562 return StatusCode::FAILURE;
◆ updateSplittingScale23()
| StatusCode JetUncertaintiesTool::updateSplittingScale23 |
( |
xAOD::Jet & |
jet, |
|
|
const double |
shift |
|
) |
| const |
|
private |
Definition at line 2565 of file JetUncertaintiesTool.cxx.
2570 if (accD23.isAvailable(constJet))
2572 const float value = accD23(constJet);
2574 return StatusCode::SUCCESS;
2577 ATH_MSG_ERROR(
"Split23 moment (D23) is not available on the jet, please make sure to set Split23 before calling the tool");
2578 return StatusCode::FAILURE;
◆ updateTagEfficiency()
| StatusCode JetUncertaintiesTool::updateTagEfficiency |
( |
xAOD::Jet & |
jet, |
|
|
const double |
shift |
|
) |
| const |
|
private |
Definition at line 3001 of file JetUncertaintiesTool.cxx.
3005 if (TagScaleFactorwasAvailable)
3009 ATH_MSG_ERROR(
"TagScaleFactor was previously available but is not available on this jet. This functionality is not supported.");
3010 return StatusCode::FAILURE;
3015 return StatusCode::SUCCESS;
3022 float sigeffSF = 1.0;
3023 float updated_efficiency =
efficiency + shift;
3025 if ( updated_efficiency < 1
e-5 ) updated_efficiency=1
e-5;
3026 if ( updated_efficiency > 1.0-1
e-5 ) updated_efficiency=1.0-1
e-5;
3033 return StatusCode::SUCCESS;
3037 if ( std::abs(effSF - 1.0) < 1
e-5 && std::abs(shift)>0 ) {
3042 float variatedIneffSFsig = (1. - sigeffSF*updated_efficiency)/(1. - updated_efficiency);
3047 return StatusCode::SUCCESS;
3052 return StatusCode::SUCCESS;
3056 ATH_MSG_ERROR(
"TagScaleFactor is not available on the jet, please make sure you called BoostedJetTaggers tag() function before calling this function.");
3057 return StatusCode::FAILURE;
◆ updateTagScaleFactor()
| StatusCode JetUncertaintiesTool::updateTagScaleFactor |
( |
xAOD::Jet & |
jet, |
|
|
const double |
shift |
|
) |
| const |
|
private |
Definition at line 2941 of file JetUncertaintiesTool.cxx.
2945 if (TagScaleFactorwasAvailable)
2949 ATH_MSG_ERROR(
"TagScaleFactor was previously available but is not available on this jet. This functionality is not supported.");
2950 return StatusCode::FAILURE;
2955 return StatusCode::SUCCESS;
2967 if ( shift*
value < 0.0 ){
2972 return StatusCode::SUCCESS;
2977 if ( shift*
value < 0.0 ){
2983 return StatusCode::SUCCESS;
2988 if ( shift*
value < 0.0 ){
2993 return StatusCode::SUCCESS;
2997 ATH_MSG_ERROR(
"TagScaleFactor is not available on the jet, please make sure you called BoostedJetTaggers tag() function before calling this function.");
2998 return StatusCode::FAILURE;
◆ updateTau21()
| StatusCode JetUncertaintiesTool::updateTau21 |
( |
xAOD::Jet & |
jet, |
|
|
const double |
shift |
|
) |
| const |
|
private |
Definition at line 2581 of file JetUncertaintiesTool.cxx.
2586 static const bool Tau21wasAvailable = accTau21.isAvailable(
jet);
2587 static const bool TauNNwasAvailable = accTau2.isAvailable(
jet) && accTau1.isAvailable(
jet);
2590 if (Tau21wasAvailable)
2592 if (!accTau21.isAvailable(
jet))
2594 ATH_MSG_ERROR(
"The Tau21 moment was previously available but is not available on this jet. This functionality is not supported.");
2595 return StatusCode::FAILURE;
2597 const float value = accTau21(constJet);
2599 return StatusCode::SUCCESS;
2601 if (TauNNwasAvailable)
2603 if (! (accTau2.isAvailable(
jet) && accTau1.isAvailable(
jet)) )
2605 ATH_MSG_ERROR(
"The Tau2 and Tau1 moments were previously available but are not available on this jet. This functionality is not supported.");
2606 return StatusCode::FAILURE;
2608 const float tau2 = accTau2(constJet);
2609 const float tau1 = accTau1(constJet);
2610 accTau21(
jet) = fabs(tau1) > 1.e-6 ? shift*(tau2/tau1) : -999;
2611 return StatusCode::SUCCESS;
2626 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.");
2627 return StatusCode::FAILURE;
◆ updateTau21WTA()
| StatusCode JetUncertaintiesTool::updateTau21WTA |
( |
xAOD::Jet & |
jet, |
|
|
const double |
shift |
|
) |
| const |
|
private |
Definition at line 2679 of file JetUncertaintiesTool.cxx.
2687 static const bool Tau21wtawasAvailable = accTau21wta.isAvailable(
jet);
2688 static const bool Tau21WTAwasAvailable = accTau21WTA.isAvailable(
jet);
2689 static const bool TauNNwtawasAvailable = accTau2wta.isAvailable(
jet) && accTau1wta.isAvailable(
jet);
2690 static const bool TauNNWTAwasAvailable = accTau2WTA.isAvailable(
jet) && accTau1WTA.isAvailable(
jet);
2693 if (Tau21wtawasAvailable)
2695 if (!accTau21wta.isAvailable(
jet))
2697 ATH_MSG_ERROR(
"The Tau21_wta moment was previously available but is not available on this jet. This functionality is not supported.");
2698 return StatusCode::FAILURE;
2700 const float value = accTau21wta(constJet);
2702 return StatusCode::SUCCESS;
2704 if (Tau21WTAwasAvailable)
2706 if (!accTau21WTA.isAvailable(
jet))
2708 ATH_MSG_ERROR(
"The Tau21_WTA moment was previously available but is not available on this jet. This functionality is not supported.");
2709 return StatusCode::FAILURE;
2711 const float value = accTau21WTA(constJet);
2713 return StatusCode::SUCCESS;
2715 if (TauNNwtawasAvailable)
2717 if (! (accTau2wta.isAvailable(
jet) && accTau1wta.isAvailable(
jet)) )
2719 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.");
2720 return StatusCode::FAILURE;
2722 const float tau2 = accTau2wta(constJet);
2723 const float tau1 = accTau1wta(constJet);
2724 accTau21wta(
jet) = fabs(tau1) > 1.e-6 ? shift*(tau2/tau1) : -999;
2725 return StatusCode::SUCCESS;
2727 if (TauNNWTAwasAvailable)
2729 if (! (accTau2WTA.isAvailable(
jet) && accTau1WTA.isAvailable(
jet)) )
2731 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.");
2732 return StatusCode::FAILURE;
2734 const float tau2 = accTau2WTA(constJet);
2735 const float tau1 = accTau1WTA(constJet);
2736 accTau21WTA(
jet) = fabs(tau1) > 1.e-6 ? shift*(tau2/tau1) : -999;
2737 return StatusCode::SUCCESS;
2740 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");
2741 return StatusCode::FAILURE;
◆ updateTau32()
| StatusCode JetUncertaintiesTool::updateTau32 |
( |
xAOD::Jet & |
jet, |
|
|
const double |
shift |
|
) |
| const |
|
private |
Definition at line 2630 of file JetUncertaintiesTool.cxx.
2635 static const bool Tau32wasAvailable = accTau32.isAvailable(
jet);
2636 static const bool TauNNwasAvailable = accTau3.isAvailable(
jet) && accTau2.isAvailable(
jet);
2639 if (Tau32wasAvailable)
2641 if (!accTau32.isAvailable(
jet))
2643 ATH_MSG_ERROR(
"The Tau32 moment was previously available but is not available on this jet. This functionality is not supported.");
2644 return StatusCode::FAILURE;
2646 const float value = accTau32(constJet);
2648 return StatusCode::SUCCESS;
2650 if (TauNNwasAvailable)
2652 if (! (accTau3.isAvailable(
jet) && accTau2.isAvailable(
jet)) )
2654 ATH_MSG_ERROR(
"The Tau3 and Tau2 moments were previously available but are not available on this jet. This functionality is not supported.");
2655 return StatusCode::FAILURE;
2657 const float tau3 = accTau3(constJet);
2658 const float tau2 = accTau2(constJet);
2659 accTau32(
jet) = fabs(tau2) > 1.e-6 ? shift*(tau3/tau2) : -999;
2660 return StatusCode::SUCCESS;
2675 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");
2676 return StatusCode::FAILURE;
◆ updateTau32WTA()
| StatusCode JetUncertaintiesTool::updateTau32WTA |
( |
xAOD::Jet & |
jet, |
|
|
const double |
shift |
|
) |
| const |
|
private |
Definition at line 2743 of file JetUncertaintiesTool.cxx.
2751 static const bool Tau32wtawasAvailable = accTau32wta.isAvailable(
jet);
2752 static const bool Tau32WTAwasAvailable = accTau32WTA.isAvailable(
jet);
2753 static const bool TauNNwtawasAvailable = accTau3wta.isAvailable(
jet) && accTau2wta.isAvailable(
jet);
2754 static const bool TauNNWTAwasAvailable = accTau3WTA.isAvailable(
jet) && accTau2WTA.isAvailable(
jet);
2757 if (Tau32wtawasAvailable)
2759 if (!accTau32wta.isAvailable(
jet))
2761 ATH_MSG_ERROR(
"The Tau32_wta moment was previously available but is not available on this jet. This functionality is not supported.");
2762 return StatusCode::FAILURE;
2764 const float value = accTau32wta(constJet);
2766 return StatusCode::SUCCESS;
2768 if (Tau32WTAwasAvailable)
2770 if (!accTau32WTA.isAvailable(
jet))
2772 ATH_MSG_ERROR(
"The Tau32_WTA moment was previously available but is not available on this jet. This functionality is not supported.");
2773 return StatusCode::FAILURE;
2775 const float value = accTau32WTA(constJet);
2777 return StatusCode::SUCCESS;
2779 if (TauNNwtawasAvailable)
2781 if (! (accTau3wta.isAvailable(
jet) && accTau2wta.isAvailable(
jet)) )
2783 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.");
2784 return StatusCode::FAILURE;
2786 const float tau3 = accTau3wta(constJet);
2787 const float tau2 = accTau2wta(constJet);
2788 accTau32wta(
jet) = fabs(tau2) > 1.e-6 ? shift*(tau3/tau2) : -999;
2789 return StatusCode::SUCCESS;
2791 if (TauNNWTAwasAvailable)
2793 if (! (accTau3WTA.isAvailable(
jet) && accTau2WTA.isAvailable(
jet)) )
2795 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.");
2796 return StatusCode::FAILURE;
2798 const float tau3 = accTau3WTA(constJet);
2799 const float tau2 = accTau2WTA(constJet);
2800 accTau32WTA(
jet) = fabs(tau2) > 1.e-6 ? shift*(tau3/tau2) : -999;
2801 return StatusCode::SUCCESS;
2828 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");
2829 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_NJetAccessorName
| std::string JetUncertaintiesTool::m_NJetAccessorName |
|
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.
StatusCode addSystematicToRecommended(const SystematicVariation &systematic)
description: add a systematic to the recommended set
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
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
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
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)
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
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)
void registerSystematic(const SystematicVariation &systematic)
description: add a systematic to the global registry set
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
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