#include <PFElectronAlgo.h>
Public Member Functions | |
const std::vector < reco::PFCandidate > & | getAllElectronCandidates () |
const std::vector < reco::PFCandidate > & | getElectronCandidates () |
const std::vector < reco::PFCandidateElectronExtra > & | getElectronExtra () |
bool | isElectronValidCandidate (const reco::PFBlockRef &blockRef, std::vector< bool > &active, const reco::Vertex &primaryVertex) |
PFElectronAlgo (const double mvaEleCut, std::string mvaWeightFileEleID, const boost::shared_ptr< PFSCEnergyCalibration > &thePFSCEnergyCalibration, const boost::shared_ptr< PFEnergyCalibration > &thePFEnergyCalibration, bool applyCrackCorrections, bool usePFSCEleCalib, bool useEGElectrons, bool useEGammaSupercluster, double sumEtEcalIsoForEgammaSC_barrel, double sumEtEcalIsoForEgammaSC_endcap, double coneEcalIsoForEgammaSC, double sumPtTrackIsoForEgammaSC_barrel, double sumPtTrackIsoForEgammaSC_endcap, unsigned int nTrackIsoForEgammaSC, double coneTrackIsoForEgammaSC) | |
void | setEGElectronCollection (const reco::GsfElectronCollection &egelectrons) |
~PFElectronAlgo () | |
Private Types | |
typedef std::map< unsigned int, std::vector< unsigned int > > | AssMap |
Private Member Functions | |
unsigned int | FindClosestElement (const unsigned int iele, std::multimap< double, unsigned int > &Elems, float &chi2cut, std::vector< bool > &active, const reco::PFBlockRef &blockRef) |
bool | isPrimaryTrack (const reco::PFBlockElementTrack &KfEl, const reco::PFBlockElementGsfTrack &GsfEl) |
void | RunPFElectron (const reco::PFBlockRef &blockRef, std::vector< bool > &active, const reco::Vertex &primaryVertex) |
void | SetActive (const reco::PFBlockRef &blockRef, AssMap &associatedToGsf_, AssMap &associatedToBrems_, AssMap &associatedToEcal_, std::vector< bool > &active) |
void | SetCandidates (const reco::PFBlockRef &blockRef, AssMap &associatedToGsf_, AssMap &associatedToBrems_, AssMap &associatedToEcal_) |
void | SetIDOutputs (const reco::PFBlockRef &blockRef, AssMap &associatedToGsf_, AssMap &associatedToBrems_, AssMap &associatedToEcal_, const reco::Vertex &primaryVertex) |
bool | SetLinks (const reco::PFBlockRef &blockRef, AssMap &associatedToGsf_, AssMap &associatedToBrems_, AssMap &associatedToEcal_, std::vector< bool > &active, const reco::Vertex &primaryVertex) |
Definition at line 26 of file PFElectronAlgo.h.
|
private |
Definition at line 71 of file PFElectronAlgo.h.
PFElectronAlgo::PFElectronAlgo | ( | const double | mvaEleCut, |
std::string | mvaWeightFileEleID, | ||
const boost::shared_ptr< PFSCEnergyCalibration > & | thePFSCEnergyCalibration, | ||
const boost::shared_ptr< PFEnergyCalibration > & | thePFEnergyCalibration, | ||
bool | applyCrackCorrections, | ||
bool | usePFSCEleCalib, | ||
bool | useEGElectrons, | ||
bool | useEGammaSupercluster, | ||
double | sumEtEcalIsoForEgammaSC_barrel, | ||
double | sumEtEcalIsoForEgammaSC_endcap, | ||
double | coneEcalIsoForEgammaSC, | ||
double | sumPtTrackIsoForEgammaSC_barrel, | ||
double | sumPtTrackIsoForEgammaSC_endcap, | ||
unsigned int | nTrackIsoForEgammaSC, | ||
double | coneTrackIsoForEgammaSC | ||
) |
Definition at line 33 of file PFElectronAlgo.cc.
References chi2_gsf, chi2_kf, DEtaGsfEcalClust, DPtOverPt_gsf, dPtOverPt_gsf, EGsfPoutMode, Eta_gsf, EtotBremPinPoutMode, EtotPinMode, firstBrem, HOverHE, lateBrem, lnPt_gsf, nhit_kf, SigmaEtaEta, and tmvaReader_.
|
inline |
|
private |
|
inline |
Definition at line 62 of file PFElectronAlgo.h.
References allElCandidate_.
Referenced by PFAlgo::processBlock().
|
inline |
Definition at line 59 of file PFElectronAlgo.h.
References elCandidate_.
Referenced by PFAlgo::processBlock().
|
inline |
Definition at line 65 of file PFElectronAlgo.h.
References electronExtra_.
Referenced by PFAlgo::processBlock().
|
inline |
Definition at line 50 of file PFElectronAlgo.h.
References isvalid_, and RunPFElectron().
Referenced by PFAlgo::processBlock().
|
private |
Definition at line 2668 of file PFElectronAlgo.cc.
References reco::PFBlockElementGsfTrack::GsftrackRefPF(), edm::Ref< C, T, F >::isNonnull(), and reco::PFBlockElementTrack::trackRefPF().
Referenced by SetCandidates(), SetIDOutputs(), and SetLinks().
|
private |
Definition at line 85 of file PFElectronAlgo.cc.
References allElCandidate_, BDToutput_, convGsfTrack_, elCandidate_, electronConstituents_, electronExtra_, fifthStepKfTrack_, isvalid_, lockExtraKf_, SetActive(), SetCandidates(), SetIDOutputs(), and SetLinks().
Referenced by isElectronValidCandidate().
|
private |
Definition at line 2545 of file PFElectronAlgo.cc.
References reco::PFBlock::associatedElements(), BDToutput_, createPayload::block, reco::PFBlockElement::BREM, convGsfTrack_, reco::PFBlockElement::ECAL, reco::PFBlock::elements(), bookConverter::elements, fifthStepKfTrack_, plotBeamSpotDB::first, reco::PFBlockElementGsfTrack::GsftrackRef(), reco::PFBlock::linkData(), reco::PFBlock::LINKTEST_ALL, lockExtraKf_, mvaEleCut_, reco::PFBlockElement::PS1, reco::PFBlockElement::PS2, edm::second(), theGsfElectrons_, reco::PFBlockElement::TRACK, and useEGElectrons_.
Referenced by RunPFElectron().
|
private |
Definition at line 1909 of file PFElectronAlgo.cc.
References reco::CompositeCandidate::addDaughter(), reco::PFCandidate::addElementInBlock(), allElCandidate_, applyCrackCorrections_, reco::PFBlock::associatedElements(), BDToutput_, createPayload::block, reco::PFBlockElement::BREM, RecoTauCleanerPlugins::charge, GetRecoTauVFromDQM_MC_cff::cl, reco::PFBlockElementCluster::clusterRef(), gather_cfg::cout, reco::PFCandidate::e, reco::PFBlockElement::ECAL, elCandidate_, electronConstituents_, electronExtra_, reco::PFBlock::elements(), bookConverter::elements, reco::PFCandidate::gamma, edm::Ref< C, T, F >::get(), PFEnergyResolution::getEnergyResolutionEm(), reco::PFBlockElementGsfTrack::GsftrackRef(), reco::PFBlockElement::HCAL, patCandidatesForDimuonsSequences_cff::hcal, edm::Ref< C, T, F >::isAvailable(), edm::Ref< C, T, F >::isNonnull(), isPrimaryTrack(), reco::PFBlock::linkData(), reco::PFBlock::LINKTEST_ALL, M_PI, mvaEleCut_, nhit_gsf, nhit_kf, HLT_FULL_cff::particleType, PFClusterWidthAlgo::pflowEtaWidth(), PFClusterWidthAlgo::pflowPhiWidth(), reco::PFBlockElementBrem::positionAtECALEntrance(), reco::PFBlockElementGsfTrack::positionAtECALEntrance(), reco::PFBlockElement::PS1, reco::PFBlockElement::PS2, pileupReCalc_HLTpaths::scale, reco::PFCandidate::set_mva_e_pi(), reco::PFCandidate::setEcalEnergy(), reco::PFCandidate::setGsfTrackRef(), reco::PFCandidate::setHcalEnergy(), reco::PFCandidate::setPositionAtECALEntrance(), reco::PFCandidate::setPs1Energy(), reco::PFCandidate::setPs2Energy(), reco::PFCandidate::setSuperClusterRef(), reco::PFCandidate::setTrackRef(), reco::PFCandidate::setVertexSource(), funct::sin(), mathSSE::sqrt(), theGsfElectrons_, thePFEnergyCalibration_, thePFSCEnergyCalibration_, reco::PFBlockElement::TRACK, reco::PFBlockElementTrack::trackRef(), useEGElectrons_, and usePFSCEleCalib_.
Referenced by RunPFElectron().
void PFElectronAlgo::setEGElectronCollection | ( | const reco::GsfElectronCollection & | egelectrons | ) |
Definition at line 2664 of file PFElectronAlgo.cc.
References theGsfElectrons_.
Referenced by PFAlgo::setEGElectronCollection().
|
private |
Definition at line 1422 of file PFElectronAlgo.cc.
References applyCrackCorrections_, reco::PFBlock::associatedElements(), BDToutput_, createPayload::block, reco::PFBlockElement::BREM, chi2_gsf, chi2_kf, reco::PFBlockElementCluster::clusterRef(), gather_cfg::cout, DEtaGsfEcalClust, DPtOverPt_gsf, dPtOverPt_gsf, DPtOverPt_kf, earlyBrem, reco::PFBlockElement::ECAL, EGsfPoutMode, electronExtra_, reco::PFBlock::elements(), bookConverter::elements, Eta_gsf, EtotBremPinPoutMode, EtotPinMode, firstBrem, spr::goodTrack(), reco::PFBlockElementGsfTrack::GsftrackRef(), reco::PFBlockElement::HCAL, HOverHE, HOverPin, reco::PFBlockElementBrem::indTrajPoint(), PFTrackAlgoTools::isGoodForEGM(), edm::Ref< C, T, F >::isNonnull(), isPrimaryTrack(), lateBrem, reco::PFBlock::linkData(), reco::PFBlock::LINKTEST_ALL, lnPt_gsf, lockExtraKf_, dqm-mbProfile::log, M_PI, mvaEleCut_, nhit_gsf, nhit_kf, PFClusterWidthAlgo::pflowSigmaEtaEta(), reco::PFBlockElementGsfTrack::positionAtECALEntrance(), reco::PFBlockElementGsfTrack::Pout(), reco::PFBlockElement::PS1, reco::PFBlockElement::PS2, reco::PFCandidateElectronExtra::setDeltaEta(), reco::PFCandidateElectronExtra::setEarlyBrem(), reco::PFCandidateElectronExtra::setGsfTrackPout(), reco::PFCandidateElectronExtra::setHadEnergy(), reco::PFCandidateElectronExtra::setKfTrackRef(), reco::PFCandidateElectronExtra::setLateBrem(), reco::PFCandidateElectronExtra::setMVA(), reco::PFCandidateElectronExtra::setSigmaEtaEta(), SigmaEtaEta, funct::sin(), mathSSE::sqrt(), thePFEnergyCalibration_, tmvaReader_, reco::PFBlockElement::TRACK, reco::PFBlockElementTrack::trackRef(), reco::Vertex::tracks_begin(), and reco::Vertex::tracks_end().
Referenced by RunPFElectron().
|
private |
Definition at line 132 of file PFElectronAlgo.cc.
References applyCrackCorrections_, reco::PFBlock::associatedElements(), createPayload::block, reco::PFBlockElement::BREM, reco::PFBlockElementCluster::clusterRef(), coneEcalIsoForEgammaSC_, convGsfTrack_, gather_cfg::cout, reco::PFBlock::dist(), ECAL, reco::PFBlockElement::ECAL, reco::PFBlock::elements(), bookConverter::elements, fifthStepKfTrack_, reco::PFBlockElement::GSF, reco::PFBlockElementGsfTrack::GsftrackRef(), reco::PFBlockElement::HCAL, i, cuy::ii, cmsHarvester::index, reco::PFBlockElementBrem::indTrajPoint(), edm::OwnVector< T, P >::insert(), PFTrackAlgoTools::isGoodForEGM(), PFMuonAlgo::isMuon(), edm::Ref< C, T, F >::isNonnull(), isPrimaryTrack(), reco::PFBlock::linkData(), reco::PFBlock::LINKTEST_ALL, M_PI, nTrackIsoForEgammaSC_, reco::PFBlockElementBrem::positionAtECALEntrance(), reco::PFBlockElementGsfTrack::positionAtECALEntrance(), reco::PFBlockElementGsfTrack::Pout(), reco::PFBlockElement::PS1, reco::PFBlockElement::PS2, runTheMatrix::ret, funct::sin(), edm::OwnVector< T, P >::size(), mathSSE::sqrt(), sumEtEcalIsoForEgammaSC_barrel_, sumEtEcalIsoForEgammaSC_endcap_, sumPtTrackIsoForEgammaSC_barrel_, sumPtTrackIsoForEgammaSC_endcap_, reco::PFBlockElement::T_FROM_GAMMACONV, thePFEnergyCalibration_, reco::PFBlockElement::TRACK, reco::PFBlockElementTrack::trackRef(), reco::Vertex::tracks_begin(), reco::Vertex::tracks_end(), reco::PFBlockElementGsfTrack::trackType(), and useEGammaSupercluster_.
Referenced by RunPFElectron().
|
private |
Definition at line 113 of file PFElectronAlgo.h.
Referenced by getAllElectronCandidates(), RunPFElectron(), and SetCandidates().
|
private |
Definition at line 127 of file PFElectronAlgo.h.
Referenced by SetCandidates(), SetIDOutputs(), and SetLinks().
|
private |
Definition at line 115 of file PFElectronAlgo.h.
Referenced by RunPFElectron(), SetActive(), SetCandidates(), and SetIDOutputs().
|
private |
Definition at line 146 of file PFElectronAlgo.h.
Referenced by PFElectronAlgo(), and SetIDOutputs().
|
private |
Definition at line 146 of file PFElectronAlgo.h.
Referenced by PFElectronAlgo(), and SetIDOutputs().
|
private |
Definition at line 133 of file PFElectronAlgo.h.
Referenced by SetLinks().
|
private |
Definition at line 137 of file PFElectronAlgo.h.
|
private |
Definition at line 120 of file PFElectronAlgo.h.
Referenced by RunPFElectron(), SetActive(), and SetLinks().
|
private |
Definition at line 153 of file PFElectronAlgo.h.
Referenced by PFElectronAlgo(), and SetIDOutputs().
|
private |
Definition at line 146 of file PFElectronAlgo.h.
Referenced by PFElectronAlgo(), and SetIDOutputs().
|
private |
Definition at line 146 of file PFElectronAlgo.h.
Referenced by PFElectronAlgo(), and SetIDOutputs().
|
private |
Definition at line 146 of file PFElectronAlgo.h.
Referenced by SetIDOutputs().
|
private |
Definition at line 156 of file PFElectronAlgo.h.
Referenced by SetIDOutputs().
|
private |
Definition at line 152 of file PFElectronAlgo.h.
Referenced by PFElectronAlgo(), and SetIDOutputs().
|
private |
Definition at line 112 of file PFElectronAlgo.h.
Referenced by getElectronCandidates(), RunPFElectron(), and SetCandidates().
|
private |
Definition at line 114 of file PFElectronAlgo.h.
Referenced by RunPFElectron(), and SetCandidates().
|
private |
Definition at line 116 of file PFElectronAlgo.h.
Referenced by getElectronExtra(), RunPFElectron(), SetCandidates(), and SetIDOutputs().
|
private |
Definition at line 143 of file PFElectronAlgo.h.
Referenced by PFElectronAlgo(), and SetIDOutputs().
|
private |
Definition at line 152 of file PFElectronAlgo.h.
Referenced by PFElectronAlgo(), and SetIDOutputs().
|
private |
Definition at line 152 of file PFElectronAlgo.h.
Referenced by PFElectronAlgo(), and SetIDOutputs().
|
private |
Definition at line 119 of file PFElectronAlgo.h.
Referenced by RunPFElectron(), SetActive(), and SetLinks().
|
private |
Definition at line 156 of file PFElectronAlgo.h.
Referenced by PFElectronAlgo(), and SetIDOutputs().
|
private |
Definition at line 118 of file PFElectronAlgo.h.
|
private |
Definition at line 157 of file PFElectronAlgo.h.
Referenced by PFElectronAlgo(), and SetIDOutputs().
|
private |
Definition at line 157 of file PFElectronAlgo.h.
Referenced by SetIDOutputs().
|
private |
Definition at line 159 of file PFElectronAlgo.h.
Referenced by isElectronValidCandidate(), and RunPFElectron().
|
private |
Definition at line 156 of file PFElectronAlgo.h.
Referenced by PFElectronAlgo(), and SetIDOutputs().
|
private |
Definition at line 143 of file PFElectronAlgo.h.
Referenced by PFElectronAlgo(), and SetIDOutputs().
|
private |
Definition at line 117 of file PFElectronAlgo.h.
Referenced by RunPFElectron(), SetActive(), and SetIDOutputs().
|
private |
Definition at line 124 of file PFElectronAlgo.h.
Referenced by SetActive(), SetCandidates(), and SetIDOutputs().
|
private |
Definition at line 139 of file PFElectronAlgo.h.
|
private |
Definition at line 149 of file PFElectronAlgo.h.
Referenced by SetCandidates(), and SetIDOutputs().
|
private |
Definition at line 149 of file PFElectronAlgo.h.
Referenced by PFElectronAlgo(), SetCandidates(), and SetIDOutputs().
|
private |
Definition at line 136 of file PFElectronAlgo.h.
Referenced by SetLinks().
|
private |
Definition at line 154 of file PFElectronAlgo.h.
Referenced by PFElectronAlgo(), and SetIDOutputs().
|
private |
Definition at line 131 of file PFElectronAlgo.h.
Referenced by SetLinks().
|
private |
Definition at line 132 of file PFElectronAlgo.h.
Referenced by SetLinks().
|
private |
Definition at line 134 of file PFElectronAlgo.h.
Referenced by SetLinks().
|
private |
Definition at line 135 of file PFElectronAlgo.h.
Referenced by SetLinks().
|
private |
Definition at line 161 of file PFElectronAlgo.h.
Referenced by SetActive(), SetCandidates(), and setEGElectronCollection().
|
private |
Definition at line 126 of file PFElectronAlgo.h.
Referenced by SetCandidates(), SetIDOutputs(), and SetLinks().
|
private |
Definition at line 125 of file PFElectronAlgo.h.
Referenced by SetCandidates().
|
private |
Definition at line 123 of file PFElectronAlgo.h.
Referenced by PFElectronAlgo(), SetIDOutputs(), and ~PFElectronAlgo().
|
private |
Definition at line 130 of file PFElectronAlgo.h.
Referenced by SetLinks().
|
private |
Definition at line 129 of file PFElectronAlgo.h.
Referenced by SetActive(), and SetCandidates().
|
private |
Definition at line 128 of file PFElectronAlgo.h.
Referenced by SetCandidates().