34 : chargeInfo_(chargeInfo),
36 trackClusterMatching_(tcm), trackExtrapolations_(te),
38 fiducialFlags_(ff), showerShape_(ss), conversionRejection_(crv)
43 setPdgId(-11*charge) ;
44 corrections_.correctedEcalEnergy = superCluster()->energy() ;
57 : chargeInfo_(chargeInfo),
59 trackClusterMatching_(tcm), trackExtrapolations_(te),
61 fiducialFlags_(ff), showerShape_(ss), full5x5_showerShape_(full5x5_ss),
62 conversionRejection_(crv)
67 setPdgId(-11*charge) ;
68 corrections_.correctedEcalEnergy = superCluster()->energy() ;
128 ambiguousGsfTracks_(ambiguousTracks),
135 trackClusterMatching_.electronCluster = electronCluster ;
137 conversionRejection_.partner = conversionPartner ;
170 {
return new GsfElectron(*
this,core,electronCluster,closestCtfTrack,conversionPartner,ambiguousTracks) ; }
183 momentum *= newEnergy/momentum.e() ;
201 case P4_FROM_SUPER_CLUSTER:
202 corrections_.fromSuperClusterP4 =
p4 ;
203 corrections_.fromSuperClusterP4Error =
error ;
206 corrections_.combinedP4 =
p4 ;
207 corrections_.combinedP4Error =
error ;
209 case P4_PFLOW_COMBINATION:
210 corrections_.pflowP4 =
p4 ;
211 corrections_.pflowP4Error =
error ;
219 corrections_.candidateP4Kind =
kind ;
virtual reco::GsfTrackRef gsfTrack() const
reference to a GsfTrack
bool checkOverlap(const R &r1, const R &r2) const
check if two components overlap
PixelMatchVariables pixelMatchVariables_
void setP4(P4Kind kind, const LorentzVector &p4, float p4Error, bool setCandidate)
bool isEcalEnergyCorrected
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double > > XYZTLorentzVectorD
Lorentz vector with cylindrical internal representation using pseudorapidity.
float correctedEcalEnergy
float correctedEcalEnergyError
ConversionRejection conversionRejection_
float fromSuperClusterP4Error
virtual Vector momentum() const
spatial momentum vector
float p4Error(P4Kind kind) const
bool passingCutBasedPreselection() const
GsfTrackRefVector ambiguousGsfTracks_
PflowIsolationVariables pfIso_
void setCorrectedEcalEnergyError(float newEnergyError)
FiducialFlags fiducialFlags_
virtual SuperClusterRef superCluster() const
reference to a SuperCluster
void setTrackMomentumError(float trackMomentumError)
ClassificationVariables classVariables_
ShowerShape full5x5_showerShape_
XYZPointD XYZPoint
point in space with cartesian internal representation
virtual bool overlap(const Candidate &) const
check overlap with another candidate
math::XYZTLorentzVector LorentzVector
Lorentz vector.
virtual GsfElectronCoreRef core() const
void setCorrectedEcalEnergy(float newEnergy)
GsfElectron * clone() const
returns a clone of the Candidate object
volatile std::atomic< bool > shutdown_flag false
TrackClusterMatching trackClusterMatching_
bool passCutBasedPreselection_
TrackExtrapolations trackExtrapolations_
virtual const LorentzVector & p4() const
four-momentum Lorentz vector
bool passPflowPreselection_
LorentzVector fromSuperClusterP4
virtual reco::SuperClusterRef superCluster() const
reference to a SuperCluster
float energyError(float E, float *par)
virtual GsfTrackRef gsfTrack() const
reference to a GsfTrack
bool ecalDrivenSeed() const