14 embeddedGsfElectronCore_(
false),
15 embeddedGsfTrack_(
false),
16 embeddedSuperCluster_(
false),
17 embeddedPflowSuperCluster_(
false),
18 embeddedTrack_(
false),
19 embeddedSeedCluster_(
false),
20 embeddedRecHits_(
false),
21 embeddedPFCandidate_(
false),
26 ecalRegressionEnergy_(0.0),
27 ecalTrackRegressionEnergy_(0.0),
28 ecalRegressionError_(0.0),
29 ecalTrackRegressionError_(0.0),
32 ecalRegressionScale_(-99999.),
33 ecalRegressionSmear_(-99999.),
34 ecalTrackRegressionScale_(-99999.),
35 ecalTrackRegressionSmear_(-99999.)
43 embeddedGsfElectronCore_(
false),
44 embeddedGsfTrack_(
false),
45 embeddedSuperCluster_(
false),
46 embeddedPflowSuperCluster_(
false),
47 embeddedTrack_(
false),
48 embeddedSeedCluster_(
false),
49 embeddedRecHits_(
false),
50 embeddedPFCandidate_(
false),
51 ecalDrivenMomentum_(anElectron.
p4()),
62 embeddedGsfElectronCore_(
false),
63 embeddedGsfTrack_(
false),
64 embeddedSuperCluster_(
false),
65 embeddedPflowSuperCluster_(
false),
66 embeddedTrack_(
false),
67 embeddedSeedCluster_(
false),
68 embeddedRecHits_(
false),
69 embeddedPFCandidate_(
false),
70 ecalDrivenMomentum_(anElectronRef->
p4()),
81 embeddedGsfElectronCore_(
false),
82 embeddedGsfTrack_(
false),
83 embeddedSuperCluster_(
false),
84 embeddedPflowSuperCluster_(
false),
85 embeddedTrack_(
false),
86 embeddedSeedCluster_(
false),
87 embeddedRecHits_(
false),
88 embeddedPFCandidate_(
false),
89 ecalDrivenMomentum_(anElectronRef->
p4()),
107 out <<
"\tpat::Electron: ";
108 out << std::setiosflags(std::ios::right);
109 out << std::setiosflags(std::ios::fixed);
110 out << std::setprecision(3);
111 out <<
" E/pT/eta/phi "
121 for (
int i_ = 0; i_<5; ++i_){
241 for(;itscl!=itsclE;++itscl){
253 for(;itscl!=itsclE;++itscl){
265 for(;itscl!=itsclE;++itscl){
277 for(;itscl!=itsclE;++itscl){
316 if (it->first == name)
return it->second;
319 ex <<
"pat::Electron: the ID " << name <<
" can't be found in this pat::Electron.\n";
320 ex <<
"The available IDs are: ";
322 ex <<
"'" << it->first <<
"' ";
331 if (it->first == name)
return true;
double edB(IpType type=None) const
Uncertainty on the corresponding impact parameter.
edm::Ref< GsfTrackCollection > GsfTrackRef
persistent reference to a GsfTrack
virtual double energy() const GCC11_FINAL
energy
virtual ~Electron()
destructor
bool embeddedTrack_
True if electron's track is stored internally.
std::vector< reco::GsfTrack > gsfTrack_
Place to store electron's gsfTrack internally.
edm::Ref< GsfElectronCoreCollection > GsfElectronCoreRef
void embedTrack()
method to store the electron's Track internally
void embedSeedCluster()
method to store the electron's seedcluster internally
SuperClusterRef parentSuperCluster() const
void embedGsfElectronCore()
method to store the electron's core internally
void embedPflowBasicClusters()
method to store the electron's pflow basic clusters
reco::TrackRef closestCtfTrackRef() const
override the reco::GsfElectron::closestCtfTrackRef method, to access the internal storage of the trac...
void embedSuperCluster()
method to store the electron's SuperCluster internally
void embedPFCandidate()
embed the PFCandidate pointed to by pfCandidateRef_
void setDB(double dB, double edB, IpType type=None)
Set impact parameter of a certain type and its uncertainty.
reco::SuperClusterRef superCluster() const
override the reco::GsfElectron::superCluster method, to access the internal storage of the superclust...
reco::TrackRef track() const
returns nothing. Use either gsfTrack or closestCtfTrack
std::vector< reco::SuperCluster > superCluster_
Place to store electron's supercluster internally.
reco::GsfTrackRef gsfTrack() const
override the reco::GsfElectron::gsfTrack method, to access the internal storage of the supercluster ...
double dB_
Impact parameter at the primary vertex.
edm::Ptr< CaloCluster > CaloClusterPtr
std::vector< reco::Track > track_
Place to store electron's track internally.
double sigmaIetaIphi() const
sigmaIEtaIPhi
bool embeddedGsfElectronCore_
True if electron's gsfElectronCore is stored internally.
edm::Ref< SuperClusterCollection > SuperClusterRef
reference to an object in a collection of SuperCluster objects
void setMvaVariables(double r9, double sigmaIphiIphi, double sigmaIetaIphi, double ip3d)
set missing mva input variables
void embedPreshowerClusters()
method to store the electron's preshower clusters
std::vector< reco::CaloCluster > pflowBasicClusters_
Place to store electron's pflow basic clusters internally.
TrackRef closestCtfTrackRef() const
reco::CaloClusterPtr seed() const
direct access to the seed cluster
void embedBasicClusters()
method to store the electron's basic clusters
std::vector< reco::CaloCluster > basicClusters_
Place to store electron's basic clusters internally.
double r9_
additional missing mva variables : 14/04/2012
bool isNonnull() const
Checks for non-null.
virtual float phi() const GCC11_FINAL
momentum azimuthal angle
std::ostream & operator<<(std::ostream &, BeamSpot beam)
std::vector< reco::CaloCluster > preshowerClusters_
Place to store electron's preshower clusters internally.
const T & max(const T &a, const T &b)
bool embeddedRecHits_
True if RecHits stored internally.
void embedRecHits(const EcalRecHitCollection *rechits)
method to store the RecHits internally - can be called from the PATElectronProducer ...
virtual SuperClusterRef superCluster() const
reference to a SuperCluster
enum pat::Electron::IPTYPE IpType
Analysis-level lepton class.
bool embeddedSeedCluster_
True if seed cluster is stored internally.
virtual reco::GsfElectronCoreRef core() const
override the virtual reco::GsfElectron::core method, so that the embedded core can be used by GsfElec...
std::vector< reco::GsfElectronCore > gsfElectronCore_
Place to store electron's gsfElectronCore internally.
reco::PFCandidateRef pfCandidateRef() const
reference to the source PFCandidates; null if this has been built from a standard electron ...
Electron()
default constructor
void initImpactParameters()
init impact parameter defaults (for use in a constructor)
edm::Ref< PFCandidateCollection > PFCandidateRef
persistent reference to a PFCandidate
void embedGsfTrack()
method to store the electron's GsfTrack internally
virtual float eta() const GCC11_FINAL
momentum pseudorapidity
EcalRecHitCollection recHits_
Place to store electron's RecHits internally (5x5 around seed+ all RecHits)
reco::PFCandidateCollection pfCandidate_
A copy of the source IsolatedPFCandidate is stored in this vector if embeddedPFCandidate_ if True...
edm::Ptr< Candidate > CandidatePtr
persistent reference to an object in a collection of Candidate objects
double edB_
Impact paramater uncertainty at the primary vertex.
float electronID(const std::string &name) const
Returns a specific electron ID associated to the pat::Electron given its name.
bool embeddedGsfTrack_
True if electron's gsfTrack is stored internally.
bool embeddedPflowSuperCluster_
True if electron's pflowsupercluster is stored internally.
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
key_type key() const
Accessor for product key.
double sigmaIphiIphi() const
sigmaIPhiPhi
void embedPflowSuperCluster()
method to store the electron's PflowSuperCluster internally
Analysis-level electron class.
std::vector< IdPair > electronIDs_
Electron IDs.
math::XYZTLorentzVector LorentzVector
Lorentz vector.
reco::PFCandidateRef pfCandidateRef_
reference to the IsolatedPFCandidate this has been built from; null if this has been built from a sta...
virtual GsfElectronCoreRef core() const
bool embeddedSuperCluster_
True if electron's supercluster is stored internally.
bool isElectronIDAvailable(const std::string &name) const
Returns true if a specific ID is available in this pat::Electron.
std::vector< reco::CaloCluster > pflowPreshowerClusters_
Place to store electron's pflow preshower clusters internally.
reco::SuperClusterRef parentSuperCluster() const
override the reco::GsfElectron::pflowSuperCluster method, to access the internal storage of the pflow...
bool cachedDB_
True if impact parameter has been cached.
std::vector< double > ip_
Impact parameter at the primary vertex,.
ProductID id() const
Accessor for product ID.
volatile std::atomic< bool > shutdown_flag false
std::vector< bool > cachedIP_
True if the IP (former dB) has been cached.
T const * get() const
Returns C++ pointer to the item.
bool embeddedPFCandidate_
true if the IsolatedPFCandidate is embedded
virtual float pt() const GCC11_FINAL
transverse momentum
reco::CandidatePtr sourceCandidatePtr(size_type i) const
get the source candidate pointer with index i
double dB(IpType type=None) const
Impact parameter wrt primary vertex or beamspot.
void embedPflowPreshowerClusters()
method to store the electron's pflow preshower clusters
std::vector< double > eip_
Impact parameter uncertainty as recommended by the tracking group.
std::vector< reco::SuperCluster > pflowSuperCluster_
Place to store electron's pflow supercluster internally.
virtual GsfTrackRef gsfTrack() const
reference to a GsfTrack
std::vector< reco::CaloCluster > seedCluster_
Place to store electron's seed cluster internally.