13 const std::map<std::string, float>&
vars,
float ptThr,
float etaThr,
float endcapBoundary,
float extEtaBoundary) {
17 const auto pt =
vars.at(
"pt");
19 if (absEta <= endcapBoundary) {
23 if (absEta <= etaThr) {
30 if (absEta < extEtaBoundary)
56 "abs(deltaEtaSuperClusterTrackAtVtx)",
57 "abs(deltaPhiSuperClusterTrackAtVtx)",
58 "full5x5_sigmaIetaIeta",
59 "full5x5_hcalOverEcal",
62 "eEleClusterOverPout",
63 "closestCtfTrackNormChi2",
64 "closestCtfTrackNLayers",
65 "gsfTrack.missing_inner_hits",
67 "dr03EcalRecHitSumEt",
69 "gsfTrack.normalizedChi2",
74 "abs(deltaEtaSeedClusterTrackAtCalo)",
78 "full5x5_sigmaIphiIphi",
79 "1_minus_full5x5_e1x5_ratio_full5x5_e5x5",
80 "full5x5_e1x5_ratio_full5x5_e5x5",
82 "gsfTrack.trackerLayersWithMeasurement",
83 "gsfTrack.numberOfValidPixelBarrelHits",
84 "gsfTrack.numberOfValidPixelEndcapHits",
85 "superCluster.energy",
86 "superCluster.rawEnergy",
88 "1_ratio_ecalEnergy_minus_1_ratio_trackMomentumAtVtx.R",
89 "superCluster.preshowerEnergy_ratio_superCluster.rawEnergy",
91 "superCluster.clustersSize",
92 "ecalEnergyError_ratio_ecalEnergy",
93 "superClusterFbrem_plus_superCluster.energy",
94 "superClusterFbrem_plus_superCluster.rawEnergy",
96 "trackMomentumError_ratio_pt",
97 "full5x5_e5x5_ratio_superCluster.rawEnergy",
98 "full5x5_e5x5_ratio_superCluster.energy"}};
115 variables[
"gsfTrack.missing_inner_hits"] =
134 variables[
"gsfTrack.trackerLayersWithMeasurement"] = ele.
gsfTrack()->hitPattern().trackerLayersWithMeasurement();
135 variables[
"gsfTrack.numberOfValidPixelBarrelHits"] = ele.
gsfTrack()->hitPattern().numberOfValidPixelBarrelHits();
136 variables[
"gsfTrack.numberOfValidPixelEndcapHits"] = ele.
gsfTrack()->hitPattern().numberOfValidPixelEndcapHits();
140 variables[
"1_ratio_ecalEnergy_minus_1_ratio_trackMomentumAtVtx.R"] =
142 variables[
"superCluster.preshowerEnergy_ratio_superCluster.rawEnergy"] =
148 variables[
"superClusterFbrem_plus_superCluster.rawEnergy"] =
163 std::vector<std::map<std::string, float>>
inputs;
bool full5x5_hcalOverEcalValid() const
ElectronDNNEstimator(const egammaTools::DNNConfiguration &, const bool useEBModelInGap)
float full5x5_e2x5Max() const
std::map< std::string, float > getInputsVars(const reco::GsfElectron &ele) const
std::vector< tensorflow::Session * > getSessions() const
double pt() const final
transverse momentum
float full5x5_e1x5() const
float trackMomentumError() const
float full5x5_sigmaIphiIphi() const
std::vector< GsfElectron > GsfElectronCollection
collection of GsfElectron objects
float eSuperClusterOverP() const
float full5x5_e5x5() const
float eEleClusterOverPout() const
float dr03TkSumPt() const
GsfTrackRef gsfTrack() const override
reference to a GsfTrack
static const std::vector< std::string > dnnAvaibleInputs
float ecalPFClusterIso() const
float closestCtfTrackNormChi2() const
int numberOfBrems() const
Abs< T >::type abs(const T &t)
math::XYZVectorF trackMomentumAtVtx() const
float convVtxFitProb() const
float deltaPhiSuperClusterTrackAtVtx() const
float superClusterFbrem() const
int closestCtfTrackNLayers() const
float deltaEtaSuperClusterTrackAtVtx() const
float ecalEnergyError() const
float hcalPFClusterIso() const
std::vector< std::vector< float > > evaluate(const reco::GsfElectronCollection &ele, const std::vector< tensorflow::Session *> &sessions) const
float full5x5_hcalOverEcal(int depth=0) const
float dr03EcalRecHitSumEt() const
const egammaTools::EgammaDNNHelper dnnHelper_
float deltaEtaSeedClusterTrackAtCalo() const
float full5x5_sigmaIetaIeta() const
float dr03HcalTowerSumEt(int depth=0) const
uint electronModelSelector(const std::map< std::string, float > &vars, float ptThr, float etaThr, float endcapBoundary, float extEtaBoundary)
float hadronicOverEm() const
SuperClusterRef superCluster() const override
reference to a SuperCluster
bool hcalOverEcalValid() const
double eta() const final
momentum pseudorapidity