4 #ifndef DataFormats_PatCandidates_Electron_h
5 #define DataFormats_PatCandidates_Electron_h
50 class PATElectronSlimmer;
56 typedef std::pair<std::string,float>
IdPair;
void setMvaVariables(double sigmaIetaIphi, double ip3d)
set missing mva input variables
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
uint8_t cachedIP_
True if the IP (former dB) has been cached.
void embedRecHits(const EcalRecHitCollection *rechits)
method to store the RecHits internally - can be called from the PATElectronProducer ...
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
bool isElectronIDAvailable(const std::string &name) const
Returns true if a specific ID is available in this pat::Electron.
bool isNonnull() const
Checks for non-null.
void setElectronIDs(const std::vector< IdPair > &ids)
Store multiple electron ID values, discarding existing ones. The first one in the list becomes the 'd...
double dB() const
the version without arguments returns PD2D, but with an absolute value (for backwards compatibility) ...
double ecalScale() const
get scale corrections /smearings
double ecalScale_
scale corrections and smearing applied or to be be applied. Initialized to -99999.
const LorentzVector & ecalDrivenMomentum() const
float caloIso() const
Overload of pat::Lepton::caloIso(); returns the sum of ecalIso() and hcalIso.
const std::vector< reco::CaloCluster > & basicClusters() const
void embedSuperCluster()
method to store the electron's SuperCluster internally
float hcalPFClusterIso() const
void setPFCandidateRef(const reco::PFCandidateRef &ref)
add a reference to the source IsolatedPFCandidate
void full5x5_setSigmaIetaIphi(float sigmaIetaIphi)
void embedGsfElectronCore()
method to store the electron's core internally
void setPassConversionVeto(bool flag)
float dr04TkSumPt() const
std::vector< reco::SuperCluster > superCluster_
Place to store electron's supercluster internally.
Slimmer of PAT Electrons.
void setHcalPFClusterIso(float hcalPFClus)
double ecalTrackRegressionSmear_
double ecalRegressionScale() const
std::vector< reco::Track > track_
Place to store electron's track internally.
void setEcalDrivenMomentum(const Candidate::LorentzVector &mom)
bool embeddedGsfElectronCore_
True if electron's gsfElectronCore is stored internally.
double ecalRegressionSmear() const
const EcalRecHitCollection * recHits() const
const std::vector< reco::CaloCluster > & pflowBasicClusters() const
float ecalPFClusterIso() const
get and set PFCluster Isolation
std::vector< reco::CaloCluster > pflowBasicClusters_
Place to store electron's pflow basic clusters internally.
void embedPflowSuperCluster()
method to store the electron's PflowSuperCluster internally
float electronID(const char *name) const
virtual reco::TrackRef track() const
reference to a Track
edm::RefProd< pat::PackedCandidateCollection > packedPFCandidates_
std::vector< reco::CaloCluster > basicClusters_
Place to store electron's basic clusters internally.
std::vector< uint16_t > associatedPackedFCandidateIndices_
reco::SuperClusterRef superCluster() const
override the reco::GsfElectron::superCluster method, to access the internal storage of the superclust...
void setDB(double dB, double edB, IPTYPE type)
Set impact parameter of a certain type and its uncertainty.
double ecalRegressionSmear_
void embedSeedCluster()
method to store the electron's seedcluster internally
edm::RefVector< ElectronCollection > ElectronRefVector
std::ostream & operator<<(std::ostream &, BeamSpot beam)
std::vector< reco::CaloCluster > preshowerClusters_
Place to store electron's preshower clusters internally.
reco::GsfTrackRef gsfTrack() const
override the reco::GsfElectron::gsfTrack method, to access the internal storage of the supercluster ...
std::vector< Electron > ElectronCollection
float dr04EcalRecHitSumEt() const
reco::PFCandidateRef pfCandidateRef() const
reference to the source PFCandidates; null if this has been built from a standard electron ...
reco::TrackRef closestCtfTrackRef() const
override the reco::GsfElectron::closestCtfTrackRef method, to access the internal storage of the trac...
bool embeddedRecHits_
True if RecHits stored internally.
double edB() const
the version without arguments returns PD2D, but with an absolute value (for backwards compatibility) ...
double ecalTrackRegressionError_
enum pat::Electron::IPTYPE IpType
void setEcalTrackRegressionSmear(double val)
Analysis-level lepton class.
bool passConversionVeto_
conversion veto
float electronID(const std::string &name) const
Returns a specific electron ID associated to the pat::Electron given its name.
bool embeddedSeedCluster_
True if seed cluster is stored internally.
edm::AtomicPtrCache< std::vector< reco::SuperCluster > > superClusterRelinked_
Place to temporarily store the electron's supercluster after relinking the seed to it...
const std::vector< reco::CaloCluster > & pflowPreshowerClusters() const
Abs< T >::type abs(const T &t)
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...
std::vector< reco::GsfElectronCore > gsfElectronCore_
Place to store electron's gsfElectronCore internally.
double ecalTrackRegressionEnergy() const
regression2
float eip_[IpTypeSize]
Impact parameter uncertainty as recommended by the tracking group.
reco::SuperClusterRef parentSuperCluster() const
override the reco::GsfElectron::pflowSuperCluster method, to access the internal storage of the pflow...
virtual reco::GsfElectronCoreRef core() const
override the virtual reco::GsfElectron::core method, so that the embedded core can be used by GsfElec...
void embedPflowBasicClusters()
method to store the electron's pflow basic clusters
void embedBasicClusters()
method to store the electron's basic clusters
float full5x5_sigmaIetaIphi() const
sigmaIEtaIPhi (from full 5x5 non-ZS clusters without fractions, a la 5.3.X)
double ecalTrackRegressionEnergy_
void embedGsfTrack()
method to store the electron's GsfTrack internally
float ecalPFClusIso_
PFCluster Isolation (a la HLT)
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)
float full5x5_sigmaIetaIphi_
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
reco::TrackRef track() const
returns nothing. Use either gsfTrack or closestCtfTrack
void setEcalRegressionScale(double val)
bool embeddedGsfTrack_
True if electron's gsfTrack is stored internally.
void setEcalPFClusterIso(float ecalPFClus)
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)
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...
float ip_[IpTypeSize]
Impact parameter at the primary vertex,.
bool embeddedSuperCluster_
True if electron's supercluster is stored internally.
void embedPreshowerClusters()
method to store the electron's preshower clusters
reco::CandidatePtr sourceCandidatePtr(size_type i) const
get the source candidate pointer with index i
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
float sigmaIetaIphi() const
reco::CaloClusterPtr seed() const
direct access to the seed cluster
const std::vector< reco::CaloCluster > & preshowerClusters() const
void setAssociatedPackedPFCandidates(const edm::RefProd< pat::PackedCandidateCollection > &refprod, T beginIndexItr, T endIndexItr)
References to PFCandidates linked to this object (e.g. for isolation vetos or masking before jet recl...
void initImpactParameters()
init impact parameter defaults (for use in a constructor)
LorentzVector ecalDrivenMomentum_
ECAL-driven momentum.
void embedPflowPreshowerClusters()
method to store the electron's pflow preshower clusters
Electron()
default constructor
bool embeddedPFCandidate_
true if the IsolatedPFCandidate is embedded
virtual ~Electron()
destructor
void embedTrack()
method to store the electron's Track internally
double ecalTrackRegressionScale_
double ecalRegressionEnergy() const
edm::RefVector< pat::PackedCandidateCollection > associatedPackedPFCandidates() const
References to PFCandidates linked to this object (e.g. for isolation vetos or masking before jet recl...
void setEcalRegressionEnergy(double val, double err)
set regression1
void embedPFCandidate()
embed the PFCandidate pointed to by pfCandidateRef_
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 ...
float sigmaIetaIphi_
additional missing mva variables : 14/04/2012
std::vector< reco::CaloCluster > seedCluster_
Place to store electron's seed cluster internally.