|
ATLAS Offline Software
|
Go to the documentation of this file.
16 std::unique_ptr<TF1> isoFunction,
const std::string& cutFunction,
const std::string& isoDecSuffix) :
18 m_cutFunction (std::
make_unique<TF1>(cutFunction.c_str(), cutFunction.c_str())),
19 m_isoFunction (std::move(isoFunction))
24 std::vector<double> isoVars(
num_types(), 0);
30 <<
" is not available. Expected when using primary AODs, post-p3793 derivations (only for *FixedRad or FixedCutPflow* for electrons), "
31 <<
" pre-p3517 derivations (only for FC*), or pre-p3830 derivations (for other electron WPs)");
32 if (!
m_isoDecSuffix.empty())
throw std::runtime_error (
"IsolationConditionCombined: IsolationSelectionTool property 'IsoDecSuffix' is set to " +
m_isoDecSuffix +
". Must run on derivation made with IsolationCloseByCorrection to create the isolation variables with this suffix, or remove 'IsoDecSuffix'. ");
33 isoVars[
acc] = FLT_MAX;
35 isoVars[
acc] = acc_ele(
x);
41 const float isoValue =
f->EvalPar(isoVars.data());
42 return isoValue <= cutValue;
47 std::vector<double> isoVars;
48 for (
unsigned int itype = 0; itype <
num_types(); ++itype) isoVars.push_back(
x.isolationValues[
type(itype)]);
50 const float isoValue =
f->EvalPar(isoVars.data());
51 return isoValue <= cutValue;
static AuxTypeRegistry & instance()
Return the singleton registry instance.
SG::auxid_t auxid() const
Return the aux id for this variable.
Helper class to provide constant type-safe access to aux data.
Class providing the definition of the 4-vector interface.
xAOD::Iso::IsolationType type(unsigned int n=0) const
Select isolated Photons, Electrons and Muons.
std::unique_ptr< TF1 > m_isoFunction
unsigned int num_types() const
std::atomic_flag m_initialized ATLAS_THREAD_SAFE
Messaging initialized (initMessaging)
const FloatAccessor & accessor(unsigned int n=0) const
IsolationConditionCombined(const std::string &name, const std::vector< xAOD::Iso::IsolationType > &isoType, std::unique_ptr< TF1 > isoFunction, const std::string &cutFunction, const std::string &isoDecSuffix="")
#define ATH_MSG_WARNING(x)
std::string m_isoDecSuffix
std::unique_ptr< TF1 > m_cutFunction
bool isAvailable(const ELT &e) const
Test to see if this variable exists in the store.
Define macros for attributes used to control the static checker.
bool accept(const xAOD::IParticle &x) const override