426 if (
ss.pre7DepthHcal) {
428 return ss.hcalDepth1OverEcal +
ss.hcalDepth2OverEcal;
430 return ss.hcalDepth1OverEcal;
432 return ss.hcalDepth2OverEcal;
436 const auto &hovere =
ss.hcalOverEcal;
437 return (!(
depth > 0 and
depth < 8)) ? std::accumulate(std::begin(hovere),
std::end(hovere), 0.
f)
443 if (
ss.pre7DepthHcal) {
445 return ss.hcalDepth1OverEcalBc +
ss.hcalDepth2OverEcalBc;
447 return ss.hcalDepth1OverEcalBc;
449 return ss.hcalDepth2OverEcalBc;
453 const auto &hovere =
ss.hcalOverEcalBc;
454 return (!(
depth > 0 and
depth < 8)) ? std::accumulate(std::begin(hovere),
std::end(hovere), 0.
f)
561 if (
iv.pre7DepthHcal) {
563 return iv.hcalDepth1TowerSumEt +
iv.hcalDepth1TowerSumEt;
565 return iv.hcalDepth1TowerSumEt;
567 return iv.hcalDepth2TowerSumEt;
571 const auto &hcaliso =
iv.hcalRecHitSumEt;
572 return (!(
depth > 0 and
depth < 8)) ? std::accumulate(std::begin(hcaliso),
std::end(hcaliso), 0.
f)
573 : hcaliso[
depth - 1];
578 if (
iv.pre7DepthHcal) {
580 return iv.hcalDepth1TowerSumEtBc +
iv.hcalDepth1TowerSumEtBc;
582 return iv.hcalDepth1TowerSumEtBc;
584 return iv.hcalDepth2TowerSumEtBc;
588 const auto &hcaliso =
iv.hcalRecHitSumEtBc;
589 return (!(
depth > 0 and
depth < 8)) ? std::accumulate(std::begin(hcaliso),
std::end(hcaliso), 0.
f)
590 : hcaliso[
depth - 1];
float deltaPhiEleClusterTrackAtCalo() const
void setDr04Isolation(const IsolationVariables &dr04)
float hcalTowerSumEt(const IsolationVariables &iv, int depth) const
float dPhi1
Pixel match variable: deltaPhi for innermost hit.
bool full5x5_hcalOverEcalValid() const
unsigned char subdetectors
Subdetectors for first and second pixel hit.
void setTrackFbrem(float fbrem)
std::array< float, 7 > hcalRecHitSumEt
PixelMatchVariables pixelMatchVariables_
void setP4(P4Kind kind, const LorentzVector &p4, float p4Error, bool setCandidate)
math::XYZPoint caloPosition() const
CaloCluster_iterator basicClustersBegin() const
float scSigmaIEtaIEta() const
bool isGsfScPixChargeConsistent() const
float dnn_bkg_nonIsolated() const
void setPassCutBasedPreselection(bool flag)
float full5x5_e2x5Max() const
void setFFlagIsEE(const bool b)
void setPixelMatchDRz2(float dRz2)
void setCore(const reco::GsfElectronCoreRef &core)
bool isEcalEnergyCorrected
bool ecalDrivenSeed() const
float deltaPhiSeedClusterTrackAtCalo() const
float dnn_signal_nonIsolated() const
float dRz2
Pixel match variable: deltaRz for second hit.
float eSeedClusterOverP() const
void setPixelMatchDPhi1(float dPhi1)
bool trackerDrivenSeed() const
int pixelMatchSubdetector1() const
float correctedEcalEnergy
float full5x5_hcalOverEcalBc(int depth=0) const
float mvaByPassForIsolated
float full5x5_e1x5() const
math::XYZVectorF trackMomentumAtEleClus() const
float full5x5_sigmaEtaEta() const
float trackMomentumError() const
float correctedEcalEnergyError
void correctMomentum(const LorentzVector &p4, float trackMomentumError, float p4Error)
std::array< float, 7 > hcalRecHitSumEtBc
float sigmaIetaIeta() const
float pixelMatchDPhi1() const
ConversionRejection conversionRejection_
float dr04TkSumPtHEEP() const
math::XYZPointF trackPositionAtCalo() const
float fromSuperClusterP4Error
void setMvaInput(const MvaInput &mi)
static constexpr float mvaPlaceholder
void setSaturationInfo(const SaturationInfo &s)
float sumPUPt
sum pt of charged Particles not from PV (for Pu corrections)
float pixelMatchDPhi2() const
void setShowerShape(const ShowerShape &s)
bool passingPflowPreselection() const
bool isNonnull() const
Checks for non-null.
math::XYZPoint superClusterPosition() const
SaturationInfo saturationInfo_
bool overlap(const Candidate &) const override
check overlap with another candidate
const MvaOutput & mvaOutput() const
const ConversionRejection & conversionRejectionVariables() const
float sumNeutralHadronEtHighThreshold
sum pt of neutral hadrons with a higher threshold
float deltaEtaSuperClusterAtVtx
GsfElectron * clone() const override
returns a clone of the Candidate object
float hcalOverEcalBc(const ShowerShape &ss, int depth) const
float deltaPhiSuperClusterAtVtx
float full5x5_eBottom() const
float sumChargedParticlePt
sum-pt of charged Particles(inludes e/mu)
void setAmbiguous(bool flag)
GsfTrackRefVector ambiguousGsfTracks_
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float > > XYZPointF
point in space with cartesian internal representation
const ClassificationVariables & classificationVariables() const
void setConversionRejectionVariables(const ConversionRejection &convRej)
float full5x5_sigmaIphiIphi() const
float hcalDepth1TowerSumEt
float deltaEtaEleClusterTrackAtCalo() const
void setPfIsolationVariables(const PflowIsolationVariables &iso)
float hcalDepth1TowerSumEtBc
void setDr03Isolation(const IsolationVariables &dr03)
void setMvaOutput(const MvaOutput &mo)
const LorentzVector & p4() const final
four-momentum Lorentz vector
float dr04TkSumPt() const
const std::vector< CaloTowerDetId > & hcalTowersBehindClusters() const
TrackBaseRef convPartner() const
void setPixelMatchSubdetectors(int sd1, int sd2)
float eSuperClusterOverP() const
Classification classification() const
float full5x5_e5x5() const
KeyVec::size_type size_type
float eEleClusterOverPout() const
void setSuperClusterFbrem(float fbrem)
CaloClusterPtr electronCluster
void clearAmbiguousGsfTracks()
math::XYZVectorF trackMomentumAtCalo() const
float dr03TkSumPt() const
float eSeedClusterOverPout() const
void setFFlagIsEBEEGap(const bool b)
bool isGsfCtfScPixConsistent
void setFFlagIsEBEtaGap(const bool b)
PflowIsolationVariables pfIso_
GsfTrackRef gsfTrack() const override
reference to a GsfTrack
const PflowIsolationVariables & pfIsolationVariables() const
float ecalPFClusterIso() const
math::XYZVectorF trackMomentumOut() const
std::array< float, 7 > hcalOverEcal
float closestCtfTrackNormChi2() const
void setFFlagIsEERingGap(const bool b)
float dPhi2
Pixel match variable: deltaPhi for second hit.
void setCorrectedEcalEnergyError(float newEnergyError)
float dr03HcalTowerSumEtBc(int depth=0) const
const ShowerShape & full5x5_showerShape() const
float ctfGsfOverlap() const
float full5x5_eTop() const
float eSeedClusterOverPout
CaloCluster_iterator basicClustersEnd() const
bool isElectron() const override
float correctedEcalEnergy() const
float dnn_e_sigNonIsolated
const FiducialFlags & fiducialFlags() const
float shFracInnerHits() const
FiducialFlags fiducialFlags_
bool isEnergyScaleCorrected() const
float sumPhotonEtHighThreshold
sum pt of PF photons with a higher threshold
float scSigmaEtaEta() const
const TrackClusterMatching & trackClusterMatching() const
ClassificationVariables()
auto const & ambiguousGsfTracks() const
float sumPhotonEt
sum pt of PF photons // old float photonIso ;
GsfTrackRefVector::size_type ambiguousGsfTracksSize() const
float full5x5_e2x5Bottom() const
float full5x5_eLeft() const
static constexpr float kDefaultValue
void setPassMvaPreselection(bool flag)
float full5x5_e2x5Left() const
int numberOfBrems() const
void setFFlagIsEBPhiGap(const bool b)
std::vector< CaloTowerDetId > hcalTowersBehindClusters
float deltaEtaSeedClusterAtCalo
P4Kind candidateP4Kind() const
float hcalOverEcalBc(int depth=0) const
math::XYZVectorF trackMomentumAtVtx() const
math::XYZTLorentzVector LorentzVector
float sumNeutralHadronEt
sum pt of neutral hadrons // old float neutralHadronIso ;
void setFFlagIsEB(const bool b)
float pixelMatchDRz2() const
const IsolationVariables & isolationVariables03() const
float convVtxFitProb() const
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float > > XYZVectorF
spatial vector with cartesian internal representation
float hcalOverEcal(const ShowerShape &ss, int depth) const
void setIsolation04(const IsolationVariables &dr04)
math::XYZPointF TrackPositionAtVtx() const
void setDeltaPhiSuperClusterAtVtx(float dphi)
int pixelMatchSubdetector2() const
void setEcalEnergyError(float energyError)
virtual GsfElectronCoreRef core() const
void setTrackMomentumError(float trackMomentumError)
void correctEcalEnergy(float newEnergy, float newEnergyError, bool corrEovP=true)
float deltaPhiSuperClusterTrackAtVtx() const
float superClusterFbrem() const
float hcalDepth2TowerSumEtBc
float sigmaEtaEta() const
bool isGsfCtfScPixChargeConsistent() const
void setPixelMatchDPhi2(float dPhi2)
ClassificationVariables classVariables_
ShowerShape full5x5_showerShape_
const SaturationInfo & saturationInfo() const
float hcalTowerSumEtBc(const IsolationVariables &iv, int depth) const
float dnn_bkg_Photon() const
int closestCtfTrackNLayers() const
float deltaEtaSuperClusterTrackAtVtx() const
size_type size() const
Size of the RefVector.
bool isGsfScPixConsistent
const TrackExtrapolations & trackExtrapolations() const
float hcalDepth2TowerSumEt
void clear()
Clear the vector.
float p4Error(P4Kind kind) const
void setClassification(Classification myclass)
XYZPointD XYZPoint
point in space with cartesian internal representation
math::XYZPointF TrackPositionAtCalo() const
const IsolationVariables & dr03IsolationVariables() const
float ecalEnergyError() const
bool isEcalEnergyCorrected() const
float isSeedSaturated() const
float hcalDepth2OverEcalBc
math::XYZTLorentzVector LorentzVector
Lorentz vector.
float dnn_bkg_Tau() const
std::array< float, 7 > hcalOverEcalBc
float deltaEtaEleClusterAtCalo
const ShowerShape & showerShape() const
virtual TrackRef closestCtfTrackRef() const
float hcalDepth1OverEcalBc
virtual SuperClusterRef parentSuperCluster() const
void setCorrectedEcalEnergy(float newEnergy)
void setIsolation03(const IsolationVariables &dr03)
float hcalPFClusterIso() const
bool passingMvaPreselection() const
float correctedEcalEnergyError() const
void setTrackExtrapolations(const TrackExtrapolations &te)
math::XYZVectorF trackMomentumAtVtxWithConstraint() const
CaloClusterPtr electronCluster() const
float eEleClusterOverPout
float mva_Isolated() const
const IsolationVariables & dr04IsolationVariables() const
float sigmaIphiIphi() const
float hcalOverEcal(int depth=0) const
float deltaPhiEleClusterAtCalo
float full5x5_hcalOverEcal(int depth=0) const
virtual reco::TrackRef track() const
reference to a Track
float dr04HcalTowerSumEtBc(int depth=0) const
const Corrections & corrections() const
ClosestCtfTrack(TrackRef track, float sh)
bool closestCtfTrackRefValid() const
void setPassPflowPreselection(bool flag)
void push_back(value_type const &ref)
Add a Ref<C, T> to the RefVector.
float dr03EcalRecHitSumEt() const
float dnn_e_bkgNonIsolated
float deltaPhiSeedClusterAtCalo
bool isGsfCtfChargeConsistent() const
float dr04HcalTowerSumEt(int depth=0) const
void setDeltaEtaSuperClusterAtVtx(float de)
float dRz1
Pixel match variable: deltaRz for innermost hit.
void setCorrections(const Corrections &c)
void setClassificationVariables(const ClassificationVariables &cv)
float dr03TkSumPtHEEP() const
float deltaEtaSeedClusterTrackAtCalo() const
const MvaInput & mvaInput() const
TrackClusterMatching trackClusterMatching_
bool passCutBasedPreselection_
float full5x5_eRight() const
float full5x5_sigmaIetaIeta() const
const IsolationVariables & isolationVariables04() const
float dr03HcalTowerSumEt(int depth=0) const
void addAmbiguousGsfTrack(const reco::GsfTrackRef &t)
float sumChargedHadronPt
sum-pt of charged Hadron // old float chargedHadronIso ;
int basicClustersSize() const
void full5x5_setShowerShape(const ShowerShape &s)
TrackExtrapolations trackExtrapolations_
float full5x5_e2x5Top() const
void setFFlagIsEEDeeGap(const bool b)
bool passPflowPreselection_
const ChargeInfo & chargeInfo() const
float full5x5_e2x5Right() const
void setP4(const LorentzVector &p4) final
set 4-momentum
void setPixelMatchDRz1(float dRz1)
float hadronicOverEm() const
LorentzVector fromSuperClusterP4
SuperClusterRef superCluster() const override
reference to a SuperCluster
float dr04EcalRecHitSumEt() const
bool passingCutBasedPreselection() const
PflowIsolationVariables()
bool hcalOverEcalValid() const
float pixelMatchDRz1() const
math::XYZPointF trackPositionAtVtx() const
int charge() const final
electric charge
float dnn_signal_Isolated() const
float deltaEtaSeedClusterTrackAtVtx() const
float nSaturatedXtals() const
void hcalToRun2EffDepth()
virtual ClosestCtfTrack closestCtfTrack() const