5 #ifndef DataFormats_PatCandidates_Electron_h
6 #define DataFormats_PatCandidates_Electron_h
56 typedef std::pair<std::string,float>
IdPair;
double edB(IpType type=None) const
Uncertainty on the corresponding impact parameter.
reco::SuperClusterRef pflowSuperCluster() const
override the reco::GsfElectron::pflowSuperCluster method, to access the internal storage of the pflow...
float trackIso() const
Overload of pat::Lepton::trackIso(); returns the value of the summed track pt in a cone of deltaR<0...
float dr04HcalTowerSumEt() const
double ecalTrackRegressionSmear() const
double ecalTrackRegressionScale() const
virtual ~Electron()
destructor
bool embeddedTrack_
True if electron's track is stored internally.
std::vector< reco::GsfTrack > gsfTrack_
Place to store electron's gsfTrack internally.
virtual Electron * clone() const
required reimplementation of the Candidate's clone method
double ecalRegressionEnergy_
output of regression
void embedTrack()
method to store the electron's Track internally
void embedSeedCluster()
method to store the electron's seedcluster internally
void embedGsfElectronCore()
method to store the electron's core internally
void setElectronIDs(const std::vector< IdPair > &ids)
Store multiple electron ID values, discarding existing ones. The first one in the list becomes the 'd...
void embedPflowBasicClusters()
method to store the electron's pflow basic clusters
reco::TrackRef closestCtfTrackRef() const
override the reco::GsfElectron::closestCtfTrackRef method, to access the internal storage of the trac...
double ecalScale() const
get scale corrections /smearings
double ecalScale_
scale corrections and smearing applied or to be be applied. Initialized to -99999.
void embedSuperCluster()
method to store the electron's SuperCluster internally
const LorentzVector & ecalDrivenMomentum() const
void embedPFCandidate()
embed the PFCandidate pointed to by pfCandidateRef_
void setDB(double dB, double edB, IpType type=None)
Set impact parameter of a certain type and its uncertainty.
float caloIso() const
Overload of pat::Lepton::caloIso(); returns the sum of ecalIso() and hcalIso.
const std::vector< reco::CaloCluster > & basicClusters() const
reco::SuperClusterRef superCluster() const
override the reco::GsfElectron::superCluster method, to access the internal storage of the superclust...
void setPFCandidateRef(const reco::PFCandidateRef &ref)
add a reference to the source IsolatedPFCandidate
reco::TrackRef track() const
returns nothing. Use either gsfTrack or closestCtfTrack
void setPassConversionVeto(bool flag)
float dr04TkSumPt() const
std::vector< reco::SuperCluster > superCluster_
Place to store electron's supercluster internally.
reco::GsfTrackRef gsfTrack() const
override the reco::GsfElectron::gsfTrack method, to access the internal storage of the supercluster ...
double ecalTrackRegressionSmear_
double dB_
Impact parameter at the primary vertex.
double ecalRegressionScale() const
std::vector< reco::Track > track_
Place to store electron's track internally.
void setEcalDrivenMomentum(const Candidate::LorentzVector &mom)
double sigmaIetaIphi() const
sigmaIEtaIPhi
bool embeddedGsfElectronCore_
True if electron's gsfElectronCore is stored internally.
void setMvaVariables(double r9, double sigmaIphiIphi, double sigmaIetaIphi, double ip3d)
set missing mva input variables
double ecalRegressionSmear() const
const EcalRecHitCollection * recHits() const
const std::vector< reco::CaloCluster > & pflowBasicClusters() const
void embedPreshowerClusters()
method to store the electron's preshower clusters
std::vector< reco::CaloCluster > pflowBasicClusters_
Place to store electron's pflow basic clusters internally.
float electronID(const char *name) const
virtual reco::TrackRef track() const
reference to a Track
reco::CaloClusterPtr seed() const
direct access to the seed cluster
void embedBasicClusters()
method to store the electron's basic clusters
std::vector< reco::CaloCluster > basicClusters_
Place to store electron's basic clusters internally.
double r9_
additional missing mva variables : 14/04/2012
bool isNonnull() const
Checks for non-null.
double ecalRegressionSmear_
edm::RefVector< ElectronCollection > ElectronRefVector
std::ostream & operator<<(std::ostream &, BeamSpot beam)
std::vector< reco::CaloCluster > preshowerClusters_
Place to store electron's preshower clusters internally.
std::vector< Electron > ElectronCollection
float dr04EcalRecHitSumEt() const
bool embeddedRecHits_
True if RecHits stored internally.
void embedRecHits(const EcalRecHitCollection *rechits)
method to store the RecHits internally - can be called from the PATElectronProducer ...
double ecalTrackRegressionError_
enum pat::Electron::IPTYPE IpType
void setEcalTrackRegressionSmear(double val)
Analysis-level lepton class.
bool passConversionVeto_
conversion veto
bool embeddedSeedCluster_
True if seed cluster is stored internally.
const std::vector< reco::CaloCluster > & pflowPreshowerClusters() const
const std::vector< IdPair > & electronIDs() const
Returns all the electron IDs in the form of <name,value> pairs. The 'default' ID is the first in the li...
virtual reco::GsfElectronCoreRef core() const
override the virtual reco::GsfElectron::core method, so that the embedded core can be used by GsfElec...
std::vector< reco::GsfElectronCore > gsfElectronCore_
Place to store electron's gsfElectronCore internally.
double ecalTrackRegressionEnergy() const
regression2
reco::PFCandidateRef pfCandidateRef() const
reference to the source PFCandidates; null if this has been built from a standard electron ...
Electron()
default constructor
void initImpactParameters()
init impact parameter defaults (for use in a constructor)
double ecalTrackRegressionEnergy_
void embedGsfTrack()
method to store the electron's GsfTrack internally
double ecalRegressionError() const
double ecalTrackRegressionError() const
float ecalIso() const
Overload of pat::Lepton::ecalIso(); returns the value of the summed Et of all recHits in the ecal in ...
double ecalRegressionError_
EcalRecHitCollection recHits_
Place to store electron's RecHits internally (5x5 around seed+ all RecHits)
void setEcalTrackRegressionEnergy(double val, double err)
set regression2
std::vector< reco::PFCandidate > PFCandidateCollection
collection of PFCandidates
reco::PFCandidateCollection pfCandidate_
A copy of the source IsolatedPFCandidate is stored in this vector if embeddedPFCandidate_ if True...
void setEcalScale(double val)
set scale corrections / smearings
double edB_
Impact paramater uncertainty at the primary vertex.
float electronID(const std::string &name) const
Returns a specific electron ID associated to the pat::Electron given its name.
void setEcalRegressionScale(double val)
bool embeddedGsfTrack_
True if electron's gsfTrack is stored internally.
edm::Ref< ElectronCollection > ElectronRef
void setIsPF(bool hasPFCandidate)
bool isElectronIDAvailable(const char *name) const
bool embeddedPflowSuperCluster_
True if electron's pflowsupercluster is stored internally.
void setEcalRegressionSmear(double val)
double sigmaIphiIphi() const
sigmaIPhiPhi
void embedPflowSuperCluster()
method to store the electron's PflowSuperCluster internally
Analysis-level electron class.
std::vector< IdPair > electronIDs_
Electron IDs.
void setEcalSmear(double val)
bool passConversionVeto() const
vertex fit combined with missing number of hits method
math::XYZTLorentzVector LorentzVector
Lorentz vector.
reco::PFCandidateRef pfCandidateRef_
reference to the IsolatedPFCandidate this has been built from; null if this has been built from a sta...
bool embeddedSuperCluster_
True if electron's supercluster is stored internally.
bool isElectronIDAvailable(const std::string &name) const
Returns true if a specific ID is available in this pat::Electron.
void setEcalTrackRegressionScale(double val)
double ecalRegressionScale_
std::vector< reco::CaloCluster > pflowPreshowerClusters_
Place to store electron's pflow preshower clusters internally.
size_t numberOfSourceCandidatePtrs() const
get the number of non-null PFCandidates
std::pair< std::string, float > IdPair
bool cachedDB_
True if impact parameter has been cached.
const std::vector< reco::CaloCluster > & preshowerClusters() const
std::vector< double > ip_
Impact parameter at the primary vertex,.
LorentzVector ecalDrivenMomentum_
ECAL-driven momentum.
std::vector< bool > cachedIP_
True if the IP (former dB) has been cached.
bool embeddedPFCandidate_
true if the IsolatedPFCandidate is embedded
double ecalTrackRegressionScale_
reco::CandidatePtr sourceCandidatePtr(size_type i) const
get the source candidate pointer with index i
double ecalRegressionEnergy() const
double dB(IpType type=None) const
Impact parameter wrt primary vertex or beamspot.
void embedPflowPreshowerClusters()
method to store the electron's pflow preshower clusters
void setEcalRegressionEnergy(double val, double err)
set regression1
std::vector< double > eip_
Impact parameter uncertainty as recommended by the tracking group.
math::PtEtaPhiELorentzVectorF LorentzVector
std::vector< reco::SuperCluster > pflowSuperCluster_
Place to store electron's pflow supercluster internally.
float hcalIso() const
Overload of pat::Lepton::hcalIso(); returns the value of the summed Et of all caloTowers in the hcal ...
std::vector< reco::CaloCluster > seedCluster_
Place to store electron's seed cluster internally.