CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends
pat::Electron Class Reference

Analysis-level electron class. More...

#include "DataFormats/PatCandidates/interface/Electron.h"

Inheritance diagram for pat::Electron:
pat::Lepton< reco::GsfElectron > pat::PATObject< reco::GsfElectron > reco::GsfElectron reco::RecoCandidate reco::LeafCandidate reco::Candidate

Public Types

typedef std::pair< std::string,
float > 
IdPair
 
enum  IPTYPE {
  None = 0, PV2D = 1, PV3D = 2, BS2D = 3,
  BS3D = 4
}
 
typedef enum pat::Electron::IPTYPE IpType
 
- Public Types inherited from pat::PATObject< reco::GsfElectron >
typedef reco::GsfElectron base_type
 
- Public Types inherited from reco::GsfElectron
enum  Classification {
  UNKNOWN =-1, GOLDEN =0, BIGBREM =1, BADTRACK =2,
  SHOWERING =3, GAP =4
}
 
enum  P4Kind { P4_UNKNOWN =-1, P4_FROM_SUPER_CLUSTER =0, P4_COMBINATION =1, P4_PFLOW_COMBINATION =2 }
 
- Public Types inherited from reco::RecoCandidate
enum  TrackType { noTrackType, recoTrackType, gsfTrackType }
 track type More...
 
- Public Types inherited from reco::LeafCandidate
typedef int Charge
 electric charge type More...
 
typedef CandidateCollection daughters
 collection of daughter candidates More...
 
typedef unsigned int index
 
typedef math::XYZTLorentzVector LorentzVector
 Lorentz vector. More...
 
typedef math::XYZPoint Point
 point in the space More...
 
typedef
math::PtEtaPhiMLorentzVector 
PolarLorentzVector
 Lorentz vector. More...
 
typedef math::XYZVector Vector
 point in the space More...
 
- Public Types inherited from reco::Candidate
enum  { dimension = 3 }
 
enum  { size = dimension * (dimension + 1)/2 }
 matix size More...
 
typedef int Charge
 electric charge type More...
 
typedef candidate::const_iterator const_iterator
 
typedef math::Error< dimension >
::type 
CovarianceMatrix
 covariance error matrix (3x3) More...
 
typedef unsigned int index
 index type More...
 
typedef candidate::iterator iterator
 
typedef math::XYZTLorentzVector LorentzVector
 Lorentz vector. More...
 
typedef math::XYZPoint Point
 point in the space More...
 
typedef
math::PtEtaPhiMLorentzVector 
PolarLorentzVector
 Lorentz vector. More...
 
typedef size_t size_type
 
typedef math::XYZVector Vector
 point in the space More...
 

Public Member Functions

edm::RefVector
< pat::PackedCandidateCollection
associatedPackedPFCandidates () const
 References to PFCandidates linked to this object (e.g. for isolation vetos or masking before jet reclustering) More...
 
const std::vector
< reco::CaloCluster > & 
basicClusters () const
 
float caloIso () const
 Overload of pat::Lepton::caloIso(); returns the sum of ecalIso() and hcalIso. More...
 
virtual Electronclone () const
 required reimplementation of the Candidate's clone method More...
 
reco::TrackRef closestCtfTrackRef () const
 override the reco::GsfElectron::closestCtfTrackRef method, to access the internal storage of the track More...
 
virtual reco::GsfElectronCoreRef core () const
 override the virtual reco::GsfElectron::core method, so that the embedded core can be used by GsfElectron client methods More...
 
double dB (IpType type=None) const
 Impact parameter wrt primary vertex or beamspot. More...
 
const LorentzVectorecalDrivenMomentum () const
 
float ecalIso () const
 Overload of pat::Lepton::ecalIso(); returns the value of the summed Et of all recHits in the ecal in a cone of deltaR<0.4. More...
 
double ecalRegressionEnergy () const
 
double ecalRegressionError () const
 
double ecalRegressionScale () const
 
double ecalRegressionSmear () const
 
double ecalScale () const
 get scale corrections /smearings More...
 
double ecalSmear () const
 
double ecalTrackRegressionEnergy () const
 regression2 More...
 
double ecalTrackRegressionError () const
 
double ecalTrackRegressionScale () const
 
double ecalTrackRegressionSmear () const
 
double edB (IpType type=None) const
 Uncertainty on the corresponding impact parameter. More...
 
 Electron ()
 default constructor More...
 
 Electron (const reco::GsfElectron &anElectron)
 constructor from reco::GsfElectron More...
 
 Electron (const edm::RefToBase< reco::GsfElectron > &anElectronRef)
 constructor from a RefToBase to a reco::GsfElectron (to be superseded by Ptr counterpart) More...
 
 Electron (const edm::Ptr< reco::GsfElectron > &anElectronRef)
 constructor from a Ptr to a reco::GsfElectron More...
 
float electronID (const std::string &name) const
 Returns a specific electron ID associated to the pat::Electron given its name. More...
 
float electronID (const char *name) 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 list. More...
 
void embedBasicClusters ()
 method to store the electron's basic clusters More...
 
void embedGsfElectronCore ()
 method to store the electron's core internally More...
 
void embedGsfTrack ()
 method to store the electron's GsfTrack internally More...
 
void embedPFCandidate ()
 embed the PFCandidate pointed to by pfCandidateRef_ More...
 
void embedPflowBasicClusters ()
 method to store the electron's pflow basic clusters More...
 
void embedPflowPreshowerClusters ()
 method to store the electron's pflow preshower clusters More...
 
void embedPflowSuperCluster ()
 method to store the electron's PflowSuperCluster internally More...
 
void embedPreshowerClusters ()
 method to store the electron's preshower clusters More...
 
void embedRecHits (const EcalRecHitCollection *rechits)
 method to store the RecHits internally - can be called from the PATElectronProducer More...
 
void embedSeedCluster ()
 method to store the electron's seedcluster internally More...
 
void embedSuperCluster ()
 method to store the electron's SuperCluster internally More...
 
void embedTrack ()
 method to store the electron's Track internally More...
 
reco::GsfTrackRef gsfTrack () const
 override the reco::GsfElectron::gsfTrack method, to access the internal storage of the supercluster More...
 
float hcalIso () const
 Overload of pat::Lepton::hcalIso(); returns the value of the summed Et of all caloTowers in the hcal in a cone of deltaR<0.4. More...
 
double ip3d () const
 ip3d More...
 
bool isElectronIDAvailable (const std::string &name) const
 Returns true if a specific ID is available in this pat::Electron. More...
 
bool isElectronIDAvailable (const char *name) const
 
bool isPF () const
 
size_t numberOfSourceCandidatePtrs () const
 get the number of non-null PFCandidates More...
 
reco::SuperClusterRef parentSuperCluster () const
 override the reco::GsfElectron::pflowSuperCluster method, to access the internal storage of the pflowSuperCluster More...
 
bool passConversionVeto () const
 vertex fit combined with missing number of hits method More...
 
reco::PFCandidateRef pfCandidateRef () const
 reference to the source PFCandidates; null if this has been built from a standard electron More...
 
const std::vector
< reco::CaloCluster > & 
pflowBasicClusters () const
 
const std::vector
< reco::CaloCluster > & 
pflowPreshowerClusters () const
 
const std::vector
< reco::CaloCluster > & 
preshowerClusters () const
 
double r9 () const
 
const EcalRecHitCollectionrecHits () const
 
reco::CaloClusterPtr seed () const
 direct access to the seed cluster More...
 
void setAssociatedPackedPFCandidates (const edm::RefVector< pat::PackedCandidateCollection > &refvector)
 References to PFCandidates linked to this object (e.g. for isolation vetos or masking before jet reclustering) More...
 
void setDB (double dB, double edB, IpType type=None)
 Set impact parameter of a certain type and its uncertainty. More...
 
void setEcalDrivenMomentum (const Candidate::LorentzVector &mom)
 
void setEcalRegressionEnergy (double val, double err)
 set regression1 More...
 
void setEcalRegressionScale (double val)
 
void setEcalRegressionSmear (double val)
 
void setEcalScale (double val)
 set scale corrections / smearings More...
 
void setEcalSmear (double val)
 
void setEcalTrackRegressionEnergy (double val, double err)
 set regression2 More...
 
void setEcalTrackRegressionScale (double val)
 
void setEcalTrackRegressionSmear (double val)
 
void setElectronIDs (const std::vector< IdPair > &ids)
 Store multiple electron ID values, discarding existing ones. The first one in the list becomes the 'default' electron id. More...
 
void setIsPF (bool hasPFCandidate)
 
void setMvaVariables (double r9, double sigmaIphiIphi, double sigmaIetaIphi, double ip3d)
 set missing mva input variables More...
 
void setPackedPFCandidateCollection (const edm::RefProd< pat::PackedCandidateCollection > &refprod)
 References to PFCandidates (e.g. to recompute isolation) More...
 
void setPassConversionVeto (bool flag)
 
void setPFCandidateRef (const reco::PFCandidateRef &ref)
 add a reference to the source IsolatedPFCandidate More...
 
double sigmaIetaIphi () const
 sigmaIEtaIPhi More...
 
double sigmaIphiIphi () const
 sigmaIPhiPhi More...
 
reco::CandidatePtr sourceCandidatePtr (size_type i) const
 get the source candidate pointer with index i More...
 
reco::SuperClusterRef superCluster () const
 override the reco::GsfElectron::superCluster method, to access the internal storage of the supercluster More...
 
reco::TrackRef track () const
 returns nothing. Use either gsfTrack or closestCtfTrack More...
 
float trackIso () const
 Overload of pat::Lepton::trackIso(); returns the value of the summed track pt in a cone of deltaR<0.4. More...
 
virtual ~Electron ()
 destructor More...
 
- Public Member Functions inherited from pat::Lepton< reco::GsfElectron >
float caloIso () const
 
float chargedHadronIso () const
 
float ecalIso () const
 
const IsoDepositecalIsoDeposit () const
 
void ecalIsoDeposit (const IsoDeposit &dep)
 
const reco::GenParticlegenLepton () const
 
float hcalIso () const
 
const IsoDeposithcalIsoDeposit () const
 
void hcalIsoDeposit (const IsoDeposit &dep)
 
const IsoDepositisoDeposit (IsolationKeys key) const
 Returns the IsoDeposit associated with some key, or a null pointer if it is not available. More...
 
 Lepton ()
 
 Lepton (const reco::GsfElectron &aLepton)
 
 Lepton (const edm::RefToBase< reco::GsfElectron > &aLeptonRef)
 
 Lepton (const edm::Ptr< reco::GsfElectron > &aLeptonRef)
 
float neutralHadronIso () const
 
float particleIso () const
 
float photonIso () const
 
float puChargedHadronIso () const
 
void setEcalIso (float caloIso)
 Sets ecal isolation variable. More...
 
void setGenLepton (const reco::GenParticleRef &gl, bool embed=false)
 
void setHcalIso (float caloIso)
 Sets hcal isolation variable. More...
 
void setIsoDeposit (IsolationKeys key, const IsoDeposit &dep)
 Sets the IsoDeposit associated with some key; if it is already existent, it is overwritten. More...
 
void setIsolation (IsolationKeys key, float value)
 
void setTrackIso (float trackIso)
 Sets tracker isolation variable. More...
 
void setUserIso (float value, uint8_t index=0)
 Sets user isolation variable index. More...
 
float trackIso () const
 
const IsoDeposittrackIsoDeposit () const
 
void trackIsoDeposit (const IsoDeposit &dep)
 
float userIso (uint8_t index=0) const
 
const IsoDeposituserIsoDeposit (uint8_t index=0) const
 
void userIsoDeposit (const IsoDeposit &dep, uint8_t index=0)
 
float userIsolation (IsolationKeys key) const
 
float userIsolation (const std::string &key) const
 
virtual ~Lepton ()
 
- Public Member Functions inherited from pat::PATObject< reco::GsfElectron >
void addGenParticleRef (const reco::GenParticleRef &ref)
 
void addTriggerObjectMatch (const TriggerObjectStandAlone &trigObj)
 add a trigger match More...
 
void addUserCand (const std::string &label, const reco::CandidatePtr &data)
 Set user-defined int. More...
 
void addUserData (const std::string &label, const T &data, bool transientOnly=false)
 
void addUserDataFromPtr (const std::string &label, const edm::Ptr< pat::UserData > &data)
 
void addUserFloat (const std::string &label, float data)
 Set user-defined float. More...
 
void addUserInt (const std::string &label, int32_t data)
 Set user-defined int. More...
 
std::vector< std::pair
< std::string,
pat::LookupTableRecord > > 
efficiencies () const
 Returns the efficiencies as <name,value> pairs (by value) More...
 
const pat::LookupTableRecordefficiency (const std::string &name) const
 Returns an efficiency given its name. More...
 
const std::vector< std::string > & efficiencyNames () const
 Returns the list of the names of the stored efficiencies. More...
 
const std::vector
< pat::LookupTableRecord > & 
efficiencyValues () const
 Returns the list of the values of the stored efficiencies (the ordering is the same as in efficiencyNames()) More...
 
void embedGenParticle ()
 
const reco::GenParticlegenParticle (size_t idx=0) const
 
reco::GenParticleRef genParticleById (int pdgId, int status, uint8_t autoCharge=0) const
 
reco::GenParticleRef genParticleRef (size_t idx=0) const
 
std::vector< reco::GenParticleRefgenParticleRefs () const
 
size_t genParticlesSize () const
 Number of generator level particles stored as ref or embedded. More...
 
const pat::CandKinResolutiongetKinResolution (const std::string &label="") const
 
bool hasKinResolution (const std::string &label="") const
 Check if the kinematic resolutions are stored into this object (possibly specifying a label for them) More...
 
bool hasOverlaps (const std::string &label) const
 Returns true if there was at least one overlap for this test label. More...
 
bool hasUserCand (const std::string &key) const
 Return true if there is a user-defined int with a given name. More...
 
bool hasUserData (const std::string &key) const
 Check if user data with a specific type is present. More...
 
bool hasUserFloat (const std::string &key) const
 Return true if there is a user-defined float with a given name. More...
 
bool hasUserFloat (const char *key) const
 a CINT-friendly interface More...
 
bool hasUserInt (const std::string &key) const
 Return true if there is a user-defined int with a given name. More...
 
const reco::CandidateoriginalObject () const
 access to the original object; returns zero for null Ref and throws for unavailable collection More...
 
const edm::Ptr< reco::Candidate > & originalObjectRef () const
 reference to original object. Returns a null reference if not available More...
 
const std::vector< std::string > & overlapLabels () const
 Returns the labels of the overlap tests that found at least one overlap. More...
 
const reco::CandidatePtrVectoroverlaps (const std::string &label) const
 
 PATObject ()
 default constructor More...
 
 PATObject (const reco::GsfElectron &obj)
 constructor from a base object (leaves invalid reference to original object!) More...
 
 PATObject (const edm::RefToBase< reco::GsfElectron > &ref)
 constructor from reference More...
 
 PATObject (const edm::Ptr< reco::GsfElectron > &ref)
 constructor from reference More...
 
double resolE (const std::string &label="") const
 Resolution on energy, possibly with a label to specify which resolution to use. More...
 
double resolEt (const std::string &label="") const
 Resolution on et, possibly with a label to specify which resolution to use. More...
 
double resolEta (const std::string &label="") const
 Resolution on eta, possibly with a label to specify which resolution to use. More...
 
double resolM (const std::string &label="") const
 
double resolP (const std::string &label="") const
 Resolution on p, possibly with a label to specify which resolution to use. More...
 
double resolPhi (const std::string &label="") const
 Resolution on phi, possibly with a label to specify which resolution to use. More...
 
double resolPInv (const std::string &label="") const
 Resolution on 1/p, possibly with a label to specify which resolution to use. More...
 
double resolPt (const std::string &label="") const
 Resolution on pt, possibly with a label to specify which resolution to use. More...
 
double resolPx (const std::string &label="") const
 Resolution on px, possibly with a label to specify which resolution to use. More...
 
double resolPy (const std::string &label="") const
 Resolution on py, possibly with a label to specify which resolution to use. More...
 
double resolPz (const std::string &label="") const
 Resolution on pz, possibly with a label to specify which resolution to use. More...
 
double resolTheta (const std::string &label="") const
 Resolution on theta, possibly with a label to specify which resolution to use. More...
 
void setEfficiency (const std::string &name, const pat::LookupTableRecord &value)
 
void setGenParticle (const reco::GenParticle &particle)
 Set the generator level particle from a particle not in the Event (embedding it, of course) More...
 
void setGenParticleRef (const reco::GenParticleRef &ref, bool embed=false)
 Set the generator level particle reference. More...
 
void setKinResolution (const pat::CandKinResolution &resol, const std::string &label="")
 Add a kinematic resolution to this object (possibly with a label) More...
 
void setOverlaps (const std::string &label, const reco::CandidatePtrVector &overlaps)
 
const TriggerObjectStandAlonetriggerObjectMatch (const size_t idx=0) const
 get one matched trigger object by index More...
 
const TriggerObjectStandAlonetriggerObjectMatchByAlgorithm (const std::string &nameAlgorithm, const bool algoCondAccepted=true, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByAlgorithm (const char *nameAlgorithm, const bool algoCondAccepted=true, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByAlgorithm (const std::string &nameAlgorithm, const unsigned algoCondAccepted, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByAlgorithm (const char *nameAlgorithm, const unsigned algoCondAccepted, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByCollection (const std::string &coll, const size_t idx=0) const
 get one matched trigger object from a certain collection by index More...
 
const TriggerObjectStandAlonetriggerObjectMatchByCollection (const char *coll, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByCondition (const std::string &nameCondition, const size_t idx=0) const
 get one matched L1 object used in a succeeding object combination of a certain L1 condition by index More...
 
const TriggerObjectStandAlonetriggerObjectMatchByCondition (const char *nameCondition, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByFilter (const std::string &labelFilter, const size_t idx=0) const
 get one matched HLT object used in a certain HLT filter by index More...
 
const TriggerObjectStandAlonetriggerObjectMatchByFilter (const char *labelFilter, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByFilterID (const unsigned triggerObjectType, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByPath (const std::string &namePath, const bool pathLastFilterAccepted=false, const bool pathL3FilterAccepted=true, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByPath (const char *namePath, const bool pathLastFilterAccepted=false, const bool pathL3FilterAccepted=true, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByPath (const std::string &namePath, const unsigned pathLastFilterAccepted, const unsigned pathL3FilterAccepted=1, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByPath (const char *namePath, const unsigned pathLastFilterAccepted, const unsigned pathL3FilterAccepted=1, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByType (const trigger::TriggerObjectType triggerObjectType, const size_t idx=0) const
 get one matched trigger object of a certain type by index More...
 
const TriggerObjectStandAlonetriggerObjectMatchByType (const unsigned triggerObjectType, const size_t idx=0) const
 
const
TriggerObjectStandAloneCollection
triggerObjectMatches () const
 get all matched trigger objects More...
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByAlgorithm (const std::string &nameAlgorithm, const bool algoCondAccepted=true) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByAlgorithm (const char *nameAlgorithm, const bool algoCondAccepted=true) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByAlgorithm (const std::string &nameAlgorithm, const unsigned algoCondAccepted) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByAlgorithm (const char *nameAlgorithm, const unsigned algoCondAccepted) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByCollection (const std::string &coll) const
 get all matched trigger objects from a certain collection More...
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByCollection (const char *coll) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByCondition (const std::string &nameCondition) const
 get all matched L1 objects used in a succeeding object combination of a certain L1 condition More...
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByCondition (const char *nameCondition) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByFilter (const std::string &labelFilter) const
 get all matched HLT objects used in a certain HLT filter More...
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByFilter (const char *labelFilter) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByFilterID (const unsigned triggerObjectType) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByPath (const std::string &namePath, const bool pathLastFilterAccepted=false, const bool pathL3FilterAccepted=true) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByPath (const char *namePath, const bool pathLastFilterAccepted=false, const bool pathL3FilterAccepted=true) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByPath (const std::string &namePath, const unsigned pathLastFilterAccepted, const unsigned pathL3FilterAccepted=1) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByPath (const char *namePath, const unsigned pathLastFilterAccepted, const unsigned pathL3FilterAccepted=1) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByType (const trigger::TriggerObjectType triggerObjectType) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByType (const unsigned triggerObjectType) const
 
void unpackTriggerObjectPathNames (const edm::TriggerNames &names)
 unpack path names of matched trigger objects (if they were packed before embedding, which is not normally the case) More...
 
reco::CandidatePtr userCand (const std::string &key) const
 
const std::vector< std::string > & userCandNames () const
 Get list of user-defined cand names. More...
 
const TuserData (const std::string &key) const
 Returns user-defined data. Returns NULL if the data is not present, or not of type T. More...
 
const void * userDataBare (const std::string &key) const
 
const std::vector< std::string > & userDataNames () const
 Get list of user data object names. More...
 
const std::string & userDataObjectType (const std::string &key) const
 Get human-readable type of user data object, for debugging. More...
 
float userFloat (const std::string &key) const
 
float userFloat (const char *key) const
 a CINT-friendly interface More...
 
const std::vector< std::string > & userFloatNames () const
 Get list of user-defined float names. More...
 
int32_t userInt (const std::string &key) const
 
const std::vector< std::string > & userIntNames () const
 Get list of user-defined int names. More...
 
virtual ~PATObject ()
 destructor More...
 
- Public Member Functions inherited from reco::GsfElectron
void addAmbiguousGsfTrack (const reco::GsfTrackRef &t)
 
bool ambiguous () const
 
GsfTrackRefVector::const_iterator ambiguousGsfTracksBegin () const
 
GsfTrackRefVector::const_iterator ambiguousGsfTracksEnd () const
 
GsfTrackRefVector::size_type ambiguousGsfTracksSize () const
 
CaloCluster_iterator basicClustersBegin () const
 
CaloCluster_iterator basicClustersEnd () const
 
int basicClustersSize () const
 
float caloEnergy () const
 
math::XYZPoint caloPosition () const
 
P4Kind candidateP4Kind () const
 
const ChargeInfochargeInfo () const
 
Classification classification () const
 
const ClassificationVariablesclassificationVariables () const
 
void clearAmbiguousGsfTracks ()
 
GsfElectronclone (const GsfElectronCoreRef &core, const CaloClusterPtr &electronCluster, const TrackRef &closestCtfTrack, const TrackBaseRef &conversionPartner, const GsfTrackRefVector &ambiguousTracks) const
 
ClosestCtfTrack closestCtfTrack () const
 
TrackRef closestCtfTrackRef () const
 
virtual TrackRef closestTrack () const
 
float convDcot () const
 
float convDist () const
 
const ConversionRejectionconversionRejectionVariables () const
 
int convFlags () const
 
TrackBaseRef convPartner () const
 
float convRadius () const
 
void correctEcalEnergy (float newEnergy, float newEnergyError)
 
float correctedEcalEnergy () const
 
float correctedEcalEnergyError () const
 
const Correctionscorrections () const
 
void correctMomentum (const LorentzVector &p4, float trackMomentumError, float p4Error)
 
float ctfGsfOverlap () const
 
float deltaEtaEleClusterTrackAtCalo () const
 
float deltaEtaSeedClusterTrackAtCalo () const
 
float deltaEtaSuperClusterTrackAtVtx () const
 
float deltaPhiEleClusterTrackAtCalo () const
 
float deltaPhiSeedClusterTrackAtCalo () const
 
float deltaPhiSuperClusterTrackAtVtx () const
 
float dr03EcalRecHitSumEt () const
 
float dr03HcalDepth1TowerSumEt () const
 
float dr03HcalDepth1TowerSumEtBc () const
 
float dr03HcalDepth2TowerSumEt () const
 
float dr03HcalDepth2TowerSumEtBc () const
 
float dr03HcalTowerSumEt () const
 
float dr03HcalTowerSumEtBc () const
 
const IsolationVariablesdr03IsolationVariables () const
 
float dr03TkSumPt () const
 
float dr04EcalRecHitSumEt () const
 
float dr04HcalDepth1TowerSumEt () const
 
float dr04HcalDepth1TowerSumEtBc () const
 
float dr04HcalDepth2TowerSumEt () const
 
float dr04HcalDepth2TowerSumEtBc () const
 
float dr04HcalTowerSumEt () const
 
float dr04HcalTowerSumEtBc () const
 
const IsolationVariablesdr04IsolationVariables () const
 
float dr04TkSumPt () const
 
float e1x5 () const
 
float e2x5Max () const
 
float e5x5 () const
 
bool ecalDriven () const
 
bool ecalDrivenSeed () const
 
float ecalEnergy () const
 
float ecalEnergyError () const
 
float eEleClusterOverPout () const
 
CaloClusterPtr electronCluster () const
 
float eSeedClusterOverP () const
 
float eSeedClusterOverPout () const
 
float eSuperClusterOverP () const
 
float fbrem () const
 
const FiducialFlagsfiducialFlags () const
 
 GsfElectron ()
 
 GsfElectron (const GsfElectronCoreRef &)
 
 GsfElectron (const GsfElectron &, const GsfElectronCoreRef &)
 
 GsfElectron (const GsfElectron &electron, const GsfElectronCoreRef &core, const CaloClusterPtr &electronCluster, const TrackRef &closestCtfTrack, const TrackBaseRef &conversionPartner, const GsfTrackRefVector &ambiguousTracks)
 
 GsfElectron (int charge, const ChargeInfo &, const GsfElectronCoreRef &, const TrackClusterMatching &, const TrackExtrapolations &, const ClosestCtfTrack &, const FiducialFlags &, const ShowerShape &, const ConversionRejection &)
 
float hadronicOverEm () const
 
float hadronicOverEm1 () const
 
float hadronicOverEm2 () const
 
float hcalDepth1OverEcal () const
 
float hcalDepth1OverEcalBc () const
 
float hcalDepth2OverEcal () const
 
float hcalDepth2OverEcalBc () const
 
float hcalOverEcal () const
 
float hcalOverEcalBc () const
 
const std::vector
< CaloTowerDetId > & 
hcalTowersBehindClusters () const
 
bool isEB () const
 
bool isEBEEGap () const
 
bool isEBEtaGap () const
 
bool isEBGap () const
 
bool isEBPhiGap () const
 
bool isEcalEnergyCorrected () const
 
bool isEE () const
 
bool isEEDeeGap () const
 
bool isEEGap () const
 
bool isEERingGap () const
 
virtual bool isElectron () const
 
bool isEnergyScaleCorrected () const
 
bool isGap () const
 
bool isGsfCtfChargeConsistent () const
 
bool isGsfCtfScPixChargeConsistent () const
 
bool isGsfScPixChargeConsistent () const
 
const IsolationVariablesisolationVariables03 () const
 
const IsolationVariablesisolationVariables04 () const
 
float mva () const
 
const MvaInputmvaInput () const
 
const MvaOutputmvaOutput () const
 
int numberOfBrems () const
 
virtual bool overlap (const Candidate &) const
 check overlap with another candidate More...
 
const LorentzVectorp4 (P4Kind kind) const
 
float p4Error (P4Kind kind) const
 
SuperClusterRef parentSuperCluster () const
 
bool passingCutBasedPreselection () const
 
bool passingMvaPreselection () const
 
bool passingPflowPreselection () const
 
const PflowIsolationVariablespfIsolationVariables () const
 
const ShowerShapepfShowerShape () const
 
float pfSuperClusterFbrem () const
 
float r9 () const
 
float scE1x5 () const
 
float scE2x5Max () const
 
float scE5x5 () const
 
int scPixCharge () const
 
float scSigmaEtaEta () const
 
float scSigmaIEtaIEta () const
 
void setAmbiguous (bool flag)
 
void setClassification (Classification myclass)
 
void setClassificationVariables (const ClassificationVariables &cv)
 
void setCorrectedEcalEnergy (float newEnergy)
 
void setCorrectedEcalEnergyError (float newEnergyError)
 
void setCorrections (const Corrections &c)
 
void setDeltaEtaSuperClusterAtVtx (float de)
 
void setDeltaPhiSuperClusterAtVtx (float dphi)
 
void setDr03Isolation (const IsolationVariables &dr03)
 
void setDr04Isolation (const IsolationVariables &dr04)
 
void setEcalEnergyError (float energyError)
 
void setIsolation03 (const IsolationVariables &dr03)
 
void setIsolation04 (const IsolationVariables &dr04)
 
void setMvaInput (const MvaInput &mi)
 
void setMvaOutput (const MvaOutput &mo)
 
void setP4 (P4Kind kind, const LorentzVector &p4, float p4Error, bool setCandidate)
 
void setPassCutBasedPreselection (bool flag)
 
void setPassMvaPreselection (bool flag)
 
void setPassPflowPreselection (bool flag)
 
void setPfIsolationVariables (const PflowIsolationVariables &iso)
 
void setPfShowerShape (const ShowerShape &shape)
 
void setPfSuperClusterFbrem (float fbrem)
 
void setShowerShape (const ShowerShape &s)
 
void setSuperClusterFbrem (float fbrem)
 
void setTrackExtrapolations (const TrackExtrapolations &te)
 
void setTrackFbrem (float fbrem)
 
void setTrackMomentumError (float trackMomentumError)
 
float shFracInnerHits () const
 
const ShowerShapeshowerShape () const
 
float sigmaEtaEta () const
 
float sigmaIetaIeta () const
 
float sigmaIphiIphi () const
 
float superClusterFbrem () const
 
math::XYZPoint superClusterPosition () const
 
const TrackClusterMatchingtrackClusterMatching () const
 
bool trackerDrivenSeed () const
 
const TrackExtrapolationstrackExtrapolations () const
 
float trackFbrem () const
 
math::XYZVectorF trackMomentumAtCalo () const
 
math::XYZVectorF trackMomentumAtEleClus () const
 
math::XYZVectorF trackMomentumAtVtx () const
 
math::XYZVectorF trackMomentumAtVtxWithConstraint () const
 
float trackMomentumError () const
 
math::XYZVectorF trackMomentumOut () const
 
math::XYZPointF trackPositionAtCalo () const
 
math::XYZPointF TrackPositionAtCalo () const
 
math::XYZPointF trackPositionAtVtx () const
 
math::XYZPointF TrackPositionAtVtx () const
 
virtual ~GsfElectron ()
 
- Public Member Functions inherited from reco::RecoCandidate
virtual const TrackbestTrack () const
 best track pointer More...
 
virtual TrackBaseRef bestTrackRef () const
 best track RefToBase More...
 
virtual TrackType bestTrackType () const
 track type More...
 
virtual CaloTowerRef caloTower () const
 reference to a CaloTower More...
 
virtual reco::TrackRef combinedMuon () const
 reference to a stand-alone muon Track More...
 
virtual size_t numberOfTracks () const
 number of multiple Tracks More...
 
 RecoCandidate ()
 default constructor More...
 
template<typename P4 >
 RecoCandidate (Charge q, const P4 &p4, const Point &vtx=Point(0, 0, 0), int pdgId=0, int status=0)
 constructor from values More...
 
virtual reco::TrackRef standAloneMuon () const
 reference to a stand-alone muon Track More...
 
virtual reco::TrackRef track (size_t) const
 reference to one of multiple Tracks More...
 
virtual ~RecoCandidate ()
 destructor More...
 
- Public Member Functions inherited from reco::LeafCandidate
virtual const_iterator begin () const
 first daughter const_iterator More...
 
virtual iterator begin ()
 first daughter iterator More...
 
template<typename S >
daughter_iterator< S >::type beginFilter (const S &s) const
 
virtual Vector boostToCM () const GCC11_FINAL
 
virtual int charge () const GCC11_FINAL
 electric charge More...
 
virtual const Candidatedaughter (size_type) const
 return daughter at a given position (throws an exception) More...
 
virtual Candidatedaughter (size_type)
 return daughter at a given position (throws an exception) More...
 
virtual Candidatedaughter (const std::string &s)
 return daughter with a specified role name More...
 
virtual const Candidatedaughter (const std::string &s) const
 return daughter with a specified role name More...
 
virtual const_iterator end () const
 last daughter const_iterator More...
 
virtual iterator end ()
 last daughter iterator More...
 
template<typename S >
daughter_iterator< S >::type endFilter (const S &s) const
 
virtual double energy () const GCC11_FINAL
 energy More...
 
virtual double et () const GCC11_FINAL
 transverse energy More...
 
virtual float eta () const GCC11_FINAL
 momentum pseudorapidity More...
 
virtual void fillVertexCovariance (CovarianceMatrix &v) const
 fill SMatrix More...
 
template<typename T >
T get () const
 get a component More...
 
template<typename T , typename Tag >
T get () const
 get a component More...
 
template<typename T >
T get (size_type i) const
 get a component More...
 
template<typename T , typename Tag >
T get (size_type i) const
 get a component More...
 
virtual bool hasMasterClone () const
 
virtual bool hasMasterClonePtr () const
 
virtual bool isCaloMuon () const
 
virtual bool isConvertedPhoton () const
 
virtual bool isGlobalMuon () const
 
virtual bool isJet () const
 
virtual bool isMuon () const
 
virtual bool isPhoton () const
 
virtual bool isStandAloneMuon () const
 
virtual bool isTrackerMuon () const
 
 LeafCandidate ()
 default constructor More...
 
 LeafCandidate (const Candidate &c)
 
template<typename P4 >
 LeafCandidate (Charge q, const P4 &p4, const Point &vtx=Point(0, 0, 0), int pdgId=0, int status=0, bool integerCharge=true)
 constructor from Any values More...
 
 LeafCandidate (Charge q, const PtEtaPhiMass &p4, const Point &vtx=Point(0, 0, 0), int pdgId=0, int status=0, bool integerCharge=true)
 constructor from values More...
 
 LeafCandidate (Charge q, const LorentzVector &p4, const Point &vtx=Point(0, 0, 0), int pdgId=0, int status=0, bool integerCharge=true)
 constructor from values More...
 
 LeafCandidate (Charge q, const PolarLorentzVector &p4, const Point &vtx=Point(0, 0, 0), int pdgId=0, int status=0, bool integerCharge=true)
 constructor from values More...
 
virtual bool longLived () const GCC11_FINAL
 is long lived? More...
 
virtual float mass () const GCC11_FINAL
 mass More...
 
virtual bool massConstraint () const GCC11_FINAL
 do mass constraint? More...
 
virtual float massSqr () const GCC11_FINAL
 mass squared More...
 
virtual const CandidateBaseRefmasterClone () const
 
virtual const CandidatePtrmasterClonePtr () const
 
template<typename Ref >
Ref masterRef () const
 cast master clone reference to a concrete type More...
 
virtual Vector momentum () const GCC11_FINAL
 spatial momentum vector More...
 
virtual const Candidatemother (size_type) const
 return mother at a given position (throws an exception) More...
 
virtual double mt () const GCC11_FINAL
 transverse mass More...
 
virtual double mtSqr () const GCC11_FINAL
 transverse mass squared More...
 
template<typename T >
size_type numberOf () const
 number of components More...
 
template<typename T , typename Tag >
size_type numberOf () const
 number of components More...
 
virtual size_t numberOfDaughters () const
 number of daughters More...
 
virtual size_t numberOfMothers () const
 number of mothers More...
 
virtual double p () const GCC11_FINAL
 magnitude of momentum vector More...
 
virtual const LorentzVectorp4 () const GCC11_FINAL
 four-momentum Lorentz vector More...
 
virtual int pdgId () const GCC11_FINAL
 PDG identifier. More...
 
virtual float phi () const GCC11_FINAL
 momentum azimuthal angle More...
 
virtual const PolarLorentzVectorpolarP4 () const GCC11_FINAL
 four-momentum Lorentz vector More...
 
virtual float pt () const GCC11_FINAL
 transverse momentum More...
 
virtual double px () const GCC11_FINAL
 x coordinate of momentum vector More...
 
virtual double py () const GCC11_FINAL
 y coordinate of momentum vector More...
 
virtual double pz () const GCC11_FINAL
 z coordinate of momentum vector More...
 
virtual double rapidity () const GCC11_FINAL
 rapidity More...
 
virtual void setCharge (Charge q) GCC11_FINAL
 set electric charge More...
 
virtual void setLongLived () GCC11_FINAL
 set long lived flag More...
 
virtual void setMass (double m) GCC11_FINAL
 set particle mass More...
 
virtual void setMassConstraint () GCC11_FINAL
 set mass constraint flag More...
 
virtual void setP4 (const LorentzVector &p4) GCC11_FINAL
 set 4-momentum More...
 
virtual void setP4 (const PolarLorentzVector &p4) GCC11_FINAL
 set 4-momentum More...
 
virtual void setPdgId (int pdgId) GCC11_FINAL
 
virtual void setPz (double pz) GCC11_FINAL
 
virtual void setStatus (int status) GCC11_FINAL
 set status word More...
 
virtual void setThreeCharge (Charge qx3) GCC11_FINAL
 set electric charge More...
 
virtual void setVertex (const Point &vertex)
 set vertex More...
 
virtual int status () const GCC11_FINAL
 status word More...
 
virtual double theta () const GCC11_FINAL
 momentum polar angle More...
 
virtual int threeCharge () const GCC11_FINAL
 electric charge More...
 
virtual const Pointvertex () const
 vertex position (overwritten by PF...) More...
 
virtual double vertexChi2 () const
 chi-squares More...
 
virtual double vertexCovariance (int i, int j) const
 (i, j)-th element of error matrix, i, j = 0, ... 2 More...
 
CovarianceMatrix vertexCovariance () const GCC11_FINAL
 return SMatrix More...
 
virtual double vertexNdof () const
 
virtual double vertexNormalizedChi2 () const
 chi-squared divided by n.d.o.f. More...
 
virtual double vx () const
 x coordinate of vertex position More...
 
virtual double vy () const
 y coordinate of vertex position More...
 
virtual double vz () const
 z coordinate of vertex position More...
 
virtual double y () const GCC11_FINAL
 rapidity More...
 
virtual ~LeafCandidate ()
 destructor More...
 
- Public Member Functions inherited from reco::Candidate
template<typename S >
daughter_iterator< S >::type beginFilter (const S &s) const
 
 Candidate ()
 default constructor More...
 
template<typename S >
daughter_iterator< S >::type endFilter (const S &s) const
 
template<typename T >
T get () const
 get a component More...
 
template<typename T , typename Tag >
T get () const
 get a component More...
 
template<typename T >
T get (size_type i) const
 get a component More...
 
template<typename T , typename Tag >
T get (size_type i) const
 get a component More...
 
template<typename Ref >
Ref masterRef () const
 cast master clone reference to a concrete type More...
 
template<typename T >
size_type numberOf () const
 number of components More...
 
template<typename T , typename Tag >
size_type numberOf () const
 number of components More...
 
virtual void setSourceCandidatePtr (const CandidatePtr &ptr)
 Set the ptr to the source Candidate. More...
 
virtual ~Candidate ()
 destructor More...
 

Protected Member Functions

void initImpactParameters ()
 init impact parameter defaults (for use in a constructor) More...
 
- Protected Member Functions inherited from reco::RecoCandidate
template<typename R >
bool checkOverlap (const R &r1, const R &r2) const
 check if two components overlap More...
 
- Protected Member Functions inherited from reco::LeafCandidate
void cacheCartesian () const
 set internal cache More...
 
void cachePolar () const
 set internal cache More...
 
void clearCache () const
 clear internal cache More...
 

Protected Attributes

std::vector< uint16_t > associatedPackedFCandidateIndices_
 
std::vector< reco::CaloClusterbasicClusters_
 Place to store electron's basic clusters internally. More...
 
bool cachedDB_
 True if impact parameter has been cached. More...
 
std::vector< bool > cachedIP_
 True if the IP (former dB) has been cached. More...
 
double dB_
 Impact parameter at the primary vertex. More...
 
LorentzVector ecalDrivenMomentum_
 ECAL-driven momentum. More...
 
double ecalRegressionEnergy_
 output of regression More...
 
double ecalRegressionError_
 
double ecalRegressionScale_
 
double ecalRegressionSmear_
 
double ecalScale_
 scale corrections and smearing applied or to be be applied. Initialized to -99999. More...
 
double ecalSmear_
 
double ecalTrackRegressionEnergy_
 
double ecalTrackRegressionError_
 
double ecalTrackRegressionScale_
 
double ecalTrackRegressionSmear_
 
double edB_
 Impact paramater uncertainty at the primary vertex. More...
 
std::vector< double > eip_
 Impact parameter uncertainty as recommended by the tracking group. More...
 
std::vector< IdPairelectronIDs_
 Electron IDs. More...
 
bool embeddedGsfElectronCore_
 True if electron's gsfElectronCore is stored internally. More...
 
bool embeddedGsfTrack_
 True if electron's gsfTrack is stored internally. More...
 
bool embeddedPFCandidate_
 true if the IsolatedPFCandidate is embedded More...
 
bool embeddedPflowSuperCluster_
 True if electron's pflowsupercluster is stored internally. More...
 
bool embeddedRecHits_
 True if RecHits stored internally. More...
 
bool embeddedSeedCluster_
 True if seed cluster is stored internally. More...
 
bool embeddedSuperCluster_
 True if electron's supercluster is stored internally. More...
 
bool embeddedTrack_
 True if electron's track is stored internally. More...
 
std::vector
< reco::GsfElectronCore
gsfElectronCore_
 Place to store electron's gsfElectronCore internally. More...
 
std::vector< reco::GsfTrackgsfTrack_
 Place to store electron's gsfTrack internally. More...
 
double ip3d_
 
std::vector< double > ip_
 Impact parameter at the primary vertex,. More...
 
bool isPF_
 
edm::RefProd
< pat::PackedCandidateCollection
packedPFCandidates_
 
bool passConversionVeto_
 conversion veto More...
 
reco::PFCandidateCollection pfCandidate_
 A copy of the source IsolatedPFCandidate is stored in this vector if embeddedPFCandidate_ if True. More...
 
reco::PFCandidateRef pfCandidateRef_
 reference to the IsolatedPFCandidate this has been built from; null if this has been built from a standard electron More...
 
std::vector< reco::CaloClusterpflowBasicClusters_
 Place to store electron's pflow basic clusters internally. More...
 
std::vector< reco::CaloClusterpflowPreshowerClusters_
 Place to store electron's pflow preshower clusters internally. More...
 
std::vector< reco::SuperClusterpflowSuperCluster_
 Place to store electron's pflow supercluster internally. More...
 
std::vector< reco::CaloClusterpreshowerClusters_
 Place to store electron's preshower clusters internally. More...
 
double r9_
 additional missing mva variables : 14/04/2012 More...
 
EcalRecHitCollection recHits_
 Place to store electron's RecHits internally (5x5 around seed+ all RecHits) More...
 
std::vector< reco::CaloClusterseedCluster_
 Place to store electron's seed cluster internally. More...
 
double sigmaIetaIphi_
 
double sigmaIphiIphi_
 
std::vector< reco::SuperClustersuperCluster_
 Place to store electron's supercluster internally. More...
 
edm::AtomicPtrCache
< std::vector
< reco::SuperCluster > > 
superClusterRelinked_
 Place to temporarily store the electron's supercluster after relinking the seed to it. More...
 
std::vector< reco::Tracktrack_
 Place to store electron's track internally. More...
 
- Protected Attributes inherited from pat::Lepton< reco::GsfElectron >
IsoDepositPairs isoDeposits_
 
std::vector< float > isolations_
 
- Protected Attributes inherited from pat::PATObject< reco::GsfElectron >
std::vector< std::string > efficiencyNames_
 vector of the efficiencies (names) More...
 
std::vector
< pat::LookupTableRecord
efficiencyValues_
 vector of the efficiencies (values) More...
 
std::vector< reco::GenParticlegenParticleEmbedded_
 vector to hold an embedded generator level particle More...
 
std::vector< reco::GenParticleRefgenParticleRef_
 Reference to a generator level particle. More...
 
std::vector< std::string > kinResolutionLabels_
 
std::vector
< pat::CandKinResolution
kinResolutions_
 Kinematic resolutions. More...
 
std::vector
< reco::CandidatePtrVector
overlapItems_
 Overlapping items (sorted by distance) More...
 
std::vector< std::string > overlapLabels_
 Overlapping test labels (only if there are any overlaps) More...
 
edm::Ptr< reco::CandidaterefToOrig_
 
TriggerObjectStandAloneCollection triggerObjectMatchesEmbedded_
 vector of trigger matches More...
 
std::vector< std::string > userCandLabels_
 
std::vector< reco::CandidatePtruserCands_
 
std::vector< std::string > userDataLabels_
 User data object. More...
 
pat::UserDataCollection userDataObjects_
 
std::vector< std::string > userFloatLabels_
 
std::vector< float > userFloats_
 
std::vector< std::string > userIntLabels_
 
std::vector< int32_t > userInts_
 
- Protected Attributes inherited from reco::LeafCandidate
bool cacheCartesianFixed_
 
bool cachePolarFixed_
 has cache been set? More...
 
float eta_
 
float mass_
 
LorentzVector p4Cartesian_
 internal cache for p4 More...
 
PolarLorentzVector p4Polar_
 internal cache for p4 More...
 
int pdgId_
 PDG identifier. More...
 
float phi_
 
float pt_
 four-momentum Lorentz vector More...
 
Charge qx3_
 electric charge More...
 
int status_
 status word More...
 
Point vertex_
 vertex position More...
 

Friends

class PATElectronSlimmer
 
std::ostream & reco::operator<< (std::ostream &out, const pat::Electron &obj)
 pipe operator (introduced to use pat::Electron with PFTopProjectors) More...
 

Additional Inherited Members

- Static Public Attributes inherited from reco::LeafCandidate
static const unsigned int longLivedTag = 65536
 long lived flag More...
 
static const unsigned int massConstraintTag = 131072
 do mass constraint flag More...
 
- Protected Types inherited from pat::Lepton< reco::GsfElectron >
typedef std::vector< std::pair
< IsolationKeys,
pat::IsoDeposit > > 
IsoDepositPairs
 

Detailed Description

Analysis-level electron class.

pat::Electron implements the analysis-level electron class within the 'pat' namespace.

Please post comments and questions to the Physics Tools hypernews: https://hypernews.cern.ch/HyperNews/CMS/get/physTools.html

Author
Steven Lowette, Giovanni Petrucciani, Frederic Ronga

Definition at line 52 of file Electron.h.

Member Typedef Documentation

typedef std::pair<std::string,float> pat::Electron::IdPair

Definition at line 56 of file Electron.h.

Member Enumeration Documentation

Enumerator
None 
PV2D 
PV3D 
BS2D 
BS3D 

Definition at line 178 of file Electron.h.

Constructor & Destructor Documentation

Electron::Electron ( )

default constructor

Definition at line 13 of file Electron.cc.

References initImpactParameters().

Referenced by clone().

13  :
16  embeddedGsfTrack_(false),
17  embeddedSuperCluster_(false),
19  embeddedTrack_(false),
20  embeddedSeedCluster_(false),
21  embeddedRecHits_(false),
22  embeddedPFCandidate_(false),
24  cachedDB_(false),
25  dB_(0.0),
26  edB_(0.0),
31  ecalScale_(-99999.),
32  ecalSmear_(-99999.),
33  ecalRegressionScale_(-99999.),
34  ecalRegressionSmear_(-99999.),
39 {
41 }
bool embeddedTrack_
True if electron&#39;s track is stored internally.
Definition: Electron.h:279
double ecalRegressionEnergy_
output of regression
Definition: Electron.h:323
double ecalScale_
scale corrections and smearing applied or to be be applied. Initialized to -99999.
Definition: Electron.h:329
double ecalTrackRegressionSmear_
Definition: Electron.h:336
double dB_
Impact parameter at the primary vertex.
Definition: Electron.h:312
bool embeddedGsfElectronCore_
True if electron&#39;s gsfElectronCore is stored internally.
Definition: Electron.h:253
edm::RefProd< pat::PackedCandidateCollection > packedPFCandidates_
Definition: Electron.h:351
std::vector< uint16_t > associatedPackedFCandidateIndices_
Definition: Electron.h:352
double ecalRegressionSmear_
Definition: Electron.h:333
bool embeddedRecHits_
True if RecHits stored internally.
Definition: Electron.h:287
double ecalTrackRegressionError_
Definition: Electron.h:326
bool embeddedSeedCluster_
True if seed cluster is stored internally.
Definition: Electron.h:283
void initImpactParameters()
init impact parameter defaults (for use in a constructor)
Definition: Electron.cc:123
double ecalTrackRegressionEnergy_
Definition: Electron.h:324
double ecalRegressionError_
Definition: Electron.h:325
double edB_
Impact paramater uncertainty at the primary vertex.
Definition: Electron.h:314
bool embeddedGsfTrack_
True if electron&#39;s gsfTrack is stored internally.
Definition: Electron.h:257
bool embeddedPflowSuperCluster_
True if electron&#39;s pflowsupercluster is stored internally.
Definition: Electron.h:263
bool embeddedSuperCluster_
True if electron&#39;s supercluster is stored internally.
Definition: Electron.h:261
double ecalRegressionScale_
Definition: Electron.h:332
double ecalSmear_
Definition: Electron.h:330
bool cachedDB_
True if impact parameter has been cached.
Definition: Electron.h:310
LorentzVector ecalDrivenMomentum_
ECAL-driven momentum.
Definition: Electron.h:306
bool embeddedPFCandidate_
true if the IsolatedPFCandidate is embedded
Definition: Electron.h:298
double ecalTrackRegressionScale_
Definition: Electron.h:335
math::PtEtaPhiELorentzVectorF LorentzVector
Electron::Electron ( const reco::GsfElectron anElectron)

constructor from reco::GsfElectron

Definition at line 44 of file Electron.cc.

References initImpactParameters().

44  :
45  Lepton<reco::GsfElectron>(anElectron),
47  embeddedGsfTrack_(false),
48  embeddedSuperCluster_(false),
50  embeddedTrack_(false),
51  embeddedSeedCluster_(false),
52  embeddedRecHits_(false),
53  embeddedPFCandidate_(false),
54  ecalDrivenMomentum_(anElectron.p4()),
55  cachedDB_(false),
56  dB_(0.0),
57  edB_(0.0)
58 {
60 }
bool embeddedTrack_
True if electron&#39;s track is stored internally.
Definition: Electron.h:279
const LorentzVector & p4(P4Kind kind) const
Definition: GsfElectron.cc:204
double dB_
Impact parameter at the primary vertex.
Definition: Electron.h:312
bool embeddedGsfElectronCore_
True if electron&#39;s gsfElectronCore is stored internally.
Definition: Electron.h:253
bool embeddedRecHits_
True if RecHits stored internally.
Definition: Electron.h:287
bool embeddedSeedCluster_
True if seed cluster is stored internally.
Definition: Electron.h:283
void initImpactParameters()
init impact parameter defaults (for use in a constructor)
Definition: Electron.cc:123
double edB_
Impact paramater uncertainty at the primary vertex.
Definition: Electron.h:314
bool embeddedGsfTrack_
True if electron&#39;s gsfTrack is stored internally.
Definition: Electron.h:257
bool embeddedPflowSuperCluster_
True if electron&#39;s pflowsupercluster is stored internally.
Definition: Electron.h:263
bool embeddedSuperCluster_
True if electron&#39;s supercluster is stored internally.
Definition: Electron.h:261
bool cachedDB_
True if impact parameter has been cached.
Definition: Electron.h:310
LorentzVector ecalDrivenMomentum_
ECAL-driven momentum.
Definition: Electron.h:306
bool embeddedPFCandidate_
true if the IsolatedPFCandidate is embedded
Definition: Electron.h:298
Electron::Electron ( const edm::RefToBase< reco::GsfElectron > &  anElectronRef)

constructor from a RefToBase to a reco::GsfElectron (to be superseded by Ptr counterpart)

Definition at line 63 of file Electron.cc.

References initImpactParameters().

63  :
64  Lepton<reco::GsfElectron>(anElectronRef),
66  embeddedGsfTrack_(false),
67  embeddedSuperCluster_(false),
69  embeddedTrack_(false),
70  embeddedSeedCluster_(false),
71  embeddedRecHits_(false),
72  embeddedPFCandidate_(false),
73  ecalDrivenMomentum_(anElectronRef->p4()),
74  cachedDB_(false),
75  dB_(0.0),
76  edB_(0.0)
77 {
79 }
bool embeddedTrack_
True if electron&#39;s track is stored internally.
Definition: Electron.h:279
const LorentzVector & p4(P4Kind kind) const
Definition: GsfElectron.cc:204
double dB_
Impact parameter at the primary vertex.
Definition: Electron.h:312
bool embeddedGsfElectronCore_
True if electron&#39;s gsfElectronCore is stored internally.
Definition: Electron.h:253
bool embeddedRecHits_
True if RecHits stored internally.
Definition: Electron.h:287
bool embeddedSeedCluster_
True if seed cluster is stored internally.
Definition: Electron.h:283
void initImpactParameters()
init impact parameter defaults (for use in a constructor)
Definition: Electron.cc:123
double edB_
Impact paramater uncertainty at the primary vertex.
Definition: Electron.h:314
bool embeddedGsfTrack_
True if electron&#39;s gsfTrack is stored internally.
Definition: Electron.h:257
bool embeddedPflowSuperCluster_
True if electron&#39;s pflowsupercluster is stored internally.
Definition: Electron.h:263
bool embeddedSuperCluster_
True if electron&#39;s supercluster is stored internally.
Definition: Electron.h:261
bool cachedDB_
True if impact parameter has been cached.
Definition: Electron.h:310
LorentzVector ecalDrivenMomentum_
ECAL-driven momentum.
Definition: Electron.h:306
bool embeddedPFCandidate_
true if the IsolatedPFCandidate is embedded
Definition: Electron.h:298
Electron::Electron ( const edm::Ptr< reco::GsfElectron > &  anElectronRef)

constructor from a Ptr to a reco::GsfElectron

Definition at line 82 of file Electron.cc.

References initImpactParameters().

82  :
83  Lepton<reco::GsfElectron>(anElectronRef),
85  embeddedGsfTrack_(false),
86  embeddedSuperCluster_(false),
88  embeddedTrack_(false),
89  embeddedSeedCluster_(false),
90  embeddedRecHits_(false),
91  embeddedPFCandidate_(false),
92  ecalDrivenMomentum_(anElectronRef->p4()),
93  cachedDB_(false),
94  dB_(0.0),
95  edB_(0.0)
96 {
98 }
bool embeddedTrack_
True if electron&#39;s track is stored internally.
Definition: Electron.h:279
double dB_
Impact parameter at the primary vertex.
Definition: Electron.h:312
bool embeddedGsfElectronCore_
True if electron&#39;s gsfElectronCore is stored internally.
Definition: Electron.h:253
bool embeddedRecHits_
True if RecHits stored internally.
Definition: Electron.h:287
bool embeddedSeedCluster_
True if seed cluster is stored internally.
Definition: Electron.h:283
void initImpactParameters()
init impact parameter defaults (for use in a constructor)
Definition: Electron.cc:123
double edB_
Impact paramater uncertainty at the primary vertex.
Definition: Electron.h:314
bool embeddedGsfTrack_
True if electron&#39;s gsfTrack is stored internally.
Definition: Electron.h:257
bool embeddedPflowSuperCluster_
True if electron&#39;s pflowsupercluster is stored internally.
Definition: Electron.h:263
bool embeddedSuperCluster_
True if electron&#39;s supercluster is stored internally.
Definition: Electron.h:261
bool cachedDB_
True if impact parameter has been cached.
Definition: Electron.h:310
LorentzVector ecalDrivenMomentum_
ECAL-driven momentum.
Definition: Electron.h:306
bool embeddedPFCandidate_
true if the IsolatedPFCandidate is embedded
Definition: Electron.h:298
Electron::~Electron ( )
virtual

destructor

Definition at line 101 of file Electron.cc.

101  {
102 }

Member Function Documentation

edm::RefVector< pat::PackedCandidateCollection > Electron::associatedPackedPFCandidates ( ) const

References to PFCandidates linked to this object (e.g. for isolation vetos or masking before jet reclustering)

Definition at line 484 of file Electron.cc.

References associatedPackedFCandidateIndices_, edm::RefProd< T >::id(), customizeTrackingMonitorSeedNumber::idx, packedPFCandidates_, and run_regression::ret.

484  {
486  for (uint16_t idx : associatedPackedFCandidateIndices_) {
488  }
489  return ret;
490 }
edm::RefProd< pat::PackedCandidateCollection > packedPFCandidates_
Definition: Electron.h:351
std::vector< uint16_t > associatedPackedFCandidateIndices_
Definition: Electron.h:352
tuple idx
DEBUGGING if hasattr(process,&quot;trackMonIterativeTracking2012&quot;): print &quot;trackMonIterativeTracking2012 D...
ProductID id() const
Accessor for product ID.
Definition: RefProd.h:140
const std::vector<reco::CaloCluster>& pat::Electron::basicClusters ( ) const
inline

Definition at line 89 of file Electron.h.

References basicClusters_.

Referenced by SuperClusterHelper::SuperClusterHelper().

89 { return basicClusters_ ; }
std::vector< reco::CaloCluster > basicClusters_
Place to store electron&#39;s basic clusters internally.
Definition: Electron.h:269
float pat::Electron::caloIso ( ) const
inline

Overload of pat::Lepton::caloIso(); returns the sum of ecalIso() and hcalIso.

Definition at line 156 of file Electron.h.

References ecalIso(), and hcalIso().

156 { return ecalIso()+hcalIso(); }
float ecalIso() const
Overload of pat::Lepton::ecalIso(); returns the value of the summed Et of all recHits in the ecal in ...
Definition: Electron.h:152
float hcalIso() const
Overload of pat::Lepton::hcalIso(); returns the value of the summed Et of all caloTowers in the hcal ...
Definition: Electron.h:154
virtual Electron* pat::Electron::clone ( void  ) const
inlinevirtual

required reimplementation of the Candidate's clone method

Reimplemented from pat::Lepton< reco::GsfElectron >.

Definition at line 70 of file Electron.h.

References Electron().

70 { return new Electron(*this); }
Electron()
default constructor
Definition: Electron.cc:13
reco::TrackRef Electron::closestCtfTrackRef ( ) const

override the reco::GsfElectron::closestCtfTrackRef method, to access the internal storage of the track

override the reco::GsfElectron::closestCtfTrack method, to access the internal storage of the track

Definition at line 206 of file Electron.cc.

References reco::GsfElectron::closestCtfTrackRef(), embeddedTrack_, and track_.

Referenced by WenuPlots::analyze(), and EGammaMvaEleEstimator::mvaValue().

206  {
207  if (embeddedTrack_) {
208  return reco::TrackRef(&track_, 0);
209  } else {
211  }
212 }
bool embeddedTrack_
True if electron&#39;s track is stored internally.
Definition: Electron.h:279
std::vector< reco::Track > track_
Place to store electron&#39;s track internally.
Definition: Electron.h:281
TrackRef closestCtfTrackRef() const
Definition: GsfElectron.h:185
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
Definition: TrackFwd.h:14
reco::GsfElectronCoreRef Electron::core ( ) const
virtual

override the virtual reco::GsfElectron::core method, so that the embedded core can be used by GsfElectron client methods

Reimplemented from reco::GsfElectron.

Definition at line 142 of file Electron.cc.

References reco::GsfElectron::core(), embeddedGsfElectronCore_, and gsfElectronCore_.

142  {
145  } else {
146  return reco::GsfElectron::core();
147  }
148 }
edm::Ref< GsfElectronCoreCollection > GsfElectronCoreRef
bool embeddedGsfElectronCore_
True if electron&#39;s gsfElectronCore is stored internally.
Definition: Electron.h:253
std::vector< reco::GsfElectronCore > gsfElectronCore_
Place to store electron&#39;s gsfElectronCore internally.
Definition: Electron.h:255
virtual GsfElectronCoreRef core() const
Definition: GsfElectron.cc:8
double Electron::dB ( IpType  type_ = None) const

Impact parameter wrt primary vertex or beamspot.

dB gives the impact parameter wrt the beamline. If this is not cached it is not meaningful, since it relies on the distance to the beamline.

IpType defines the type of the impact parameter None is default and reverts to the old functionality.

Example: electron->dB(pat::Electron::PV2D) will return the electron transverse impact parameter relative to the primary vertex.

Definition at line 414 of file Electron.cc.

References cachedDB_, cachedIP_, dB_, ip_, max(), and None.

Referenced by WenuPlots::analyze(), ElectronVPlusJetsIDSelectionFunctor::firstDataCuts(), EGammaMvaEleEstimator::mvaValue(), WenuPlots::ReturnCandVar(), ZeePlots::ReturnCandVar(), setDB(), and PFElectronSelector::spring11Cuts().

414  {
415  // preserve old functionality exactly
416  if (type_ == None){
417  if ( cachedDB_ ) {
418  return dB_;
419  } else {
421  }
422  }
423  // more IP types (new)
424  else if ( cachedIP_[type_] ) {
425  return ip_[type_];
426  } else {
428  }
429 }
double dB_
Impact parameter at the primary vertex.
Definition: Electron.h:312
const T & max(const T &a, const T &b)
bool cachedDB_
True if impact parameter has been cached.
Definition: Electron.h:310
std::vector< double > ip_
Impact parameter at the primary vertex,.
Definition: Electron.h:346
std::vector< bool > cachedIP_
True if the IP (former dB) has been cached.
Definition: Electron.h:344
const LorentzVector& pat::Electron::ecalDrivenMomentum ( ) const
inline

Definition at line 187 of file Electron.h.

References ecalDrivenMomentum_.

187 {return ecalDrivenMomentum_;}
LorentzVector ecalDrivenMomentum_
ECAL-driven momentum.
Definition: Electron.h:306
float pat::Electron::ecalIso ( ) const
inline

Overload of pat::Lepton::ecalIso(); returns the value of the summed Et of all recHits in the ecal in a cone of deltaR<0.4.

Definition at line 152 of file Electron.h.

References reco::GsfElectron::dr04EcalRecHitSumEt().

Referenced by caloIso().

152 { return dr04EcalRecHitSumEt(); }
float dr04EcalRecHitSumEt() const
Definition: GsfElectron.h:454
double pat::Electron::ecalRegressionEnergy ( ) const
inline

additional regression variables regression1

Definition at line 209 of file Electron.h.

References ecalRegressionEnergy_.

209 { return ecalRegressionEnergy_;}
double ecalRegressionEnergy_
output of regression
Definition: Electron.h:323
double pat::Electron::ecalRegressionError ( ) const
inline

Definition at line 210 of file Electron.h.

References ecalRegressionError_.

210 { return ecalRegressionError_;}
double ecalRegressionError_
Definition: Electron.h:325
double pat::Electron::ecalRegressionScale ( ) const
inline

Definition at line 230 of file Electron.h.

References ecalRegressionScale_.

230 { return ecalRegressionScale_ ;}
double ecalRegressionScale_
Definition: Electron.h:332
double pat::Electron::ecalRegressionSmear ( ) const
inline

Definition at line 231 of file Electron.h.

References ecalRegressionSmear_.

231 { return ecalRegressionSmear_ ;}
double ecalRegressionSmear_
Definition: Electron.h:333
double pat::Electron::ecalScale ( ) const
inline

get scale corrections /smearings

Definition at line 228 of file Electron.h.

References ecalScale_.

228 { return ecalScale_ ;}
double ecalScale_
scale corrections and smearing applied or to be be applied. Initialized to -99999.
Definition: Electron.h:329
double pat::Electron::ecalSmear ( ) const
inline

Definition at line 229 of file Electron.h.

References ecalSmear_.

229 { return ecalSmear_;}
double ecalSmear_
Definition: Electron.h:330
double pat::Electron::ecalTrackRegressionEnergy ( ) const
inline

regression2

Definition at line 212 of file Electron.h.

References ecalTrackRegressionEnergy_.

212 { return ecalTrackRegressionEnergy_; }
double ecalTrackRegressionEnergy_
Definition: Electron.h:324
double pat::Electron::ecalTrackRegressionError ( ) const
inline

Definition at line 213 of file Electron.h.

References ecalTrackRegressionError_.

213 { return ecalTrackRegressionError_; }
double ecalTrackRegressionError_
Definition: Electron.h:326
double pat::Electron::ecalTrackRegressionScale ( ) const
inline

Definition at line 232 of file Electron.h.

References ecalTrackRegressionScale_.

232 { return ecalTrackRegressionScale_ ;}
double ecalTrackRegressionScale_
Definition: Electron.h:335
double pat::Electron::ecalTrackRegressionSmear ( ) const
inline

Definition at line 233 of file Electron.h.

References ecalTrackRegressionSmear_.

233 { return ecalTrackRegressionSmear_ ;}
double ecalTrackRegressionSmear_
Definition: Electron.h:336
double Electron::edB ( IpType  type_ = None) const

Uncertainty on the corresponding impact parameter.

edB gives the uncertainty on the impact parameter wrt the beamline. If this is not cached it is not meaningful, since it relies on the distance to the beamline.

IpType defines the type of the impact parameter None is default and reverts to the old functionality.

Example: electron->edB(pat::Electron::PV2D) will return the electron transverse impact parameter uncertainty relative to the primary vertex.

Definition at line 441 of file Electron.cc.

References cachedDB_, cachedIP_, edB_, eip_, max(), and None.

Referenced by ElectronVPlusJetsIDSelectionFunctor::firstDataCuts(), EGammaMvaEleEstimator::mvaValue(), and setDB().

441  {
442  // preserve old functionality exactly
443  if (type_ == None) {
444  if ( cachedDB_ ) {
445  return edB_;
446  } else {
448  }
449  }
450  // more IP types (new)
451  else if ( cachedIP_[type_] ) {
452  return eip_[type_];
453  } else {
455  }
456 
457 }
const T & max(const T &a, const T &b)
double edB_
Impact paramater uncertainty at the primary vertex.
Definition: Electron.h:314
bool cachedDB_
True if impact parameter has been cached.
Definition: Electron.h:310
std::vector< bool > cachedIP_
True if the IP (former dB) has been cached.
Definition: Electron.h:344
std::vector< double > eip_
Impact parameter uncertainty as recommended by the tracking group.
Definition: Electron.h:348
float Electron::electronID ( const std::string &  name) const

Returns a specific electron ID associated to the pat::Electron given its name.

Returns a specific electron ID associated to the pat::Electron given its name For cut-based IDs, the value map has the following meaning: 0: fails, 1: passes electron ID only, 2: passes electron Isolation only, 3: passes electron ID and Isolation only, 4: passes conversion rejection, 5: passes conversion rejection and ID, 6: passes conversion rejection and Isolation, 7: passes the whole selection. For more details have a look at: https://twiki.cern.ch/twiki/bin/view/CMS/SimpleCutBasedEleID https://twiki.cern.ch/twiki/bin/view/CMS/SWGuideCategoryBasedElectronID Note: an exception is thrown if the specified ID is not available

Definition at line 344 of file Electron.cc.

References electronIDs_.

Referenced by WenuPlots::analyze(), WenuPlots::CheckCuts(), ZeePlots::CheckCuts1(), ZeePlots::CheckCuts2(), and PFElectronSelector::spring11Cuts().

344  {
345  for (std::vector<IdPair>::const_iterator it = electronIDs_.begin(), ed = electronIDs_.end(); it != ed; ++it) {
346  if (it->first == name) return it->second;
347  }
348  cms::Exception ex("Key not found");
349  ex << "pat::Electron: the ID " << name << " can't be found in this pat::Electron.\n";
350  ex << "The available IDs are: ";
351  for (std::vector<IdPair>::const_iterator it = electronIDs_.begin(), ed = electronIDs_.end(); it != ed; ++it) {
352  ex << "'" << it->first << "' ";
353  }
354  ex << ".\n";
355  throw ex;
356 }
std::vector< IdPair > electronIDs_
Electron IDs.
Definition: Electron.h:293
float pat::Electron::electronID ( const char *  name) const
inline

Definition at line 137 of file Electron.h.

References electronID(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by electronID().

137 { return electronID( std::string(name) );}
float electronID(const std::string &name) const
Returns a specific electron ID associated to the pat::Electron given its name.
Definition: Electron.cc:344
const std::vector<IdPair>& pat::Electron::electronIDs ( ) const
inline

Returns all the electron IDs in the form of <name,value> pairs. The 'default' ID is the first in the list.

Definition at line 144 of file Electron.h.

References electronIDs_.

144 { return electronIDs_; }
std::vector< IdPair > electronIDs_
Electron IDs.
Definition: Electron.h:293
void Electron::embedBasicClusters ( )

method to store the electron's basic clusters

Stores the electron's BasicCluster (reco::CaloCluster) internally.

Definition at line 266 of file Electron.cc.

References basicClusters_, and reco::GsfElectron::superCluster().

Referenced by pat::PATElectronProducer::fillElectron(), and pat::PATElectronProducer::fillElectron2().

266  {
267  basicClusters_.clear();
268  if (reco::GsfElectron::superCluster().isNonnull()){
271  for(;itscl!=itsclE;++itscl){
272  basicClusters_.push_back( **itscl ) ;
273  }
274  }
275 }
std::vector< reco::CaloCluster > basicClusters_
Place to store electron&#39;s basic clusters internally.
Definition: Electron.h:269
virtual SuperClusterRef superCluster() const
reference to a SuperCluster
Definition: GsfElectron.h:168
void Electron::embedGsfElectronCore ( )

method to store the electron's core internally

Stores the electron's core (reco::GsfElectronCoreRef) internally.

Definition at line 220 of file Electron.cc.

References reco::GsfElectron::core(), embeddedGsfElectronCore_, and gsfElectronCore_.

Referenced by pat::PATElectronProducer::fillElectron(), and pat::PATElectronProducer::fillElectron2().

220  {
221  gsfElectronCore_.clear();
222  if (reco::GsfElectron::core().isNonnull()) {
225  }
226 }
bool embeddedGsfElectronCore_
True if electron&#39;s gsfElectronCore is stored internally.
Definition: Electron.h:253
std::vector< reco::GsfElectronCore > gsfElectronCore_
Place to store electron&#39;s gsfElectronCore internally.
Definition: Electron.h:255
virtual GsfElectronCoreRef core() const
Definition: GsfElectron.cc:8
void Electron::embedGsfTrack ( )

method to store the electron's GsfTrack internally

Stores the electron's gsfTrack (reco::GsfTrackRef) internally.

Definition at line 229 of file Electron.cc.

References embeddedGsfTrack_, reco::GsfElectron::gsfTrack(), and gsfTrack_.

Referenced by pat::PATElectronProducer::fillElectron(), and pat::PATElectronProducer::fillElectron2().

229  {
230  gsfTrack_.clear();
231  if (reco::GsfElectron::gsfTrack().isNonnull()) {
233  embeddedGsfTrack_ = true;
234  }
235 }
std::vector< reco::GsfTrack > gsfTrack_
Place to store electron&#39;s gsfTrack internally.
Definition: Electron.h:259
bool embeddedGsfTrack_
True if electron&#39;s gsfTrack is stored internally.
Definition: Electron.h:257
virtual GsfTrackRef gsfTrack() const
reference to a GsfTrack
Definition: GsfElectron.h:169
void Electron::embedPFCandidate ( )

embed the PFCandidate pointed to by pfCandidateRef_

Stores the PFCandidate pointed to by pfCandidateRef_ internally.

Definition at line 377 of file Electron.cc.

References embeddedPFCandidate_, edm::Ref< C, T, F >::isAvailable(), edm::Ref< C, T, F >::isNonnull(), pfCandidate_, and pfCandidateRef_.

Referenced by pat::PATElectronProducer::produce().

377  {
378  pfCandidate_.clear();
380  pfCandidate_.push_back( *pfCandidateRef_ );
381  embeddedPFCandidate_ = true;
382  }
383 }
bool isAvailable() const
Definition: Ref.h:276
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:250
reco::PFCandidateCollection pfCandidate_
A copy of the source IsolatedPFCandidate is stored in this vector if embeddedPFCandidate_ if True...
Definition: Electron.h:300
reco::PFCandidateRef pfCandidateRef_
reference to the IsolatedPFCandidate this has been built from; null if this has been built from a sta...
Definition: Electron.h:302
bool embeddedPFCandidate_
true if the IsolatedPFCandidate is embedded
Definition: Electron.h:298
void Electron::embedPflowBasicClusters ( )

method to store the electron's pflow basic clusters

Stores the electron's PflowBasicCluster (reco::CaloCluster) internally.

Definition at line 290 of file Electron.cc.

References reco::GsfElectron::parentSuperCluster(), and pflowBasicClusters_.

Referenced by pat::PATElectronProducer::fillElectron(), and pat::PATElectronProducer::fillElectron2().

290  {
291  pflowBasicClusters_.clear();
292  if (reco::GsfElectron::parentSuperCluster().isNonnull()){
295  for(;itscl!=itsclE;++itscl){
296  pflowBasicClusters_.push_back( **itscl ) ;
297  }
298  }
299 }
SuperClusterRef parentSuperCluster() const
Definition: GsfElectron.h:174
std::vector< reco::CaloCluster > pflowBasicClusters_
Place to store electron&#39;s pflow basic clusters internally.
Definition: Electron.h:273
void Electron::embedPflowPreshowerClusters ( )

method to store the electron's pflow preshower clusters

Stores the electron's PflowPreshowerCluster (reco::CaloCluster) internally.

Definition at line 302 of file Electron.cc.

References reco::GsfElectron::parentSuperCluster(), and pflowPreshowerClusters_.

Referenced by pat::PATElectronProducer::fillElectron(), and pat::PATElectronProducer::fillElectron2().

302  {
303  pflowPreshowerClusters_.clear();
304  if (reco::GsfElectron::parentSuperCluster().isNonnull()){
305  reco::CaloCluster_iterator itscl = reco::GsfElectron::parentSuperCluster()->preshowerClustersBegin();
306  reco::CaloCluster_iterator itsclE = reco::GsfElectron::parentSuperCluster()->preshowerClustersEnd();
307  for(;itscl!=itsclE;++itscl){
308  pflowPreshowerClusters_.push_back( **itscl ) ;
309  }
310  }
311 }
SuperClusterRef parentSuperCluster() const
Definition: GsfElectron.h:174
std::vector< reco::CaloCluster > pflowPreshowerClusters_
Place to store electron&#39;s pflow preshower clusters internally.
Definition: Electron.h:275
void Electron::embedPflowSuperCluster ( )

method to store the electron's PflowSuperCluster internally

Stores the electron's SuperCluster (reco::SuperClusterRef) internally.

Definition at line 248 of file Electron.cc.

References embeddedPflowSuperCluster_, reco::GsfElectron::parentSuperCluster(), and pflowSuperCluster_.

Referenced by pat::PATElectronProducer::fillElectron(), and pat::PATElectronProducer::fillElectron2().

248  {
249  pflowSuperCluster_.clear();
250  if (reco::GsfElectron::parentSuperCluster().isNonnull()) {
253  }
254 }
SuperClusterRef parentSuperCluster() const
Definition: GsfElectron.h:174
bool embeddedPflowSuperCluster_
True if electron&#39;s pflowsupercluster is stored internally.
Definition: Electron.h:263
std::vector< reco::SuperCluster > pflowSuperCluster_
Place to store electron&#39;s pflow supercluster internally.
Definition: Electron.h:277
void Electron::embedPreshowerClusters ( )

method to store the electron's preshower clusters

Stores the electron's PreshowerCluster (reco::CaloCluster) internally.

Definition at line 278 of file Electron.cc.

References preshowerClusters_, and reco::GsfElectron::superCluster().

Referenced by pat::PATElectronProducer::fillElectron(), and pat::PATElectronProducer::fillElectron2().

278  {
279  preshowerClusters_.clear();
280  if (reco::GsfElectron::superCluster().isNonnull()){
281  reco::CaloCluster_iterator itscl = reco::GsfElectron::superCluster()->preshowerClustersBegin();
282  reco::CaloCluster_iterator itsclE = reco::GsfElectron::superCluster()->preshowerClustersEnd();
283  for(;itscl!=itsclE;++itscl){
284  preshowerClusters_.push_back( **itscl ) ;
285  }
286  }
287 }
std::vector< reco::CaloCluster > preshowerClusters_
Place to store electron&#39;s preshower clusters internally.
Definition: Electron.h:271
virtual SuperClusterRef superCluster() const
reference to a SuperCluster
Definition: GsfElectron.h:168
void Electron::embedRecHits ( const EcalRecHitCollection rechits)

method to store the RecHits internally - can be called from the PATElectronProducer

Definition at line 323 of file Electron.cc.

References embeddedRecHits_, HI_PhotonSkim_cff::rechits, and recHits_.

Referenced by pat::PATElectronProducer::produce().

323  {
324  if (rechits!=0) {
325  recHits_ = *rechits;
326  embeddedRecHits_ = true;
327  }
328 }
bool embeddedRecHits_
True if RecHits stored internally.
Definition: Electron.h:287
EcalRecHitCollection recHits_
Place to store electron&#39;s RecHits internally (5x5 around seed+ all RecHits)
Definition: Electron.h:289
void Electron::embedSeedCluster ( )

method to store the electron's seedcluster internally

Stores the electron's SeedCluster (reco::BasicClusterPtr) internally.

Definition at line 257 of file Electron.cc.

References embeddedSeedCluster_, seed(), seedCluster_, and reco::GsfElectron::superCluster().

Referenced by pat::PATElectronProducer::fillElectron(), and pat::PATElectronProducer::fillElectron2().

257  {
258  seedCluster_.clear();
259  if (reco::GsfElectron::superCluster().isNonnull() && reco::GsfElectron::superCluster()->seed().isNonnull()) {
261  embeddedSeedCluster_ = true;
262  }
263 }
reco::CaloClusterPtr seed() const
direct access to the seed cluster
Definition: Electron.cc:197
virtual SuperClusterRef superCluster() const
reference to a SuperCluster
Definition: GsfElectron.h:168
bool embeddedSeedCluster_
True if seed cluster is stored internally.
Definition: Electron.h:283
std::vector< reco::CaloCluster > seedCluster_
Place to store electron&#39;s seed cluster internally.
Definition: Electron.h:285
void Electron::embedSuperCluster ( )

method to store the electron's SuperCluster internally

Stores the electron's SuperCluster (reco::SuperClusterRef) internally.

Definition at line 239 of file Electron.cc.

References embeddedSuperCluster_, reco::GsfElectron::superCluster(), and superCluster_.

Referenced by pat::PATElectronProducer::fillElectron(), and pat::PATElectronProducer::fillElectron2().

239  {
240  superCluster_.clear();
241  if (reco::GsfElectron::superCluster().isNonnull()) {
243  embeddedSuperCluster_ = true;
244  }
245 }
std::vector< reco::SuperCluster > superCluster_
Place to store electron&#39;s supercluster internally.
Definition: Electron.h:265
virtual SuperClusterRef superCluster() const
reference to a SuperCluster
Definition: GsfElectron.h:168
bool embeddedSuperCluster_
True if electron&#39;s supercluster is stored internally.
Definition: Electron.h:261
void Electron::embedTrack ( )

method to store the electron's Track internally

method to store the electron's track internally

Definition at line 314 of file Electron.cc.

References reco::GsfElectron::closestCtfTrackRef(), embeddedTrack_, and track_.

Referenced by pat::PATElectronProducer::fillElectron(), and pat::PATElectronProducer::fillElectron2().

314  {
315  track_.clear();
316  if (reco::GsfElectron::closestCtfTrackRef().isNonnull()) {
318  embeddedTrack_ = true;
319  }
320 }
bool embeddedTrack_
True if electron&#39;s track is stored internally.
Definition: Electron.h:279
std::vector< reco::Track > track_
Place to store electron&#39;s track internally.
Definition: Electron.h:281
TrackRef closestCtfTrackRef() const
Definition: GsfElectron.h:185
reco::GsfTrackRef Electron::gsfTrack ( ) const
virtual

override the reco::GsfElectron::gsfTrack method, to access the internal storage of the supercluster

Reimplemented from reco::GsfElectron.

Definition at line 133 of file Electron.cc.

References embeddedGsfTrack_, reco::GsfElectron::gsfTrack(), and gsfTrack_.

Referenced by WenuPlots::analyze(), pat::TrackerIsolationPt::calculate(), pat::CaloIsolationEnergy::calculate(), pat::LeptonVertexSignificance::calculate(), EGammaMvaEleEstimator::mvaValue(), SimpleCutBasedElectronIDSelectionFunctor::spring10Variables(), and PFElectronSelector::spring11Cuts().

133  {
134  if (embeddedGsfTrack_) {
135  return reco::GsfTrackRef(&gsfTrack_, 0);
136  } else {
138  }
139 }
edm::Ref< GsfTrackCollection > GsfTrackRef
persistent reference to a GsfTrack
Definition: GsfTrackFwd.h:13
std::vector< reco::GsfTrack > gsfTrack_
Place to store electron&#39;s gsfTrack internally.
Definition: Electron.h:259
bool embeddedGsfTrack_
True if electron&#39;s gsfTrack is stored internally.
Definition: Electron.h:257
virtual GsfTrackRef gsfTrack() const
reference to a GsfTrack
Definition: GsfElectron.h:169
float pat::Electron::hcalIso ( ) const
inline

Overload of pat::Lepton::hcalIso(); returns the value of the summed Et of all caloTowers in the hcal in a cone of deltaR<0.4.

Definition at line 154 of file Electron.h.

References reco::GsfElectron::dr04HcalTowerSumEt().

Referenced by caloIso().

154 { return dr04HcalTowerSumEt(); }
float dr04HcalTowerSumEt() const
Definition: GsfElectron.h:457
void Electron::initImpactParameters ( )
protected

init impact parameter defaults (for use in a constructor)

initializes the impact parameter container vars

Definition at line 123 of file Electron.cc.

References cachedIP_, eip_, and ip_.

Referenced by Electron().

123  {
124  for (int i_ = 0; i_<5; ++i_){
125  ip_.push_back(0.0);
126  eip_.push_back(0.0);
127  cachedIP_.push_back(false);
128  }
129 }
std::vector< double > ip_
Impact parameter at the primary vertex,.
Definition: Electron.h:346
std::vector< bool > cachedIP_
True if the IP (former dB) has been cached.
Definition: Electron.h:344
std::vector< double > eip_
Impact parameter uncertainty as recommended by the tracking group.
Definition: Electron.h:348
double pat::Electron::ip3d ( ) const
inline

ip3d

Definition at line 201 of file Electron.h.

References ip3d_.

Referenced by setMvaVariables().

201 { return ip3d_; }
double ip3d_
Definition: Electron.h:320
bool Electron::isElectronIDAvailable ( const std::string &  name) const

Returns true if a specific ID is available in this pat::Electron.

Checks if a specific electron ID is associated to the pat::Electron.

Definition at line 359 of file Electron.cc.

References electronIDs_.

Referenced by WenuPlots::analyze(), and isElectronIDAvailable().

359  {
360  for (std::vector<IdPair>::const_iterator it = electronIDs_.begin(), ed = electronIDs_.end(); it != ed; ++it) {
361  if (it->first == name) return true;
362  }
363  return false;
364 }
std::vector< IdPair > electronIDs_
Electron IDs.
Definition: Electron.h:293
bool pat::Electron::isElectronIDAvailable ( const char *  name) const
inline

Definition at line 140 of file Electron.h.

References isElectronIDAvailable(), and AlCaHLTBitMon_QueryRunRegistry::string.

140  {
142  }
bool isElectronIDAvailable(const std::string &name) const
Returns true if a specific ID is available in this pat::Electron.
Definition: Electron.cc:359
bool pat::Electron::isPF ( ) const
inline

Definition at line 159 of file Electron.h.

References isPF_.

159 { return isPF_; }
size_t pat::Electron::numberOfSourceCandidatePtrs ( ) const
inlinevirtual

get the number of non-null PFCandidates

Reimplemented from reco::LeafCandidate.

Definition at line 171 of file Electron.h.

References associatedPackedFCandidateIndices_, edm::Ref< C, T, F >::isNonnull(), and pfCandidateRef_.

171  {
173  }
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:250
std::vector< uint16_t > associatedPackedFCandidateIndices_
Definition: Electron.h:352
reco::PFCandidateRef pfCandidateRef_
reference to the IsolatedPFCandidate this has been built from; null if this has been built from a sta...
Definition: Electron.h:302
reco::SuperClusterRef Electron::parentSuperCluster ( ) const

override the reco::GsfElectron::pflowSuperCluster method, to access the internal storage of the pflowSuperCluster

override the reco::GsfElectron::pflowSuperCluster method, to access the internal storage of the supercluster

Definition at line 188 of file Electron.cc.

References embeddedPflowSuperCluster_, reco::GsfElectron::parentSuperCluster(), and pflowSuperCluster_.

188  {
191  } else {
193  }
194 }
SuperClusterRef parentSuperCluster() const
Definition: GsfElectron.h:174
edm::Ref< SuperClusterCollection > SuperClusterRef
reference to an object in a collection of SuperCluster objects
bool embeddedPflowSuperCluster_
True if electron&#39;s pflowsupercluster is stored internally.
Definition: Electron.h:263
std::vector< reco::SuperCluster > pflowSuperCluster_
Place to store electron&#39;s pflow supercluster internally.
Definition: Electron.h:277
bool pat::Electron::passConversionVeto ( ) const
inline

vertex fit combined with missing number of hits method

Definition at line 235 of file Electron.h.

References passConversionVeto_.

235 { return passConversionVeto_; }
bool passConversionVeto_
conversion veto
Definition: Electron.h:340
reco::PFCandidateRef Electron::pfCandidateRef ( ) const

reference to the source PFCandidates; null if this has been built from a standard electron

reference to the source PFCandidates

Definition at line 368 of file Electron.cc.

References embeddedPFCandidate_, pfCandidate_, and pfCandidateRef_.

Referenced by pat::PATElectronProducer::fillElectron(), and pat::PATElectronProducer::fillElectron2().

368  {
369  if (embeddedPFCandidate_) {
371  } else {
372  return pfCandidateRef_;
373  }
374 }
edm::Ref< PFCandidateCollection > PFCandidateRef
persistent reference to a PFCandidate
reco::PFCandidateCollection pfCandidate_
A copy of the source IsolatedPFCandidate is stored in this vector if embeddedPFCandidate_ if True...
Definition: Electron.h:300
reco::PFCandidateRef pfCandidateRef_
reference to the IsolatedPFCandidate this has been built from; null if this has been built from a sta...
Definition: Electron.h:302
bool embeddedPFCandidate_
true if the IsolatedPFCandidate is embedded
Definition: Electron.h:298
const std::vector<reco::CaloCluster>& pat::Electron::pflowBasicClusters ( ) const
inline

Definition at line 93 of file Electron.h.

References pflowBasicClusters_.

93 { return pflowBasicClusters_ ; }
std::vector< reco::CaloCluster > pflowBasicClusters_
Place to store electron&#39;s pflow basic clusters internally.
Definition: Electron.h:273
const std::vector<reco::CaloCluster>& pat::Electron::pflowPreshowerClusters ( ) const
inline

Definition at line 95 of file Electron.h.

References pflowPreshowerClusters_.

95 { return pflowPreshowerClusters_ ; }
std::vector< reco::CaloCluster > pflowPreshowerClusters_
Place to store electron&#39;s pflow preshower clusters internally.
Definition: Electron.h:275
const std::vector<reco::CaloCluster>& pat::Electron::preshowerClusters ( ) const
inline

Definition at line 91 of file Electron.h.

References preshowerClusters_.

Referenced by SuperClusterHelper::SuperClusterHelper().

91 { return preshowerClusters_ ; }
std::vector< reco::CaloCluster > preshowerClusters_
Place to store electron&#39;s preshower clusters internally.
Definition: Electron.h:271
double pat::Electron::r9 ( ) const
inline

additional mva input variables R9 variable

Definition at line 195 of file Electron.h.

References r9_.

Referenced by EGammaMvaEleEstimator::mvaValue(), and setMvaVariables().

195 { return r9_; };
double r9_
additional missing mva variables : 14/04/2012
Definition: Electron.h:317
const EcalRecHitCollection* pat::Electron::recHits ( void  ) const
inline

Definition at line 205 of file Electron.h.

References recHits_.

205 { return &recHits_;}
EcalRecHitCollection recHits_
Place to store electron&#39;s RecHits internally (5x5 around seed+ all RecHits)
Definition: Electron.h:289
reco::CaloClusterPtr Electron::seed ( ) const

direct access to the seed cluster

Definition at line 197 of file Electron.cc.

References embeddedSeedCluster_, seedCluster_, and reco::GsfElectron::superCluster().

Referenced by embedSeedCluster(), superCluster(), and SuperClusterHelper::SuperClusterHelper().

197  {
200  } else {
201  return reco::GsfElectron::superCluster()->seed();
202  }
203 }
edm::Ptr< CaloCluster > CaloClusterPtr
virtual SuperClusterRef superCluster() const
reference to a SuperCluster
Definition: GsfElectron.h:168
bool embeddedSeedCluster_
True if seed cluster is stored internally.
Definition: Electron.h:283
std::vector< reco::CaloCluster > seedCluster_
Place to store electron&#39;s seed cluster internally.
Definition: Electron.h:285
void Electron::setAssociatedPackedPFCandidates ( const edm::RefVector< pat::PackedCandidateCollection > &  refvector)

References to PFCandidates linked to this object (e.g. for isolation vetos or masking before jet reclustering)

Definition at line 492 of file Electron.cc.

References associatedPackedFCandidateIndices_, edm::hlt::Exception, edm::RefVector< C, T, F >::id(), edm::RefProd< T >::id(), edm::RefProd< T >::isNonnull(), and packedPFCandidates_.

Referenced by pat::PATElectronSlimmer::produce().

492  {
494  if (refvector.id().isValid() && refvector.id() != packedPFCandidates_.id()) {
495  throw cms::Exception("Unsupported", "setAssociatedPackedPFCandidates pointing to a collection other than the one from setPackedPFCandidateCollection");
496  }
497  } else {
499  }
501  for (const edm::Ref<pat::PackedCandidateCollection> & ref : refvector) {
502  associatedPackedFCandidateIndices_.push_back(ref.key());
503  }
504 }
edm::RefProd< pat::PackedCandidateCollection > packedPFCandidates_
Definition: Electron.h:351
std::vector< uint16_t > associatedPackedFCandidateIndices_
Definition: Electron.h:352
ProductID id() const
Accessor for product ID.
Definition: RefVector.h:104
bool isNonnull() const
Checks for non-null.
Definition: RefProd.h:134
ProductID id() const
Accessor for product ID.
Definition: RefProd.h:140
void Electron::setDB ( double  dB,
double  edB,
IpType  type = None 
)

Set impact parameter of a certain type and its uncertainty.

Sets the impact parameter and its error wrt the beamline and caches it.

Definition at line 460 of file Electron.cc.

References cachedDB_, cachedIP_, dB(), dB_, edB(), edB_, eip_, ip_, and None.

Referenced by pat::PATElectronProducer::embedHighLevel(), and pat::PATElectronProducer::produce().

460  {
461  if (type == None) { // Preserve old functionality exactly
462  dB_ = dB; edB_ = edB;
463  cachedDB_ = true;
464  } else {
465  ip_[type] = dB;
466  eip_[type] = edB;
467  cachedIP_[type] = true;
468  }
469 }
double edB(IpType type=None) const
Uncertainty on the corresponding impact parameter.
Definition: Electron.cc:441
type
Definition: HCALResponse.h:21
double dB_
Impact parameter at the primary vertex.
Definition: Electron.h:312
double edB_
Impact paramater uncertainty at the primary vertex.
Definition: Electron.h:314
bool cachedDB_
True if impact parameter has been cached.
Definition: Electron.h:310
std::vector< double > ip_
Impact parameter at the primary vertex,.
Definition: Electron.h:346
std::vector< bool > cachedIP_
True if the IP (former dB) has been cached.
Definition: Electron.h:344
double dB(IpType type=None) const
Impact parameter wrt primary vertex or beamspot.
Definition: Electron.cc:414
std::vector< double > eip_
Impact parameter uncertainty as recommended by the tracking group.
Definition: Electron.h:348
void pat::Electron::setEcalDrivenMomentum ( const Candidate::LorentzVector mom)
inline

Definition at line 188 of file Electron.h.

References ecalDrivenMomentum_.

Referenced by pat::PATElectronProducer::fillElectron2().

188 {ecalDrivenMomentum_=mom;}
LorentzVector ecalDrivenMomentum_
ECAL-driven momentum.
Definition: Electron.h:306
void pat::Electron::setEcalRegressionEnergy ( double  val,
double  err 
)
inline

set regression1

Definition at line 215 of file Electron.h.

References ecalRegressionEnergy_, and ecalRegressionError_.

Referenced by RegressionEnergyPatElectronProducer::produce().

double ecalRegressionEnergy_
output of regression
Definition: Electron.h:323
double ecalRegressionError_
Definition: Electron.h:325
void pat::Electron::setEcalRegressionScale ( double  val)
inline

Definition at line 222 of file Electron.h.

References ecalRegressionScale_.

222 { ecalRegressionScale_ = val ;}
double ecalRegressionScale_
Definition: Electron.h:332
void pat::Electron::setEcalRegressionSmear ( double  val)
inline

Definition at line 223 of file Electron.h.

References ecalRegressionSmear_.

223 { ecalRegressionSmear_ = val;}
double ecalRegressionSmear_
Definition: Electron.h:333
void pat::Electron::setEcalScale ( double  val)
inline

set scale corrections / smearings

Definition at line 220 of file Electron.h.

References ecalScale_.

220 { ecalScale_= val ;}
double ecalScale_
scale corrections and smearing applied or to be be applied. Initialized to -99999.
Definition: Electron.h:329
void pat::Electron::setEcalSmear ( double  val)
inline

Definition at line 221 of file Electron.h.

References ecalSmear_.

221 { ecalSmear_= val;}
double ecalSmear_
Definition: Electron.h:330
void pat::Electron::setEcalTrackRegressionEnergy ( double  val,
double  err 
)
inline

set regression2

Definition at line 217 of file Electron.h.

References ecalTrackRegressionEnergy_, and ecalTrackRegressionError_.

double ecalTrackRegressionError_
Definition: Electron.h:326
double ecalTrackRegressionEnergy_
Definition: Electron.h:324
void pat::Electron::setEcalTrackRegressionScale ( double  val)
inline

Definition at line 224 of file Electron.h.

References ecalTrackRegressionScale_.

double ecalTrackRegressionScale_
Definition: Electron.h:335
void pat::Electron::setEcalTrackRegressionSmear ( double  val)
inline

Definition at line 225 of file Electron.h.

References ecalTrackRegressionSmear_.

double ecalTrackRegressionSmear_
Definition: Electron.h:336
void pat::Electron::setElectronIDs ( const std::vector< IdPair > &  ids)
inline

Store multiple electron ID values, discarding existing ones. The first one in the list becomes the 'default' electron id.

Definition at line 146 of file Electron.h.

References electronIDs_.

Referenced by pat::PATElectronProducer::produce().

146 { electronIDs_ = ids; }
std::vector< IdPair > electronIDs_
Electron IDs.
Definition: Electron.h:293
void pat::Electron::setIsPF ( bool  hasPFCandidate)
inline

Definition at line 160 of file Electron.h.

References isPF_.

Referenced by pat::PATElectronProducer::produce().

160 { isPF_ = hasPFCandidate ; }
void Electron::setMvaVariables ( double  r9,
double  sigmaIphiIphi,
double  sigmaIetaIphi,
double  ip3d 
)

set missing mva input variables

Set additional missing mva input variables for new mva ID : 14/04/2012.

Definition at line 472 of file Electron.cc.

References ip3d(), ip3d_, r9(), r9_, sigmaIetaIphi(), sigmaIetaIphi_, sigmaIphiIphi(), and sigmaIphiIphi_.

Referenced by pat::PATElectronProducer::produce().

472  {
473  r9_ = r9;
476  ip3d_ = ip3d;
477 }
double ip3d() const
ip3d
Definition: Electron.h:201
double sigmaIetaIphi() const
sigmaIEtaIPhi
Definition: Electron.h:199
double r9_
additional missing mva variables : 14/04/2012
Definition: Electron.h:317
double ip3d_
Definition: Electron.h:320
double r9() const
Definition: Electron.h:195
double sigmaIphiIphi_
Definition: Electron.h:318
double sigmaIphiIphi() const
sigmaIPhiPhi
Definition: Electron.h:197
double sigmaIetaIphi_
Definition: Electron.h:319
void Electron::setPackedPFCandidateCollection ( const edm::RefProd< pat::PackedCandidateCollection > &  refprod)

References to PFCandidates (e.g. to recompute isolation)

Definition at line 479 of file Electron.cc.

References associatedPackedFCandidateIndices_, and packedPFCandidates_.

Referenced by pat::PATElectronSlimmer::produce().

479  {
480  if (!associatedPackedFCandidateIndices_.empty()) throw cms::Exception("Unsupported", "You can't call setPackedPFCandidateCollection _after_ having called setAssociatedPackedPFCandidates");
481  packedPFCandidates_ = refprod;
482 }
edm::RefProd< pat::PackedCandidateCollection > packedPFCandidates_
Definition: Electron.h:351
std::vector< uint16_t > associatedPackedFCandidateIndices_
Definition: Electron.h:352
void pat::Electron::setPassConversionVeto ( bool  flag)
inline

Definition at line 236 of file Electron.h.

References passConversionVeto_.

Referenced by pat::PATElectronProducer::produce().

236 { passConversionVeto_ = flag; }
bool passConversionVeto_
conversion veto
Definition: Electron.h:340
void pat::Electron::setPFCandidateRef ( const reco::PFCandidateRef ref)
inline

add a reference to the source IsolatedPFCandidate

Definition at line 165 of file Electron.h.

References pfCandidateRef_.

Referenced by pat::PATElectronProducer::produce().

165  {
166  pfCandidateRef_ = ref;
167  }
reco::PFCandidateRef pfCandidateRef_
reference to the IsolatedPFCandidate this has been built from; null if this has been built from a sta...
Definition: Electron.h:302
double pat::Electron::sigmaIetaIphi ( ) const
inline

sigmaIEtaIPhi

Definition at line 199 of file Electron.h.

References sigmaIetaIphi_.

Referenced by setMvaVariables().

199 { return sigmaIetaIphi_; };
double sigmaIetaIphi_
Definition: Electron.h:319
double pat::Electron::sigmaIphiIphi ( ) const
inline

sigmaIPhiPhi

Definition at line 197 of file Electron.h.

References sigmaIphiIphi_.

Referenced by EGammaMvaEleEstimator::mvaValue(), and setMvaVariables().

197 { return sigmaIphiIphi_; };
double sigmaIphiIphi_
Definition: Electron.h:318
reco::CandidatePtr Electron::sourceCandidatePtr ( size_type  i) const
virtual

get the source candidate pointer with index i

Returns the reference to the parent PF candidate with index i. For use in TopProjector.

Reimplemented from reco::LeafCandidate.

Definition at line 387 of file Electron.cc.

References associatedPackedFCandidateIndices_, edm::Ref< C, T, F >::isNonnull(), packedPFCandidates_, pfCandidateRef_, and edm::refToPtr().

387  {
388  if (pfCandidateRef_.isNonnull()) {
389  if (i == 0) {
391  } else {
392  i--;
393  }
394  }
395  if (i >= associatedPackedFCandidateIndices_.size()) {
396  return reco::CandidatePtr();
397  } else {
399  }
400 }
int i
Definition: DBlmapReader.cc:9
Ptr< typename C::value_type > refToPtr(Ref< C, typename C::value_type, refhelper::FindUsingAdvance< C, typename C::value_type > > const &ref)
Definition: RefToPtr.h:18
edm::RefProd< pat::PackedCandidateCollection > packedPFCandidates_
Definition: Electron.h:351
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:250
std::vector< uint16_t > associatedPackedFCandidateIndices_
Definition: Electron.h:352
edm::Ptr< Candidate > CandidatePtr
persistent reference to an object in a collection of Candidate objects
Definition: CandidateFwd.h:25
reco::PFCandidateRef pfCandidateRef_
reference to the IsolatedPFCandidate this has been built from; null if this has been built from a sta...
Definition: Electron.h:302
reco::SuperClusterRef Electron::superCluster ( ) const
virtual

override the reco::GsfElectron::superCluster method, to access the internal storage of the supercluster

Reimplemented from reco::GsfElectron.

Definition at line 152 of file Electron.cc.

References basicClusters_, embeddedSeedCluster_, embeddedSuperCluster_, edm::AtomicPtrCache< T >::isSet(), preshowerClusters_, edm::PtrVector< T >::push_back(), seed(), edm::AtomicPtrCache< T >::set(), reco::GsfElectron::superCluster(), superCluster_, and superClusterRelinked_.

Referenced by WenuPlots::analyze(), WenuPlots::CheckCut(), ZeePlots::CheckCut1(), ZeePlots::CheckCut1Inv(), ZeePlots::CheckCut2(), ZeePlots::CheckCut2Inv(), WenuPlots::CheckCutInv(), hitfit::LeptonTranslatorBase< ALepton >::CheckEta(), EGammaMvaEleEstimator::mvaValue(), hitfit::LeptonTranslatorBase< ALepton >::operator()(), and SuperClusterHelper::SuperClusterHelper().

152  {
153  if (embeddedSuperCluster_) {
154  if (embeddedSeedCluster_ || !basicClusters_.empty() || !preshowerClusters_.empty()) {
155  if (!superClusterRelinked_.isSet()) {
156  std::unique_ptr<std::vector<reco::SuperCluster> > sc(new std::vector<reco::SuperCluster>(superCluster_));
157  if (embeddedSeedCluster_ && !(*sc)[0].seed().isAvailable()) {
158  (*sc)[0].setSeed(seed());
159  }
160  if (basicClusters_.size() && !(*sc)[0].clusters().isAvailable()) {
162  for (unsigned int iclus=0; iclus<basicClusters_.size(); ++iclus) {
164  }
165  (*sc)[0].setClusters(clusters);
166  }
167  if (preshowerClusters_.size() && !(*sc)[0].preshowerClusters().isAvailable()) {
169  for (unsigned int iclus=0; iclus<preshowerClusters_.size(); ++iclus) {
171  }
172  (*sc)[0].setPreshowerClusters(clusters);
173  }
174  superClusterRelinked_.set(std::move(sc));
175  }
177  } else {
179  }
180  //relink caloclusters if needed
182  } else {
184  }
185 }
void push_back(Ptr< T > const &iPtr)
Definition: PtrVector.h:138
std::vector< reco::SuperCluster > superCluster_
Place to store electron&#39;s supercluster internally.
Definition: Electron.h:265
edm::Ref< SuperClusterCollection > SuperClusterRef
reference to an object in a collection of SuperCluster objects
bool isSet() const
reco::CaloClusterPtr seed() const
direct access to the seed cluster
Definition: Electron.cc:197
std::vector< reco::CaloCluster > basicClusters_
Place to store electron&#39;s basic clusters internally.
Definition: Electron.h:269
std::vector< reco::CaloCluster > preshowerClusters_
Place to store electron&#39;s preshower clusters internally.
Definition: Electron.h:271
virtual SuperClusterRef superCluster() const
reference to a SuperCluster
Definition: GsfElectron.h:168
bool embeddedSeedCluster_
True if seed cluster is stored internally.
Definition: Electron.h:283
edm::AtomicPtrCache< std::vector< reco::SuperCluster > > superClusterRelinked_
Place to temporarily store the electron&#39;s supercluster after relinking the seed to it...
Definition: Electron.h:267
bool set(std::unique_ptr< T > iNewValue) const
bool embeddedSuperCluster_
True if electron&#39;s supercluster is stored internally.
Definition: Electron.h:261
reco::TrackRef Electron::track ( void  ) const
virtual

returns nothing. Use either gsfTrack or closestCtfTrack

Reimplemented from reco::RecoCandidate.

Definition at line 215 of file Electron.cc.

215  {
216  return reco::TrackRef();
217 }
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
Definition: TrackFwd.h:14
float pat::Electron::trackIso ( ) const
inline

Overload of pat::Lepton::trackIso(); returns the value of the summed track pt in a cone of deltaR<0.4.

Definition at line 150 of file Electron.h.

References reco::GsfElectron::dr04TkSumPt().

150 { return dr04TkSumPt(); }
float dr04TkSumPt() const
Definition: GsfElectron.h:453

Friends And Related Function Documentation

friend class PATElectronSlimmer
friend

Definition at line 245 of file Electron.h.

std::ostream& reco::operator<< ( std::ostream &  out,
const pat::Electron obj 
)
friend

pipe operator (introduced to use pat::Electron with PFTopProjectors)

Member Data Documentation

std::vector<uint16_t> pat::Electron::associatedPackedFCandidateIndices_
protected
std::vector<reco::CaloCluster> pat::Electron::basicClusters_
protected

Place to store electron's basic clusters internally.

Definition at line 269 of file Electron.h.

Referenced by basicClusters(), embedBasicClusters(), pat::PATElectronSlimmer::produce(), and superCluster().

bool pat::Electron::cachedDB_
protected

True if impact parameter has been cached.

Definition at line 310 of file Electron.h.

Referenced by dB(), edB(), and setDB().

std::vector<bool> pat::Electron::cachedIP_
protected

True if the IP (former dB) has been cached.

Definition at line 344 of file Electron.h.

Referenced by dB(), edB(), initImpactParameters(), and setDB().

double pat::Electron::dB_
protected

Impact parameter at the primary vertex.

Definition at line 312 of file Electron.h.

Referenced by dB(), and setDB().

LorentzVector pat::Electron::ecalDrivenMomentum_
protected

ECAL-driven momentum.

Definition at line 306 of file Electron.h.

Referenced by ecalDrivenMomentum(), and setEcalDrivenMomentum().

double pat::Electron::ecalRegressionEnergy_
protected

output of regression

Definition at line 323 of file Electron.h.

Referenced by ecalRegressionEnergy(), and setEcalRegressionEnergy().

double pat::Electron::ecalRegressionError_
protected

Definition at line 325 of file Electron.h.

Referenced by ecalRegressionError(), and setEcalRegressionEnergy().

double pat::Electron::ecalRegressionScale_
protected

Definition at line 332 of file Electron.h.

Referenced by ecalRegressionScale(), and setEcalRegressionScale().

double pat::Electron::ecalRegressionSmear_
protected

Definition at line 333 of file Electron.h.

Referenced by ecalRegressionSmear(), and setEcalRegressionSmear().

double pat::Electron::ecalScale_
protected

scale corrections and smearing applied or to be be applied. Initialized to -99999.

Definition at line 329 of file Electron.h.

Referenced by ecalScale(), and setEcalScale().

double pat::Electron::ecalSmear_
protected

Definition at line 330 of file Electron.h.

Referenced by ecalSmear(), and setEcalSmear().

double pat::Electron::ecalTrackRegressionEnergy_
protected

Definition at line 324 of file Electron.h.

Referenced by ecalTrackRegressionEnergy(), and setEcalTrackRegressionEnergy().

double pat::Electron::ecalTrackRegressionError_
protected

Definition at line 326 of file Electron.h.

Referenced by ecalTrackRegressionError(), and setEcalTrackRegressionEnergy().

double pat::Electron::ecalTrackRegressionScale_
protected

Definition at line 335 of file Electron.h.

Referenced by ecalTrackRegressionScale(), and setEcalTrackRegressionScale().

double pat::Electron::ecalTrackRegressionSmear_
protected

Definition at line 336 of file Electron.h.

Referenced by ecalTrackRegressionSmear(), and setEcalTrackRegressionSmear().

double pat::Electron::edB_
protected

Impact paramater uncertainty at the primary vertex.

Definition at line 314 of file Electron.h.

Referenced by edB(), and setDB().

std::vector<double> pat::Electron::eip_
protected

Impact parameter uncertainty as recommended by the tracking group.

Definition at line 348 of file Electron.h.

Referenced by edB(), initImpactParameters(), and setDB().

std::vector<IdPair> pat::Electron::electronIDs_
protected

Electron IDs.

Definition at line 293 of file Electron.h.

Referenced by electronID(), electronIDs(), isElectronIDAvailable(), and setElectronIDs().

bool pat::Electron::embeddedGsfElectronCore_
protected

True if electron's gsfElectronCore is stored internally.

Definition at line 253 of file Electron.h.

Referenced by core(), and embedGsfElectronCore().

bool pat::Electron::embeddedGsfTrack_
protected

True if electron's gsfTrack is stored internally.

Definition at line 257 of file Electron.h.

Referenced by embedGsfTrack(), and gsfTrack().

bool pat::Electron::embeddedPFCandidate_
protected

true if the IsolatedPFCandidate is embedded

Definition at line 298 of file Electron.h.

Referenced by embedPFCandidate(), and pfCandidateRef().

bool pat::Electron::embeddedPflowSuperCluster_
protected

True if electron's pflowsupercluster is stored internally.

Definition at line 263 of file Electron.h.

Referenced by embedPflowSuperCluster(), parentSuperCluster(), and pat::PATElectronSlimmer::produce().

bool pat::Electron::embeddedRecHits_
protected

True if RecHits stored internally.

Definition at line 287 of file Electron.h.

Referenced by embedRecHits(), and pat::PATElectronSlimmer::produce().

bool pat::Electron::embeddedSeedCluster_
protected

True if seed cluster is stored internally.

Definition at line 283 of file Electron.h.

Referenced by embedSeedCluster(), pat::PATElectronSlimmer::produce(), seed(), and superCluster().

bool pat::Electron::embeddedSuperCluster_
protected

True if electron's supercluster is stored internally.

Definition at line 261 of file Electron.h.

Referenced by embedSuperCluster(), pat::PATElectronSlimmer::produce(), and superCluster().

bool pat::Electron::embeddedTrack_
protected

True if electron's track is stored internally.

Definition at line 279 of file Electron.h.

Referenced by closestCtfTrackRef(), and embedTrack().

std::vector<reco::GsfElectronCore> pat::Electron::gsfElectronCore_
protected

Place to store electron's gsfElectronCore internally.

Definition at line 255 of file Electron.h.

Referenced by core(), and embedGsfElectronCore().

std::vector<reco::GsfTrack> pat::Electron::gsfTrack_
protected

Place to store electron's gsfTrack internally.

Definition at line 259 of file Electron.h.

Referenced by embedGsfTrack(), and gsfTrack().

double pat::Electron::ip3d_
protected

Definition at line 320 of file Electron.h.

Referenced by ip3d(), and setMvaVariables().

std::vector<double> pat::Electron::ip_
protected

Impact parameter at the primary vertex,.

Definition at line 346 of file Electron.h.

Referenced by dB(), initImpactParameters(), and setDB().

bool pat::Electron::isPF_
protected

Definition at line 296 of file Electron.h.

Referenced by isPF(), and setIsPF().

edm::RefProd<pat::PackedCandidateCollection> pat::Electron::packedPFCandidates_
protected
bool pat::Electron::passConversionVeto_
protected

conversion veto

Definition at line 340 of file Electron.h.

Referenced by passConversionVeto(), and setPassConversionVeto().

reco::PFCandidateCollection pat::Electron::pfCandidate_
protected

A copy of the source IsolatedPFCandidate is stored in this vector if embeddedPFCandidate_ if True.

Definition at line 300 of file Electron.h.

Referenced by embedPFCandidate(), and pfCandidateRef().

reco::PFCandidateRef pat::Electron::pfCandidateRef_
protected

reference to the IsolatedPFCandidate this has been built from; null if this has been built from a standard electron

Definition at line 302 of file Electron.h.

Referenced by embedPFCandidate(), numberOfSourceCandidatePtrs(), pfCandidateRef(), setPFCandidateRef(), and sourceCandidatePtr().

std::vector<reco::CaloCluster> pat::Electron::pflowBasicClusters_
protected

Place to store electron's pflow basic clusters internally.

Definition at line 273 of file Electron.h.

Referenced by embedPflowBasicClusters(), pflowBasicClusters(), and pat::PATElectronSlimmer::produce().

std::vector<reco::CaloCluster> pat::Electron::pflowPreshowerClusters_
protected

Place to store electron's pflow preshower clusters internally.

Definition at line 275 of file Electron.h.

Referenced by embedPflowPreshowerClusters(), pflowPreshowerClusters(), and pat::PATElectronSlimmer::produce().

std::vector<reco::SuperCluster> pat::Electron::pflowSuperCluster_
protected

Place to store electron's pflow supercluster internally.

Definition at line 277 of file Electron.h.

Referenced by embedPflowSuperCluster(), parentSuperCluster(), and pat::PATElectronSlimmer::produce().

std::vector<reco::CaloCluster> pat::Electron::preshowerClusters_
protected

Place to store electron's preshower clusters internally.

Definition at line 271 of file Electron.h.

Referenced by embedPreshowerClusters(), preshowerClusters(), pat::PATElectronSlimmer::produce(), and superCluster().

double pat::Electron::r9_
protected

additional missing mva variables : 14/04/2012

Definition at line 317 of file Electron.h.

Referenced by r9(), and setMvaVariables().

EcalRecHitCollection pat::Electron::recHits_
protected

Place to store electron's RecHits internally (5x5 around seed+ all RecHits)

Definition at line 289 of file Electron.h.

Referenced by embedRecHits(), pat::PATElectronSlimmer::produce(), and recHits().

std::vector<reco::CaloCluster> pat::Electron::seedCluster_
protected

Place to store electron's seed cluster internally.

Definition at line 285 of file Electron.h.

Referenced by embedSeedCluster(), pat::PATElectronSlimmer::produce(), and seed().

double pat::Electron::sigmaIetaIphi_
protected

Definition at line 319 of file Electron.h.

Referenced by setMvaVariables(), and sigmaIetaIphi().

double pat::Electron::sigmaIphiIphi_
protected

Definition at line 318 of file Electron.h.

Referenced by setMvaVariables(), and sigmaIphiIphi().

std::vector<reco::SuperCluster> pat::Electron::superCluster_
protected

Place to store electron's supercluster internally.

Definition at line 265 of file Electron.h.

Referenced by embedSuperCluster(), pat::PATElectronSlimmer::produce(), and superCluster().

edm::AtomicPtrCache<std::vector<reco::SuperCluster> > pat::Electron::superClusterRelinked_
protected

Place to temporarily store the electron's supercluster after relinking the seed to it.

Definition at line 267 of file Electron.h.

Referenced by superCluster().

std::vector<reco::Track> pat::Electron::track_
protected

Place to store electron's track internally.

Definition at line 281 of file Electron.h.

Referenced by closestCtfTrackRef(), and embedTrack().