31 : chargeInfo_(chargeInfo),
33 trackClusterMatching_(tcm),
34 trackExtrapolations_(te),
38 conversionRejection_(crv) {
59 : chargeInfo_(chargeInfo),
61 trackClusterMatching_(tcm),
62 trackExtrapolations_(te),
65 full5x5_showerShape_(full5x5_ss),
67 conversionRejection_(crv) {
79 trackClusterMatching_(
electron.trackClusterMatching_),
80 trackExtrapolations_(
electron.trackExtrapolations_),
82 fiducialFlags_(
electron.fiducialFlags_),
84 full5x5_showerShape_(
electron.full5x5_showerShape_),
85 saturationInfo_(
electron.saturationInfo_),
88 conversionRejection_(
electron.conversionRejection_),
92 passCutBasedPreselection_(
electron.passCutBasedPreselection_),
93 passPflowPreselection_(
electron.passPflowPreselection_),
94 passMvaPreslection_(
electron.passMvaPreslection_),
96 ambiguousGsfTracks_(
electron.ambiguousGsfTracks_),
97 classVariables_(
electron.classVariables_),
100 pixelMatchVariables_(
electron.pixelMatchVariables_) {
114 trackClusterMatching_(
electron.trackClusterMatching_),
115 trackExtrapolations_(
electron.trackExtrapolations_),
117 fiducialFlags_(
electron.fiducialFlags_),
118 showerShape_(
electron.showerShape_),
119 full5x5_showerShape_(
electron.full5x5_showerShape_),
120 saturationInfo_(
electron.saturationInfo_),
123 conversionRejection_(
electron.conversionRejection_),
127 passCutBasedPreselection_(
electron.passCutBasedPreselection_),
128 passPflowPreselection_(
electron.passPflowPreselection_),
129 passMvaPreslection_(
electron.passMvaPreslection_),
131 ambiguousGsfTracks_(ambiguousTracks),
133 classVariables_(
electron.classVariables_),
135 corrections_(
electron.corrections_),
136 pixelMatchVariables_(
electron.pixelMatchVariables_) {
249 for (
uint id = 2u;
id < ss1.hcalOverEcal.size(); ++
id) {
250 ss1.hcalOverEcal[1] += ss1.hcalOverEcal[
id];
251 ss1.hcalOverEcalBc[1] += ss1.hcalOverEcalBc[
id];
253 ss1.hcalOverEcal[
id] = 0.f;
254 ss1.hcalOverEcalBc[
id] = 0.f;
256 ss2.hcalOverEcal[1] += ss2.hcalOverEcal[
id];
257 ss2.hcalOverEcalBc[1] += ss2.hcalOverEcalBc[
id];
259 ss2.hcalOverEcal[
id] = 0.f;
260 ss2.hcalOverEcalBc[
id] = 0.f;
263 iv1.hcalRecHitSumEtBc[1] += iv1.hcalRecHitSumEtBc[
id];
265 iv1.hcalRecHitSumEt[
id] = 0.f;
266 iv1.hcalRecHitSumEtBc[
id] = 0.f;
268 iv2.hcalRecHitSumEt[1] += iv2.hcalRecHitSumEt[
id];
269 iv2.hcalRecHitSumEtBc[1] += iv2.hcalRecHitSumEtBc[
id];
271 iv2.hcalRecHitSumEt[
id] = 0.f;
272 iv2.hcalRecHitSumEtBc[
id] = 0.f;
std::array< float, 7 > hcalRecHitSumEt
void setP4(P4Kind kind, const LorentzVector &p4, float p4Error, bool setCandidate)
Vector momentum() const final
spatial momentum vector
bool isEcalEnergyCorrected
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double > > XYZTLorentzVectorD
Lorentz vector with cylindrical internal representation using pseudorapidity.
bool ecalDrivenSeed() const
float correctedEcalEnergy
float correctedEcalEnergyError
ConversionRejection conversionRejection_
float fromSuperClusterP4Error
bool overlap(const Candidate &) const override
check overlap with another candidate
GsfElectron * clone() const override
returns a clone of the Candidate object
ALPAKA_FN_HOST_ACC ALPAKA_FN_INLINE constexpr float charge(ConstView const &tracks, int32_t i)
const LorentzVector & p4() const final
four-momentum Lorentz vector
void setVertex(const Point &vertex) override
set vertex
CaloClusterPtr electronCluster
void setCharge(Charge q) final
set electric charge
GsfTrackRef gsfTrack() const override
reference to a GsfTrack
std::array< float, 7 > hcalOverEcal
void setCorrectedEcalEnergyError(float newEnergyError)
bool checkOverlap(const R &r1, const R &r2) const
check if two components overlap
virtual GsfElectronCoreRef core() const
void setTrackMomentumError(float trackMomentumError)
ShowerShape full5x5_showerShape_
float p4Error(P4Kind kind) const
XYZPointD XYZPoint
point in space with cartesian internal representation
math::XYZTLorentzVector LorentzVector
Lorentz vector.
std::array< float, 7 > hcalOverEcalBc
void setCorrectedEcalEnergy(float newEnergy)
CaloClusterPtr electronCluster() const
TrackClusterMatching trackClusterMatching_
bool passCutBasedPreselection_
void setPdgId(int pdgId) final
bool passPflowPreselection_
LorentzVector fromSuperClusterP4
SuperClusterRef superCluster() const override
reference to a SuperCluster
bool passingCutBasedPreselection() const
int charge() const final
electric charge
void hcalToRun2EffDepth()
virtual ClosestCtfTrack closestCtfTrack() const