18 std::vector<float>
output = {
103 for (
auto&
name : conf.
getParameter< std::vector<std::string> >(
"ModelNames") )
105 names_.push_back(
name);
113 thresholds_.push_back(
thresh);
115 if ( names_.size() != models_.size() ) {
117 <<
"'ModelNames' size (" << names_.size()
118 <<
") != 'ModelWeights' size (" << models_.size()
121 if ( models_.size() != thresholds_.size() ) {
123 <<
"'ModelWeights' size (" << models_.size()
124 <<
") != 'ModelThresholds' size (" << thresholds_.size()
136 std::vector<std::string>::const_iterator iter =
std::find( names_.begin(),
139 if ( iter != names_.end() ) {
142 features.set(ele,rho);
143 std::vector<float>
inputs = features.get();
144 return models_.at(index)->GetResponse( inputs.data() );
147 <<
"'Name given: '" << name
148 <<
"'. Check against configuration file.\n";
T getParameter(std::string const &) const
float shape_full5x5_circularity_
bool isNonnull() const
Checks for non-null.
float eSuperClusterOverP() const
float full5x5_e5x5() const
float full5x5_e1x5() const
float shape_full5x5_sigmaIphiIphi_
float full5x5_sigmaIphiIphi() const
double pt() const final
transverse momentum
std::vector< float > get()
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
float full5x5_sigmaIetaIeta() const
float deltaEtaSuperClusterTrackAtVtx() const
double eval(const std::string &name, const reco::GsfElectronRef &, double rho) const
float shape_full5x5_sigmaIetaIeta_
float deltaPhiSuperClusterTrackAtVtx() const
HeavyObjectCache(const edm::ParameterSet &)
float shape_full5x5_HoverE_
double p() const final
magnitude of momentum vector
float full5x5_hcalOverEcal() const
virtual GsfElectronCoreRef core() const
float deltaEtaSeedClusterTrackAtCalo() const
void set(const reco::GsfElectronRef &ele, double rho)