Analysis-level electron class. More...
#include <DataFormats/PatCandidates/interface/Electron.h>
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 Member Functions | |
float | caloIso () const |
Overload of pat::Lepton::caloIso(); returns the sum of ecalIso() and hcalIso. | |
virtual Electron * | clone () const |
required reimplementation of the Candidate's clone method | |
reco::TrackRef | closestCtfTrackRef () const |
override the reco::GsfElectron::closestCtfTrackRef method, to access the internal storage of the track | |
virtual reco::GsfElectronCoreRef | core () const |
override the virtual reco::GsfElectron::core method, so that the embedded core can be used by GsfElectron client methods | |
double | dB (IpType type=None) const |
Impact parameter wrt primary vertex or beamspot. | |
const LorentzVector & | ecalDrivenMomentum () 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. | |
double | ecalRegressionEnergy () const |
double | ecalRegressionError () const |
double | ecalRegressionScale () const |
double | ecalRegressionSmear () const |
double | ecalScale () const |
get scale corrections /smearings | |
double | ecalSmear () const |
double | ecalTrackRegressionEnergy () const |
regression2 | |
double | ecalTrackRegressionError () const |
double | ecalTrackRegressionScale () const |
double | ecalTrackRegressionSmear () const |
double | edB (IpType type=None) const |
Uncertainty on the corresponding impact parameter. | |
Electron (const edm::Ptr< reco::GsfElectron > &anElectronRef) | |
constructor from a Ptr to a reco::GsfElectron | |
Electron (const reco::GsfElectron &anElectron) | |
constructor from reco::GsfElectron | |
Electron (const edm::RefToBase< reco::GsfElectron > &anElectronRef) | |
constructor from a RefToBase to a reco::GsfElectron (to be superseded by Ptr counterpart) | |
Electron () | |
default constructor | |
float | electronID (const std::string &name) const |
Returns a specific electron ID associated to the pat::Electron given its name. | |
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. | |
void | embedGsfElectronCore () |
method to store the electron's core internally | |
void | embedGsfTrack () |
method to store the electron's GsfTrack internally | |
void | embedPFCandidate () |
embed the PFCandidate pointed to by pfCandidateRef_ | |
void | embedRecHits (const EcalRecHitCollection *rechits) |
method to store the RecHits internally - can be called from the PATElectronProducer | |
void | embedSeedCluster () |
method to store the electron's seedcluster internally | |
void | embedSuperCluster () |
method to store the electron's SuperCluster internally | |
void | embedTrack () |
method to store the electron's Track internally | |
reco::GsfTrackRef | gsfTrack () const |
override the reco::GsfElectron::gsfTrack method, to access the internal storage of the supercluster | |
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. | |
double | ip3d () const |
ip3d | |
bool | isElectronIDAvailable (const std::string &name) const |
Returns true if a specific ID is available in this pat::Electron. | |
bool | isElectronIDAvailable (const char *name) const |
bool | isPF () const |
size_t | numberOfSourceCandidatePtrs () const |
get the number of non-null PFCandidates | |
bool | passConversionVeto () const |
vertex fit combined with missing number of hits method | |
reco::PFCandidateRef | pfCandidateRef () const |
reference to the source PFCandidates; null if this has been built from a standard electron | |
double | r9 () const |
const EcalRecHitCollection * | recHits () const |
reco::CaloClusterPtr | seed () const |
direct access to the seed cluster | |
void | setDB (double dB, double edB, IpType type=None) |
Set impact parameter of a certain type and its uncertainty. | |
void | setEcalDrivenMomentum (const Candidate::LorentzVector &mom) |
void | setEcalRegressionEnergy (double val, double err) |
set regression1 | |
void | setEcalRegressionScale (double val) |
void | setEcalRegressionSmear (double val) |
void | setEcalScale (double val) |
set scale corrections / smearings | |
void | setEcalSmear (double val) |
void | setEcalTrackRegressionEnergy (double val, double err) |
set regression2 | |
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. | |
void | setIsPF (bool hasPFCandidate) |
void | setMvaVariables (double r9, double sigmaIphiIphi, double sigmaIetaIphi, double ip3d) |
set missing mva input variables | |
void | setPassConversionVeto (bool flag) |
void | setPFCandidateRef (const reco::PFCandidateRef &ref) |
add a reference to the source IsolatedPFCandidate | |
double | sigmaIetaIphi () const |
sigmaIEtaIPhi | |
double | sigmaIphiIphi () const |
sigmaIPhiPhi | |
reco::CandidatePtr | sourceCandidatePtr (size_type i) const |
get the source candidate pointer with index i | |
reco::SuperClusterRef | superCluster () const |
override the reco::GsfElectron::superCluster method, to access the internal storage of the supercluster | |
reco::TrackRef | track () const |
returns nothing. Use either gsfTrack or closestCtfTrack | |
float | trackIso () const |
Overload of pat::Lepton::trackIso(); returns the value of the summed track pt in a cone of deltaR<0.4. | |
virtual | ~Electron () |
destructor | |
Protected Member Functions | |
void | initImpactParameters () |
init impact parameter defaults (for use in a constructor) | |
Protected Attributes | |
bool | cachedDB_ |
True if impact parameter has been cached. | |
std::vector< bool > | cachedIP_ |
True if the IP (former dB) has been cached. | |
double | dB_ |
Impact parameter at the primary vertex. | |
LorentzVector | ecalDrivenMomentum_ |
ECAL-driven momentum. | |
double | ecalRegressionEnergy_ |
output of regression | |
double | ecalRegressionError_ |
double | ecalRegressionScale_ |
double | ecalRegressionSmear_ |
double | ecalScale_ |
scale corrections and smearing applied or to be be applied. Initialized to -99999. | |
double | ecalSmear_ |
double | ecalTrackRegressionEnergy_ |
double | ecalTrackRegressionError_ |
double | ecalTrackRegressionScale_ |
double | ecalTrackRegressionSmear_ |
double | edB_ |
Impact paramater uncertainty at the primary vertex. | |
std::vector< double > | eip_ |
Impact parameter uncertainty as recommended by the tracking group. | |
std::vector< IdPair > | electronIDs_ |
Electron IDs. | |
bool | embeddedGsfElectronCore_ |
True if electron's gsfElectronCore is stored internally. | |
bool | embeddedGsfTrack_ |
True if electron's gsfTrack is stored internally. | |
bool | embeddedPFCandidate_ |
true if the IsolatedPFCandidate is embedded | |
bool | embeddedRecHits_ |
True if RecHits stored internally. | |
bool | embeddedSeedCluster_ |
True if seed cluster is stored internally. | |
bool | embeddedSuperCluster_ |
True if electron's supercluster is stored internally. | |
bool | embeddedTrack_ |
True if electron's track is stored internally. | |
std::vector < reco::GsfElectronCore > | gsfElectronCore_ |
Place to store electron's gsfElectronCore internally. | |
std::vector< reco::GsfTrack > | gsfTrack_ |
Place to store electron's gsfTrack internally. | |
double | ip3d_ |
std::vector< double > | ip_ |
Impact parameter at the primary vertex,. | |
bool | isPF_ |
bool | passConversionVeto_ |
conversion veto | |
reco::PFCandidateCollection | pfCandidate_ |
A copy of the source IsolatedPFCandidate is stored in this vector if embeddedPFCandidate_ if True. | |
reco::PFCandidateRef | pfCandidateRef_ |
reference to the IsolatedPFCandidate this has been built from; null if this has been built from a standard electron | |
double | r9_ |
additional missing mva variables : 14/04/2012 | |
EcalRecHitCollection | recHits_ |
Place to store electron's RecHits internally (5x5 around seed+ all RecHits) | |
std::vector< reco::CaloCluster > | seedCluster_ |
Place to store electron's seed cluster internally. | |
double | sigmaIetaIphi_ |
double | sigmaIphiIphi_ |
std::vector< reco::SuperCluster > | superCluster_ |
Place to store electron's supercluster internally. | |
std::vector< reco::Track > | track_ |
Place to store electron's track internally. | |
Friends | |
std::ostream & | reco::operator<< (std::ostream &out, const pat::Electron &obj) |
pipe operator (introduced to use pat::Electron with PFTopProjectors) |
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
Definition at line 52 of file Electron.h.
typedef std::pair<std::string,float> pat::Electron::IdPair |
Definition at line 56 of file Electron.h.
typedef enum pat::Electron::IPTYPE pat::Electron::IpType |
Electron::Electron | ( | ) |
default constructor
Definition at line 13 of file Electron.cc.
References initImpactParameters().
Referenced by clone().
: Lepton<reco::GsfElectron>(), embeddedGsfElectronCore_(false), embeddedGsfTrack_(false), embeddedSuperCluster_(false), embeddedTrack_(false), embeddedSeedCluster_(false), embeddedRecHits_(false), embeddedPFCandidate_(false), ecalDrivenMomentum_(Candidate::LorentzVector(0.,0.,0.,0.)), cachedDB_(false), dB_(0.0), edB_(0.0), ecalRegressionEnergy_(0.0), ecalTrackRegressionEnergy_(0.0), ecalRegressionError_(0.0), ecalTrackRegressionError_(0.0), ecalScale_(-99999.), ecalSmear_(-99999.), ecalRegressionScale_(-99999.), ecalRegressionSmear_(-99999.), ecalTrackRegressionScale_(-99999.), ecalTrackRegressionSmear_(-99999.) { initImpactParameters(); }
Electron::Electron | ( | const reco::GsfElectron & | anElectron | ) |
constructor from reco::GsfElectron
Definition at line 41 of file Electron.cc.
References initImpactParameters().
: Lepton<reco::GsfElectron>(anElectron), embeddedGsfElectronCore_(false), embeddedGsfTrack_(false), embeddedSuperCluster_(false), embeddedTrack_(false), embeddedSeedCluster_(false), embeddedRecHits_(false), embeddedPFCandidate_(false), ecalDrivenMomentum_(anElectron.p4()), cachedDB_(false), dB_(0.0), edB_(0.0) { initImpactParameters(); }
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 59 of file Electron.cc.
References initImpactParameters().
: Lepton<reco::GsfElectron>(anElectronRef), embeddedGsfElectronCore_(false), embeddedGsfTrack_(false), embeddedSuperCluster_(false), embeddedTrack_(false), embeddedSeedCluster_(false), embeddedRecHits_(false), embeddedPFCandidate_(false), ecalDrivenMomentum_(anElectronRef->p4()), cachedDB_(false), dB_(0.0), edB_(0.0) { initImpactParameters(); }
Electron::Electron | ( | const edm::Ptr< reco::GsfElectron > & | anElectronRef | ) |
constructor from a Ptr to a reco::GsfElectron
Definition at line 77 of file Electron.cc.
References initImpactParameters().
: Lepton<reco::GsfElectron>(anElectronRef), embeddedGsfElectronCore_(false), embeddedGsfTrack_(false), embeddedSuperCluster_(false), embeddedTrack_(false), embeddedSeedCluster_(false), embeddedRecHits_(false), embeddedPFCandidate_(false), ecalDrivenMomentum_(anElectronRef->p4()), cachedDB_(false), dB_(0.0), edB_(0.0) { initImpactParameters(); }
Electron::~Electron | ( | ) | [virtual] |
float pat::Electron::caloIso | ( | ) | const [inline] |
Overload of pat::Lepton::caloIso(); returns the sum of ecalIso() and hcalIso.
Reimplemented from pat::Lepton< reco::GsfElectron >.
Definition at line 135 of file Electron.h.
virtual Electron* pat::Electron::clone | ( | void | ) | const [inline, virtual] |
required reimplementation of the Candidate's clone method
Reimplemented from pat::Lepton< reco::GsfElectron >.
Definition at line 70 of file Electron.h.
References Electron().
{ return new Electron(*this); }
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
Reimplemented from reco::GsfElectron.
Definition at line 164 of file Electron.cc.
References embeddedTrack_, and track_.
Referenced by WenuPlots::analyze().
{ if (embeddedTrack_) { return reco::TrackRef(&track_, 0); } else { return reco::GsfElectron::closestCtfTrackRef(); } }
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 136 of file Electron.cc.
References embeddedGsfElectronCore_, and gsfElectronCore_.
{ if (embeddedGsfElectronCore_) { return reco::GsfElectronCoreRef(&gsfElectronCore_, 0); } else { return reco::GsfElectron::core(); } }
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 309 of file Electron.cc.
References cachedDB_, cachedIP_, dB_, ip_, max(), and None.
Referenced by WenuPlots::analyze(), ElectronVPlusJetsIDSelectionFunctor::firstDataCuts(), ZeePlots::ReturnCandVar(), setDB(), and PFElectronSelector::spring11Cuts().
{ // preserve old functionality exactly if (type_ == None){ if ( cachedDB_ ) { return dB_; } else { return std::numeric_limits<double>::max(); } } // more IP types (new) else if ( cachedIP_[type_] ) { return ip_[type_]; } else { return std::numeric_limits<double>::max(); } }
const LorentzVector& pat::Electron::ecalDrivenMomentum | ( | ) | const [inline] |
Definition at line 166 of file Electron.h.
References ecalDrivenMomentum_.
{return ecalDrivenMomentum_;}
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.
Reimplemented from pat::Lepton< reco::GsfElectron >.
Definition at line 131 of file Electron.h.
References reco::GsfElectron::dr04EcalRecHitSumEt().
Referenced by caloIso().
{ return dr04EcalRecHitSumEt(); }
double pat::Electron::ecalRegressionEnergy | ( | ) | const [inline] |
additional regression variables regression1
Definition at line 188 of file Electron.h.
References ecalRegressionEnergy_.
{ return ecalRegressionEnergy_;}
double pat::Electron::ecalRegressionError | ( | ) | const [inline] |
Definition at line 189 of file Electron.h.
References ecalRegressionError_.
{ return ecalRegressionError_;}
double pat::Electron::ecalRegressionScale | ( | ) | const [inline] |
Definition at line 209 of file Electron.h.
References ecalRegressionScale_.
{ return ecalRegressionScale_ ;}
double pat::Electron::ecalRegressionSmear | ( | ) | const [inline] |
Definition at line 210 of file Electron.h.
References ecalRegressionSmear_.
{ return ecalRegressionSmear_ ;}
double pat::Electron::ecalScale | ( | ) | const [inline] |
get scale corrections /smearings
Definition at line 207 of file Electron.h.
References ecalScale_.
{ return ecalScale_ ;}
double pat::Electron::ecalSmear | ( | ) | const [inline] |
double pat::Electron::ecalTrackRegressionEnergy | ( | ) | const [inline] |
regression2
Definition at line 191 of file Electron.h.
References ecalTrackRegressionEnergy_.
{ return ecalTrackRegressionEnergy_; }
double pat::Electron::ecalTrackRegressionError | ( | ) | const [inline] |
Definition at line 192 of file Electron.h.
References ecalTrackRegressionError_.
{ return ecalTrackRegressionError_; }
double pat::Electron::ecalTrackRegressionScale | ( | ) | const [inline] |
Definition at line 211 of file Electron.h.
References ecalTrackRegressionScale_.
{ return ecalTrackRegressionScale_ ;}
double pat::Electron::ecalTrackRegressionSmear | ( | ) | const [inline] |
Definition at line 212 of file Electron.h.
References ecalTrackRegressionSmear_.
{ return ecalTrackRegressionSmear_ ;}
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 336 of file Electron.cc.
References cachedDB_, cachedIP_, edB_, eip_, max(), and None.
Referenced by ElectronVPlusJetsIDSelectionFunctor::firstDataCuts(), and setDB().
{ // preserve old functionality exactly if (type_ == None) { if ( cachedDB_ ) { return edB_; } else { return std::numeric_limits<double>::max(); } } // more IP types (new) else if ( cachedIP_[type_] ) { return eip_[type_]; } else { return std::numeric_limits<double>::max(); } }
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 246 of file Electron.cc.
References electronIDs_.
Referenced by WenuPlots::analyze(), WenuPlots::CheckCuts(), ZeePlots::CheckCuts1(), ZeePlots::CheckCuts2(), and PFElectronSelector::spring11Cuts().
{ for (std::vector<IdPair>::const_iterator it = electronIDs_.begin(), ed = electronIDs_.end(); it != ed; ++it) { if (it->first == name) return it->second; } cms::Exception ex("Key not found"); ex << "pat::Electron: the ID " << name << " can't be found in this pat::Electron.\n"; ex << "The available IDs are: "; for (std::vector<IdPair>::const_iterator it = electronIDs_.begin(), ed = electronIDs_.end(); it != ed; ++it) { ex << "'" << it->first << "' "; } ex << ".\n"; throw ex; }
float pat::Electron::electronID | ( | const char * | name | ) | const [inline] |
Definition at line 116 of file Electron.h.
References electronID(), and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by electronID().
{ return electronID( std::string(name) );}
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 123 of file Electron.h.
References electronIDs_.
{ return electronIDs_; }
void Electron::embedGsfElectronCore | ( | ) |
method to store the electron's core internally
Stores the electron's core (reco::GsfElectronCoreRef) internally.
Definition at line 178 of file Electron.cc.
References reco::GsfElectron::core(), embeddedGsfElectronCore_, and gsfElectronCore_.
Referenced by pat::PATElectronProducer::fillElectron(), and pat::PATElectronProducer::fillElectron2().
{ gsfElectronCore_.clear(); if (reco::GsfElectron::core().isNonnull()) { gsfElectronCore_.push_back(*reco::GsfElectron::core()); embeddedGsfElectronCore_ = true; } }
void Electron::embedGsfTrack | ( | ) |
method to store the electron's GsfTrack internally
Stores the electron's gsfTrack (reco::GsfTrackRef) internally.
Definition at line 187 of file Electron.cc.
References embeddedGsfTrack_, reco::GsfElectron::gsfTrack(), and gsfTrack_.
Referenced by pat::PATElectronProducer::fillElectron(), and pat::PATElectronProducer::fillElectron2().
{ gsfTrack_.clear(); if (reco::GsfElectron::gsfTrack().isNonnull()) { gsfTrack_.push_back(*reco::GsfElectron::gsfTrack()); embeddedGsfTrack_ = true; } }
void Electron::embedPFCandidate | ( | ) |
embed the PFCandidate pointed to by pfCandidateRef_
Stores the PFCandidate pointed to by pfCandidateRef_ internally.
Definition at line 279 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().
{ pfCandidate_.clear(); if ( pfCandidateRef_.isAvailable() && pfCandidateRef_.isNonnull()) { pfCandidate_.push_back( *pfCandidateRef_ ); embeddedPFCandidate_ = true; } }
void Electron::embedRecHits | ( | const EcalRecHitCollection * | rechits | ) |
method to store the RecHits internally - can be called from the PATElectronProducer
Definition at line 225 of file Electron.cc.
References embeddedRecHits_, HI_PhotonSkim_cff::rechits, and recHits_.
Referenced by pat::PATElectronProducer::produce().
{ if (rechits!=0) { recHits_ = *rechits; embeddedRecHits_ = true; } }
void Electron::embedSeedCluster | ( | ) |
method to store the electron's seedcluster internally
Stores the electron's SeedCluster (reco::BasicClusterPtr) internally.
Definition at line 206 of file Electron.cc.
References embeddedSeedCluster_, seed(), seedCluster_, and reco::GsfElectron::superCluster().
Referenced by pat::PATElectronProducer::fillElectron(), and pat::PATElectronProducer::fillElectron2().
{ seedCluster_.clear(); if (reco::GsfElectron::superCluster().isNonnull() && reco::GsfElectron::superCluster()->seed().isNonnull()) { seedCluster_.push_back(*reco::GsfElectron::superCluster()->seed()); embeddedSeedCluster_ = true; } }
void Electron::embedSuperCluster | ( | ) |
method to store the electron's SuperCluster internally
Stores the electron's SuperCluster (reco::SuperClusterRef) internally.
Definition at line 197 of file Electron.cc.
References embeddedSuperCluster_, reco::GsfElectron::superCluster(), and superCluster_.
Referenced by pat::PATElectronProducer::fillElectron(), and pat::PATElectronProducer::fillElectron2().
{ superCluster_.clear(); if (reco::GsfElectron::superCluster().isNonnull()) { superCluster_.push_back(*reco::GsfElectron::superCluster()); embeddedSuperCluster_ = true; } }
void Electron::embedTrack | ( | ) |
method to store the electron's Track internally
method to store the electron's track internally
Definition at line 216 of file Electron.cc.
References reco::GsfElectron::closestCtfTrackRef(), embeddedTrack_, and track_.
Referenced by pat::PATElectronProducer::fillElectron(), and pat::PATElectronProducer::fillElectron2().
{ track_.clear(); if (reco::GsfElectron::closestCtfTrackRef().isNonnull()) { track_.push_back(*reco::GsfElectron::closestCtfTrackRef()); embeddedTrack_ = true; } }
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 127 of file Electron.cc.
References embeddedGsfTrack_, and gsfTrack_.
Referenced by WenuPlots::analyze(), pat::CaloIsolationEnergy::calculate(), pat::LeptonVertexSignificance::calculate(), pat::TrackerIsolationPt::calculate(), SimpleCutBasedElectronIDSelectionFunctor::spring10Variables(), and PFElectronSelector::spring11Cuts().
{ if (embeddedGsfTrack_) { return reco::GsfTrackRef(&gsfTrack_, 0); } else { return reco::GsfElectron::gsfTrack(); } }
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.
Reimplemented from pat::Lepton< reco::GsfElectron >.
Definition at line 133 of file Electron.h.
References reco::GsfElectron::dr04HcalTowerSumEt().
Referenced by caloIso().
{ return dr04HcalTowerSumEt(); }
void Electron::initImpactParameters | ( | ) | [protected] |
init impact parameter defaults (for use in a constructor)
initializes the impact parameter container vars
Definition at line 117 of file Electron.cc.
References cachedIP_, eip_, and ip_.
Referenced by Electron().
double pat::Electron::ip3d | ( | ) | const [inline] |
ip3d
Definition at line 180 of file Electron.h.
References ip3d_.
Referenced by setMvaVariables().
{ return ip3d_; }
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 261 of file Electron.cc.
References electronIDs_.
Referenced by WenuPlots::analyze(), and isElectronIDAvailable().
{ for (std::vector<IdPair>::const_iterator it = electronIDs_.begin(), ed = electronIDs_.end(); it != ed; ++it) { if (it->first == name) return true; } return false; }
bool pat::Electron::isElectronIDAvailable | ( | const char * | name | ) | const [inline] |
Definition at line 119 of file Electron.h.
References isElectronIDAvailable(), and AlCaHLTBitMon_QueryRunRegistry::string.
{ return isElectronIDAvailable(std::string(name)); }
bool pat::Electron::isPF | ( | ) | const [inline] |
size_t pat::Electron::numberOfSourceCandidatePtrs | ( | ) | const [inline, virtual] |
get the number of non-null PFCandidates
Reimplemented from reco::LeafCandidate.
Definition at line 150 of file Electron.h.
References edm::Ref< C, T, F >::isNonnull(), and pfCandidateRef_.
{ return pfCandidateRef_.isNonnull() ? 1 : 0; }
bool pat::Electron::passConversionVeto | ( | ) | const [inline] |
vertex fit combined with missing number of hits method
Definition at line 214 of file Electron.h.
References passConversionVeto_.
{ return passConversionVeto_; }
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 270 of file Electron.cc.
References embeddedPFCandidate_, pfCandidate_, and pfCandidateRef_.
Referenced by pat::PATElectronProducer::fillElectron(), and pat::PATElectronProducer::fillElectron2().
{ if (embeddedPFCandidate_) { return reco::PFCandidateRef(&pfCandidate_, 0); } else { return pfCandidateRef_; } }
double pat::Electron::r9 | ( | ) | const [inline] |
additional mva input variables R9 variable
Reimplemented from reco::GsfElectron.
Definition at line 174 of file Electron.h.
References r9_.
Referenced by setMvaVariables().
{ return r9_; };
const EcalRecHitCollection* pat::Electron::recHits | ( | void | ) | const [inline] |
reco::CaloClusterPtr Electron::seed | ( | ) | const |
direct access to the seed cluster
Definition at line 155 of file Electron.cc.
References embeddedSeedCluster_, seedCluster_, and superCluster().
Referenced by embedSeedCluster().
{ if(embeddedSeedCluster_){ return reco::CaloClusterPtr(&seedCluster_,0); } else { return reco::GsfElectron::superCluster()->seed(); } }
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 355 of file Electron.cc.
References cachedDB_, cachedIP_, dB(), dB_, edB(), edB_, eip_, ip_, and None.
Referenced by pat::PATElectronProducer::embedHighLevel(), and pat::PATElectronProducer::produce().
void pat::Electron::setEcalDrivenMomentum | ( | const Candidate::LorentzVector & | mom | ) | [inline] |
Definition at line 167 of file Electron.h.
References ecalDrivenMomentum_.
Referenced by pat::PATElectronProducer::fillElectron2().
{ecalDrivenMomentum_=mom;}
void pat::Electron::setEcalRegressionEnergy | ( | double | val, |
double | err | ||
) | [inline] |
set regression1
Definition at line 194 of file Electron.h.
References ecalRegressionEnergy_, and ecalRegressionError_.
{ ecalRegressionEnergy_ = val; ecalRegressionError_ = err; }
void pat::Electron::setEcalRegressionScale | ( | double | val | ) | [inline] |
Definition at line 201 of file Electron.h.
References ecalRegressionScale_.
{ ecalRegressionScale_ = val ;}
void pat::Electron::setEcalRegressionSmear | ( | double | val | ) | [inline] |
Definition at line 202 of file Electron.h.
References ecalRegressionSmear_.
{ ecalRegressionSmear_ = val;}
void pat::Electron::setEcalScale | ( | double | val | ) | [inline] |
set scale corrections / smearings
Definition at line 199 of file Electron.h.
References ecalScale_.
{ ecalScale_= val ;}
void pat::Electron::setEcalSmear | ( | double | val | ) | [inline] |
void pat::Electron::setEcalTrackRegressionEnergy | ( | double | val, |
double | err | ||
) | [inline] |
set regression2
Definition at line 196 of file Electron.h.
References ecalTrackRegressionEnergy_, and ecalTrackRegressionError_.
{ ecalTrackRegressionEnergy_ = val; ecalTrackRegressionError_ = err; }
void pat::Electron::setEcalTrackRegressionScale | ( | double | val | ) | [inline] |
Definition at line 203 of file Electron.h.
References ecalTrackRegressionScale_.
{ ecalTrackRegressionScale_ = val;}
void pat::Electron::setEcalTrackRegressionSmear | ( | double | val | ) | [inline] |
Definition at line 204 of file Electron.h.
References ecalTrackRegressionSmear_.
{ ecalTrackRegressionSmear_ = val;}
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 125 of file Electron.h.
References electronIDs_.
Referenced by pat::PATElectronProducer::produce().
{ electronIDs_ = ids; }
void pat::Electron::setIsPF | ( | bool | hasPFCandidate | ) | [inline] |
Definition at line 139 of file Electron.h.
References isPF_.
Referenced by pat::PATElectronProducer::produce().
{ 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 367 of file Electron.cc.
References ip3d(), ip3d_, r9(), r9_, sigmaIetaIphi(), sigmaIetaIphi_, sigmaIphiIphi(), and sigmaIphiIphi_.
Referenced by pat::PATElectronProducer::produce().
{ r9_ = r9; sigmaIphiIphi_ = sigmaIphiIphi; sigmaIetaIphi_ = sigmaIetaIphi; ip3d_ = ip3d; }
void pat::Electron::setPassConversionVeto | ( | bool | flag | ) | [inline] |
Definition at line 215 of file Electron.h.
References passConversionVeto_.
Referenced by pat::PATElectronProducer::produce().
{ passConversionVeto_ = flag; }
void pat::Electron::setPFCandidateRef | ( | const reco::PFCandidateRef & | ref | ) | [inline] |
add a reference to the source IsolatedPFCandidate
Definition at line 144 of file Electron.h.
References pfCandidateRef_.
Referenced by pat::PATElectronProducer::produce().
{ pfCandidateRef_ = ref; }
double pat::Electron::sigmaIetaIphi | ( | ) | const [inline] |
sigmaIEtaIPhi
Definition at line 178 of file Electron.h.
References sigmaIetaIphi_.
Referenced by setMvaVariables().
{ return sigmaIetaIphi_; };
double pat::Electron::sigmaIphiIphi | ( | ) | const [inline] |
sigmaIPhiPhi
Reimplemented from reco::GsfElectron.
Definition at line 176 of file Electron.h.
References sigmaIphiIphi_.
Referenced by setMvaVariables().
{ return sigmaIphiIphi_; };
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 289 of file Electron.cc.
References embeddedPFCandidate_, edm::Ref< C, T, F >::get(), edm::Ref< C, T, F >::id(), edm::Ref< C, T, F >::key(), and pfCandidateRef_.
{ if (embeddedPFCandidate_) { return reco::CandidatePtr( pfCandidateRef_.id(), pfCandidateRef_.get(), pfCandidateRef_.key() ); } else { return reco::CandidatePtr(); } }
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 146 of file Electron.cc.
References embeddedSuperCluster_, and superCluster_.
Referenced by WenuPlots::analyze(), WenuPlots::CheckCut(), ZeePlots::CheckCut1(), ZeePlots::CheckCut1Inv(), ZeePlots::CheckCut2(), ZeePlots::CheckCut2Inv(), WenuPlots::CheckCutInv(), hitfit::LeptonTranslatorBase< ALepton >::CheckEta(), hitfit::LeptonTranslatorBase< ALepton >::operator()(), and seed().
{ if (embeddedSuperCluster_) { return reco::SuperClusterRef(&superCluster_, 0); } else { return reco::GsfElectron::superCluster(); } }
reco::TrackRef Electron::track | ( | void | ) | const [virtual] |
returns nothing. Use either gsfTrack or closestCtfTrack
Reimplemented from reco::RecoCandidate.
Definition at line 173 of file Electron.cc.
{ return reco::TrackRef(); }
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.
Reimplemented from pat::Lepton< reco::GsfElectron >.
Definition at line 129 of file Electron.h.
References reco::GsfElectron::dr04TkSumPt().
{ return dr04TkSumPt(); }
std::ostream& reco::operator<< | ( | std::ostream & | out, |
const pat::Electron & | obj | ||
) | [friend] |
pipe operator (introduced to use pat::Electron with PFTopProjectors)
bool pat::Electron::cachedDB_ [protected] |
True if impact parameter has been cached.
Definition at line 266 of file Electron.h.
std::vector<bool> pat::Electron::cachedIP_ [protected] |
True if the IP (former dB) has been cached.
Definition at line 300 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 268 of file Electron.h.
LorentzVector pat::Electron::ecalDrivenMomentum_ [protected] |
ECAL-driven momentum.
Definition at line 262 of file Electron.h.
Referenced by ecalDrivenMomentum(), and setEcalDrivenMomentum().
double pat::Electron::ecalRegressionEnergy_ [protected] |
output of regression
Definition at line 279 of file Electron.h.
Referenced by ecalRegressionEnergy(), and setEcalRegressionEnergy().
double pat::Electron::ecalRegressionError_ [protected] |
Definition at line 281 of file Electron.h.
Referenced by ecalRegressionError(), and setEcalRegressionEnergy().
double pat::Electron::ecalRegressionScale_ [protected] |
Definition at line 288 of file Electron.h.
Referenced by ecalRegressionScale(), and setEcalRegressionScale().
double pat::Electron::ecalRegressionSmear_ [protected] |
Definition at line 289 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 285 of file Electron.h.
Referenced by ecalScale(), and setEcalScale().
double pat::Electron::ecalSmear_ [protected] |
Definition at line 286 of file Electron.h.
Referenced by ecalSmear(), and setEcalSmear().
double pat::Electron::ecalTrackRegressionEnergy_ [protected] |
Definition at line 280 of file Electron.h.
Referenced by ecalTrackRegressionEnergy(), and setEcalTrackRegressionEnergy().
double pat::Electron::ecalTrackRegressionError_ [protected] |
Definition at line 282 of file Electron.h.
Referenced by ecalTrackRegressionError(), and setEcalTrackRegressionEnergy().
double pat::Electron::ecalTrackRegressionScale_ [protected] |
Definition at line 291 of file Electron.h.
Referenced by ecalTrackRegressionScale(), and setEcalTrackRegressionScale().
double pat::Electron::ecalTrackRegressionSmear_ [protected] |
Definition at line 292 of file Electron.h.
Referenced by ecalTrackRegressionSmear(), and setEcalTrackRegressionSmear().
double pat::Electron::edB_ [protected] |
Impact paramater uncertainty at the primary vertex.
Definition at line 270 of file Electron.h.
std::vector<double> pat::Electron::eip_ [protected] |
Impact parameter uncertainty as recommended by the tracking group.
Definition at line 304 of file Electron.h.
Referenced by edB(), initImpactParameters(), and setDB().
std::vector<IdPair> pat::Electron::electronIDs_ [protected] |
Electron IDs.
Definition at line 249 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 223 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 227 of file Electron.h.
Referenced by embedGsfTrack(), and gsfTrack().
bool pat::Electron::embeddedPFCandidate_ [protected] |
true if the IsolatedPFCandidate is embedded
Definition at line 254 of file Electron.h.
Referenced by embedPFCandidate(), pfCandidateRef(), and sourceCandidatePtr().
bool pat::Electron::embeddedRecHits_ [protected] |
True if RecHits stored internally.
Definition at line 243 of file Electron.h.
Referenced by embedRecHits().
bool pat::Electron::embeddedSeedCluster_ [protected] |
True if seed cluster is stored internally.
Definition at line 239 of file Electron.h.
Referenced by embedSeedCluster(), and seed().
bool pat::Electron::embeddedSuperCluster_ [protected] |
True if electron's supercluster is stored internally.
Definition at line 231 of file Electron.h.
Referenced by embedSuperCluster(), and superCluster().
bool pat::Electron::embeddedTrack_ [protected] |
True if electron's track is stored internally.
Definition at line 235 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 225 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 229 of file Electron.h.
Referenced by embedGsfTrack(), and gsfTrack().
double pat::Electron::ip3d_ [protected] |
Definition at line 276 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 302 of file Electron.h.
Referenced by dB(), initImpactParameters(), and setDB().
bool pat::Electron::isPF_ [protected] |
Definition at line 252 of file Electron.h.
bool pat::Electron::passConversionVeto_ [protected] |
conversion veto
Definition at line 296 of file Electron.h.
Referenced by passConversionVeto(), and setPassConversionVeto().
A copy of the source IsolatedPFCandidate is stored in this vector if embeddedPFCandidate_ if True.
Definition at line 256 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 258 of file Electron.h.
Referenced by embedPFCandidate(), numberOfSourceCandidatePtrs(), pfCandidateRef(), setPFCandidateRef(), and sourceCandidatePtr().
double pat::Electron::r9_ [protected] |
additional missing mva variables : 14/04/2012
Definition at line 273 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 245 of file Electron.h.
Referenced by embedRecHits(), and recHits().
std::vector<reco::CaloCluster> pat::Electron::seedCluster_ [protected] |
Place to store electron's seed cluster internally.
Definition at line 241 of file Electron.h.
Referenced by embedSeedCluster(), and seed().
double pat::Electron::sigmaIetaIphi_ [protected] |
Definition at line 275 of file Electron.h.
Referenced by setMvaVariables(), and sigmaIetaIphi().
double pat::Electron::sigmaIphiIphi_ [protected] |
Definition at line 274 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 233 of file Electron.h.
Referenced by embedSuperCluster(), and superCluster().
std::vector<reco::Track> pat::Electron::track_ [protected] |
Place to store electron's track internally.
Definition at line 237 of file Electron.h.
Referenced by closestCtfTrackRef(), and embedTrack().