|
|
Go to the documentation of this file.
15 embeddedGsfElectronCore_(
false),
16 embeddedGsfTrack_(
false),
17 embeddedSuperCluster_(
false),
18 embeddedPflowSuperCluster_(
false),
19 embeddedTrack_(
false),
20 embeddedSeedCluster_(
false),
21 embeddedRecHits_(
false),
22 embeddedPFCandidate_(
false),
24 ecalRegressionEnergy_(0.0),
25 ecalTrackRegressionEnergy_(0.0),
26 ecalRegressionError_(0.0),
27 ecalTrackRegressionError_(0.0),
30 ecalRegressionScale_(-99999.),
31 ecalRegressionSmear_(-99999.),
32 ecalTrackRegressionScale_(-99999.),
33 ecalTrackRegressionSmear_(-99999.),
34 packedPFCandidates_(),
35 associatedPackedFCandidateIndices_() {
36 initImpactParameters();
42 embeddedGsfElectronCore_(
false),
43 embeddedGsfTrack_(
false),
44 embeddedSuperCluster_(
false),
45 embeddedPflowSuperCluster_(
false),
46 embeddedTrack_(
false),
47 embeddedSeedCluster_(
false),
48 embeddedRecHits_(
false),
49 embeddedPFCandidate_(
false),
50 ecalDrivenMomentum_(anElectron.
p4()) {
51 initImpactParameters();
57 embeddedGsfElectronCore_(
false),
58 embeddedGsfTrack_(
false),
59 embeddedSuperCluster_(
false),
60 embeddedPflowSuperCluster_(
false),
61 embeddedTrack_(
false),
62 embeddedSeedCluster_(
false),
63 embeddedRecHits_(
false),
64 embeddedPFCandidate_(
false),
65 ecalDrivenMomentum_(anElectronRef->
p4()) {
66 initImpactParameters();
72 embeddedGsfElectronCore_(
false),
73 embeddedGsfTrack_(
false),
74 embeddedSuperCluster_(
false),
75 embeddedPflowSuperCluster_(
false),
76 embeddedTrack_(
false),
77 embeddedSeedCluster_(
false),
78 embeddedRecHits_(
false),
79 embeddedPFCandidate_(
false),
80 ecalDrivenMomentum_(anElectronRef->
p4()) {
81 initImpactParameters();
92 out <<
"\tpat::Electron: ";
93 out << std::setiosflags(std::ios::right);
95 out << std::setprecision(3);
96 out <<
" E/pT/eta/phi " <<
obj.energy() <<
"/" <<
obj.pt() <<
"/" <<
obj.eta() <<
"/" <<
obj.phi();
130 std::unique_ptr<std::vector<reco::SuperCluster> > sc(
new std::vector<reco::SuperCluster>(
superCluster_));
132 (*sc)[0].setSeed(
seed());
134 if (!
basicClusters_.empty() && !(*sc)[0].clusters().isAvailable()) {
136 for (
unsigned int iclus = 0; iclus <
basicClusters_.size(); ++iclus) {
146 (*sc)[0].setPreshowerClusters(
clusters);
242 for (; itscl != itsclE; ++itscl) {
254 for (; itscl != itsclE; ++itscl) {
266 for (; itscl != itsclE; ++itscl) {
278 for (; itscl != itsclE; ++itscl) {
317 if (it->first ==
name)
321 ex <<
"pat::Electron: the ID " <<
name <<
" can't be found in this pat::Electron.\n";
322 ex <<
"The available IDs are: ";
324 ex <<
"'" << it->first <<
"' ";
333 if (it->first ==
name)
ret
prodAgent to be discontinued
reco::PFCandidateRef pfCandidateRef_
reference to the IsolatedPFCandidate this has been built from; null if this has been built from a sta...
Electron()
default constructor
bool embeddedSuperCluster_
True if electron's supercluster is stored internally.
edm::Ref< GsfTrackCollection > GsfTrackRef
persistent reference to a GsfTrack
std::vector< reco::CaloCluster > pflowBasicClusters_
Place to store electron's pflow basic clusters internally.
void embedTrack()
method to store the electron's Track internally
bool embeddedGsfTrack_
True if electron's gsfTrack is stored internally.
float sigmaIetaIphi_
additional missing mva variables : 14/04/2012
std::vector< reco::CaloCluster > preshowerClusters_
Place to store electron's preshower clusters internally.
GsfTrackRef gsfTrack() const override
reference to a GsfTrack
std::vector< reco::CaloCluster > basicClusters_
Place to store electron's basic clusters internally.
ProductID id() const
Accessor for product ID.
virtual SuperClusterRef parentSuperCluster() const
void embedSeedCluster()
method to store the electron's seedcluster internally
bool embeddedGsfElectronCore_
True if electron's gsfElectronCore is stored internally.
void embedPreshowerClusters()
method to store the electron's preshower clusters
EcalRecHitCollection recHits_
Place to store electron's RecHits internally (5x5 around seed+ all RecHits)
void embedGsfElectronCore()
method to store the electron's core internally
reco::GsfTrackRef gsfTrack() const override
override the reco::GsfElectron::gsfTrack method, to access the internal storage of the supercluster
float eip_[IpTypeSize]
Impact parameter uncertainty as recommended by the tracking group.
void embedRecHits(const EcalRecHitCollection *rechits)
method to store the RecHits internally - can be called from the PATElectronProducer
edm::RefVector< pat::PackedCandidateCollection > associatedPackedPFCandidates() const
References to PFCandidates linked to this object (e.g. for isolation vetos or masking before jet recl...
reco::TrackRef closestCtfTrackRef() const override
override the reco::GsfElectron::closestCtfTrackRef method, to access the internal storage of the trac...
void embedPflowBasicClusters()
method to store the electron's pflow basic clusters
reco::PFCandidateRef pfCandidateRef() const
reference to the source PFCandidates; null if this has been built from a standard electron
void embedPflowSuperCluster()
method to store the electron's PflowSuperCluster internally
void embedGsfTrack()
method to store the electron's GsfTrack internally
edm::Ptr< CaloCluster > CaloClusterPtr
std::vector< reco::CaloCluster > pflowPreshowerClusters_
Place to store electron's pflow preshower clusters internally.
virtual GsfElectronCoreRef core() const
bool set(std::unique_ptr< T > iNewValue) const
Ptr< typename C::value_type > refToPtr(Ref< C, typename C::value_type, refhelper::FindUsingAdvance< C, typename C::value_type > > const &ref)
void setDB(double dB, double edB, IPTYPE type)
Set impact parameter of a certain type and its uncertainty.
uint8_t cachedIP_
True if the IP (former dB) has been cached.
bool embeddedTrack_
True if electron's track is stored internally.
float electronID(const std::string &name) const
Returns a specific electron ID associated to the pat::Electron given its name.
~Electron() override
destructor
void embedPflowPreshowerClusters()
method to store the electron's pflow preshower clusters
reco::TrackRef track() const override
returns nothing. Use either gsfTrack or closestCtfTrack
reco::PFCandidateCollection pfCandidate_
A copy of the source IsolatedPFCandidate is stored in this vector if embeddedPFCandidate_ if True.
std::vector< reco::GsfElectronCore > gsfElectronCore_
Place to store electron's gsfElectronCore internally.
reco::GsfElectronCoreRef core() const override
override the virtual reco::GsfElectron::core method, so that the embedded core can be used by GsfElec...
edm::Ref< SuperClusterCollection > SuperClusterRef
reference to an object in a collection of SuperCluster objects
void embedBasicClusters()
method to store the electron's basic clusters
reco::SuperClusterRef parentSuperCluster() const override
override the reco::GsfElectron::pflowSuperCluster method, to access the internal storage of the pflow...
void embedSuperCluster()
method to store the electron's SuperCluster internally
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
std::vector< reco::SuperCluster > superCluster_
Place to store electron's supercluster internally.
void setMvaVariables(double sigmaIetaIphi, double ip3d)
set missing mva input variables
double dB() const
the version without arguments returns PD2D, but with an absolute value (for backwards compatibility)
bool isNonnull() const
Checks for non-null.
edm::Ref< PFCandidateCollection > PFCandidateRef
persistent reference to a PFCandidate
bool embeddedSeedCluster_
True if seed cluster is stored internally.
edm::AtomicPtrCache< std::vector< reco::SuperCluster > > superClusterRelinked_
Place to temporarily store the electron's supercluster after relinking the seed to it.
std::ostream & operator<<(std::ostream &, BeamSpot beam)
std::vector< reco::Track > track_
Place to store electron's track internally.
std::vector< IdPair > electronIDs_
Electron IDs.
virtual TrackRef closestCtfTrackRef() const
void embedPFCandidate()
embed the PFCandidate pointed to by pfCandidateRef_
std::vector< uint16_t > associatedPackedFCandidateIndices_
edm::RefProd< pat::PackedCandidateCollection > packedPFCandidates_
bool embeddedPFCandidate_
true if the IsolatedPFCandidate is embedded
double edB() const
the version without arguments returns PD2D, but with an absolute value (for backwards compatibility)
reco::SuperClusterRef superCluster() const override
override the reco::GsfElectron::superCluster method, to access the internal storage of the superclust...
bool embeddedPflowSuperCluster_
True if electron's pflowsupercluster is stored internally.
reco::CaloClusterPtr seed() const
direct access to the seed cluster
math::XYZTLorentzVector LorentzVector
bool isElectronIDAvailable(const std::string &name) const
Returns true if a specific ID is available in this pat::Electron.
bool embeddedRecHits_
True if RecHits stored internally.
void initImpactParameters()
init impact parameter defaults (for use in a constructor)
float ip_[IpTypeSize]
Impact parameter at the primary vertex,.
std::vector< reco::CaloCluster > seedCluster_
Place to store electron's seed cluster internally.
SuperClusterRef superCluster() const override
reference to a SuperCluster
edm::Ptr< Candidate > CandidatePtr
persistent reference to an object in a collection of Candidate objects
Analysis-level electron class.
std::vector< reco::SuperCluster > pflowSuperCluster_
Place to store electron's pflow supercluster internally.
float sigmaIetaIphi() const
reco::CandidatePtr sourceCandidatePtr(size_type i) const override
get the source candidate pointer with index i
edm::Ref< GsfElectronCoreCollection > GsfElectronCoreRef
std::vector< reco::GsfTrack > gsfTrack_
Place to store electron's gsfTrack internally.