CMS 3D CMS Logo

GsfElectron.h
Go to the documentation of this file.
1 #ifndef GsfElectron_h
2 #define GsfElectron_h
3 
8 //#include "DataFormats/GsfTrackReco/interface/GsfTrack.h"
15 //#include "DataFormats/Math/interface/LorentzVector.h"
19 #include <vector>
20 #include <limits>
21 
22 namespace reco {
23 
24  /****************************************************************************
25  * \class reco::GsfElectron
26  *
27  * An Electron with a GsfTrack seeded from an ElectronSeed.
28  * Renamed from PixelMatchGsfElectron.
29  * Originally adapted from the TRecElectron class in ORCA.
30  *
31  * \author Claude Charlot - Laboratoire Leprince-Ringuet - École polytechnique, CNRS/IN2P3
32  * \author David Chamont - Laboratoire Leprince-Ringuet - École polytechnique, CNRS/IN2P3
33  *
34  ****************************************************************************/
35 
36  class GsfElectron : public RecoCandidate {
37  //=======================================================
38  // Constructors
39  //
40  // The clone() method with arguments, and the copy
41  // constructor with edm references is designed for
42  // someone which want to duplicates all
43  // collections.
44  //=======================================================
45 
46  public:
47  // some nested structures defined later on
48  struct ChargeInfo;
49  struct TrackClusterMatching;
50  struct TrackExtrapolations;
51  struct ClosestCtfTrack;
52  struct FiducialFlags;
53  struct ShowerShape;
54  struct IsolationVariables;
55  struct ConversionRejection;
57  struct SaturationInfo;
58 
59  GsfElectron();
61  GsfElectron(const GsfElectron &, const GsfElectronCoreRef &);
63  const GsfElectronCoreRef &core,
66  const TrackBaseRef &conversionPartner,
67  const GsfTrackRefVector &ambiguousTracks);
68  GsfElectron(int charge,
69  const ChargeInfo &,
70  const GsfElectronCoreRef &,
71  const TrackClusterMatching &,
72  const TrackExtrapolations &,
73  const ClosestCtfTrack &,
74  const FiducialFlags &,
75  const ShowerShape &,
76  const ConversionRejection &);
77  GsfElectron(int charge,
78  const ChargeInfo &,
79  const GsfElectronCoreRef &,
80  const TrackClusterMatching &,
81  const TrackExtrapolations &,
82  const ClosestCtfTrack &,
83  const FiducialFlags &,
84  const ShowerShape &,
85  const ShowerShape &,
86  const ConversionRejection &,
87  const SaturationInfo &);
88  GsfElectron *clone() const override;
92  const TrackBaseRef &conversionPartner,
93  const GsfTrackRefVector &ambiguousTracks) const;
94  ~GsfElectron() override{};
95 
96  private:
97  void init();
98 
99  //=======================================================
100  // Candidate methods and complementary information
101  //
102  // The gsf electron producer has tried to best evaluate
103  // the four momentum and charge and given those values to
104  // the GsfElectron constructor, which forwarded them to
105  // the Candidate constructor. Those values can be retreived
106  // with getters inherited from Candidate : p4() and charge().
107  //=======================================================
108 
109  public:
110  // Inherited from Candidate
111  // const LorentzVector & charge() const ;
112  // const LorentzVector & p4() const ;
113 
114  // Complementary struct
115  struct ChargeInfo {
116  int scPixCharge;
119  bool isGsfCtfConsistent;
120  ChargeInfo()
122  };
123 
124  // Charge info accessors
125  // to get gsf track charge: gsfTrack()->charge()
126  // to get ctf track charge, if closestCtfTrackRef().isNonnull(): closestCtfTrackRef()->charge()
127  int scPixCharge() const { return chargeInfo_.scPixCharge; }
131  const ChargeInfo &chargeInfo() const { return chargeInfo_; }
132 
133  // Candidate redefined methods
134  bool isElectron() const override { return true; }
135  bool overlap(const Candidate &) const override;
136 
137  private:
138  // Complementary attributes
140 
141  //=======================================================
142  // Core Attributes
143  //
144  // They all have been computed before, when building the
145  // collection of GsfElectronCore instances. Each GsfElectron
146  // has a reference toward a GsfElectronCore.
147  //=======================================================
148 
149  public:
150  // accessors
151  virtual GsfElectronCoreRef core() const;
152  void setCore(const reco::GsfElectronCoreRef &core) { core_ = core; }
153 
154  // forward core methods
155  SuperClusterRef superCluster() const override { return core()->superCluster(); }
156  GsfTrackRef gsfTrack() const override { return core()->gsfTrack(); }
157  float ctfGsfOverlap() const { return core()->ctfGsfOverlap(); }
158  bool ecalDrivenSeed() const { return core()->ecalDrivenSeed(); }
159  bool trackerDrivenSeed() const { return core()->trackerDrivenSeed(); }
160  virtual SuperClusterRef parentSuperCluster() const { return core()->parentSuperCluster(); }
161  bool closestCtfTrackRefValid() const {
163  }
164  //methods used for MVA variables
165  float closestCtfTrackNormChi2() const {
166  return closestCtfTrackRefValid() ? closestCtfTrackRef()->normalizedChi2() : 0;
167  }
169  return closestCtfTrackRefValid() ? closestCtfTrackRef()->hitPattern().trackerLayersWithMeasurement() : -1;
170  }
171 
172  // backward compatibility
174  TrackRef ctfTrack; // best matching ctf track
175  float shFracInnerHits; // fraction of common hits between the ctf and gsf tracks
178  };
179  float shFracInnerHits() const { return core()->ctfGsfOverlap(); }
180  virtual TrackRef closestCtfTrackRef() const { return core()->ctfTrack(); }
183  }
184 
185  private:
186  // attributes
188 
189  //=======================================================
190  // Track-Cluster Matching Attributes
191  //=======================================================
192 
193  public:
194  struct TrackClusterMatching {
195  CaloClusterPtr electronCluster; // basic cluster best matching gsf track
196  float eSuperClusterOverP; // the supercluster energy / track momentum at the PCA to the beam spot
197  float eSeedClusterOverP; // the seed cluster energy / track momentum at the PCA to the beam spot
198  float eSeedClusterOverPout; // the seed cluster energy / track momentum at calo extrapolated from the outermost track state
199  float eEleClusterOverPout; // the electron cluster energy / track momentum at calo extrapolated from the outermost track state
200  float deltaEtaSuperClusterAtVtx; // the supercluster eta - track eta position at calo extrapolated from innermost track state
201  float deltaEtaSeedClusterAtCalo; // the seed cluster eta - track eta position at calo extrapolated from the outermost track state
202  float deltaEtaEleClusterAtCalo; // the electron cluster eta - track eta position at calo extrapolated from the outermost state
203  float deltaPhiEleClusterAtCalo; // the electron cluster phi - track phi position at calo extrapolated from the outermost track state
204  float deltaPhiSuperClusterAtVtx; // the supercluster phi - track phi position at calo extrapolated from the innermost track state
205  float deltaPhiSeedClusterAtCalo; // the seed cluster phi - track phi position at calo extrapolated from the outermost track state
211  deltaEtaSuperClusterAtVtx(std::numeric_limits<float>::max()),
212  deltaEtaSeedClusterAtCalo(std::numeric_limits<float>::max()),
213  deltaEtaEleClusterAtCalo(std::numeric_limits<float>::max()),
214  deltaPhiEleClusterAtCalo(std::numeric_limits<float>::max()),
215  deltaPhiSuperClusterAtVtx(std::numeric_limits<float>::max()),
216  deltaPhiSeedClusterAtCalo(std::numeric_limits<float>::max()) {}
217  };
218 
219  // accessors
232  return superCluster().isNonnull() && superCluster()->seed().isNonnull()
234  superCluster()->seed()->eta()
236  }
238 
239  // for backward compatibility, usefull ?
242 
243  private:
244  // attributes
246 
247  //=======================================================
248  // Track extrapolations
249  //=======================================================
250 
251  public:
252  struct TrackExtrapolations {
253  math::XYZPointF positionAtVtx; // the track PCA to the beam spot
254  math::XYZPointF positionAtCalo; // the track PCA to the supercluster position
255  math::XYZVectorF momentumAtVtx; // the track momentum at the PCA to the beam spot
256  // the track momentum extrapolated at the supercluster position from the innermost track state
258  // the track momentum extrapolated at the seed cluster position from the outermost track state
260  // the track momentum extrapolated at the ele cluster position from the outermost track state
262  math::XYZVectorF momentumAtVtxWithConstraint; // the track momentum at the PCA to the beam spot using bs constraint
263  };
264 
265  // accessors
274  }
276 
277  // setter (if you know what you're doing)
279 
280  // for backward compatibility
283 
284  private:
285  // attributes
287 
288  //=======================================================
289  // SuperCluster direct access
290  //=======================================================
291 
292  public:
293  // direct accessors
294  math::XYZPoint superClusterPosition() const { return superCluster()->position(); } // the super cluster position
295  int basicClustersSize() const {
296  return superCluster()->clustersSize();
297  } // number of basic clusters inside the supercluster
298  CaloCluster_iterator basicClustersBegin() const { return superCluster()->clustersBegin(); }
299  CaloCluster_iterator basicClustersEnd() const { return superCluster()->clustersEnd(); }
300 
301  // for backward compatibility
302  math::XYZPoint caloPosition() const { return superCluster()->position(); }
303 
304  //=======================================================
305  // Fiducial Flags
306  //=======================================================
307 
308  public:
309  struct FiducialFlags {
310  bool isEB; // true if particle is in ECAL Barrel
311  bool isEE; // true if particle is in ECAL Endcaps
312  bool isEBEEGap; // true if particle is in the crack between EB and EE
313  bool isEBEtaGap; // true if particle is in EB, and inside the eta gaps between modules
314  bool isEBPhiGap; // true if particle is in EB, and inside the phi gaps between modules
315  bool isEEDeeGap; // true if particle is in EE, and inside the gaps between dees
316  bool isEERingGap; // true if particle is in EE, and inside the gaps between rings
325  };
326 
327  // accessors
328  bool isEB() const { return fiducialFlags_.isEB; }
329  bool isEE() const { return fiducialFlags_.isEE; }
330  bool isGap() const { return ((isEBEEGap()) || (isEBGap()) || (isEEGap())); }
331  bool isEBEEGap() const { return fiducialFlags_.isEBEEGap; }
332  bool isEBGap() const { return (isEBEtaGap() || isEBPhiGap()); }
333  bool isEBEtaGap() const { return fiducialFlags_.isEBEtaGap; }
334  bool isEBPhiGap() const { return fiducialFlags_.isEBPhiGap; }
335  bool isEEGap() const { return (isEEDeeGap() || isEERingGap()); }
336  bool isEEDeeGap() const { return fiducialFlags_.isEEDeeGap; }
337  bool isEERingGap() const { return fiducialFlags_.isEERingGap; }
338  const FiducialFlags &fiducialFlags() const { return fiducialFlags_; }
339  // setters... not necessary in regular situations
340  // but handy for late stage modifications of electron objects
341  void setFFlagIsEB(const bool b) { fiducialFlags_.isEB = b; }
342  void setFFlagIsEE(const bool b) { fiducialFlags_.isEE = b; }
343  void setFFlagIsEBEEGap(const bool b) { fiducialFlags_.isEBEEGap = b; }
347  void setFFlagIsEERingGap(const bool b) { fiducialFlags_.isEERingGap = b; }
348 
349  private:
350  // attributes
352 
353  //=======================================================
354  // Shower Shape Variables
355  //=======================================================
356 
357  public:
358  struct ShowerShape {
359  float sigmaEtaEta; // weighted cluster rms along eta and inside 5x5 (absolute eta)
360  float sigmaIetaIeta; // weighted cluster rms along eta and inside 5x5 (Xtal eta)
361  float sigmaIphiIphi; // weighted cluster rms along phi and inside 5x5 (Xtal phi)
362  float e1x5; // energy inside 1x5 in etaxphi around the seed Xtal
363  float e2x5Max; // energy inside 2x5 in etaxphi around the seed Xtal (max bwt the 2 possible sums)
364  float e5x5; // energy inside 5x5 in etaxphi around the seed Xtal
365  float r9; // ratio of the 3x3 energy and supercluster energy
366  float hcalDepth1OverEcal; // hcal over ecal seed cluster energy using 1st hcal depth (using hcal towers within a cone)
367  float hcalDepth2OverEcal; // hcal over ecal seed cluster energy using 2nd hcal depth (using hcal towers within a cone)
368  std::vector<CaloTowerDetId> hcalTowersBehindClusters; //
369  float hcalDepth1OverEcalBc; // hcal over ecal seed cluster energy using 1st hcal depth (using hcal towers behind clusters)
370  float hcalDepth2OverEcalBc; // hcal over ecal seed cluster energy using 2nd hcal depth (using hcal towers behind clusters)
371  bool invalidHcal; // set to true if the hcal energy estimate is not valid (e.g. the corresponding tower was off or masked)
373  float eMax;
374  float e2nd;
375  float eTop;
376  float eLeft;
377  float eRight;
378  float eBottom;
379  float e2x5Top;
380  float e2x5Left;
381  float e2x5Right;
382  float e2x5Bottom;
384  : sigmaEtaEta(std::numeric_limits<float>::max()),
385  sigmaIetaIeta(std::numeric_limits<float>::max()),
386  sigmaIphiIphi(std::numeric_limits<float>::max()),
387  e1x5(0.),
388  e2x5Max(0.),
389  e5x5(0.),
390  r9(-std::numeric_limits<float>::max()),
392  hcalDepth2OverEcal(0.),
396  sigmaIetaIphi(0.f),
397  eMax(0.f),
398  e2nd(0.f),
399  eTop(0.f),
400  eLeft(0.f),
401  eRight(0.f),
402  eBottom(0.f),
403  e2x5Top(0.f),
404  e2x5Left(0.f),
405  e2x5Right(0.f),
406  e2x5Bottom(0.f) {}
407  };
408 
409  // accessors
410  float sigmaEtaEta() const { return showerShape_.sigmaEtaEta; }
411  float sigmaIetaIeta() const { return showerShape_.sigmaIetaIeta; }
412  float sigmaIphiIphi() const { return showerShape_.sigmaIphiIphi; }
413  float e1x5() const { return showerShape_.e1x5; }
414  float e2x5Max() const { return showerShape_.e2x5Max; }
415  float e5x5() const { return showerShape_.e5x5; }
416  float r9() const { return showerShape_.r9; }
417  float hcalDepth1OverEcal() const { return showerShape_.hcalDepth1OverEcal; }
419  float hcalOverEcal() const { return hcalDepth1OverEcal() + hcalDepth2OverEcal(); }
420  const std::vector<CaloTowerDetId> &hcalTowersBehindClusters() const {
422  }
426  float hcalOverEcalValid() const { return !showerShape_.invalidHcal; }
427  float eLeft() const { return showerShape_.eLeft; }
428  float eRight() const { return showerShape_.eRight; }
429  float eTop() const { return showerShape_.eTop; }
430  float eBottom() const { return showerShape_.eBottom; }
431  const ShowerShape &showerShape() const { return showerShape_; }
432  // non-zero-suppressed and no-fractions shower shapes
433  // ecal energy is always that from the full 5x5
437  float full5x5_e1x5() const { return full5x5_showerShape_.e1x5; }
438  float full5x5_e2x5Max() const { return full5x5_showerShape_.e2x5Max; }
439  float full5x5_e5x5() const { return full5x5_showerShape_.e5x5; }
440  float full5x5_r9() const { return full5x5_showerShape_.r9; }
450  float full5x5_e2x5Top() const { return full5x5_showerShape_.e2x5Top; }
452  float full5x5_eLeft() const { return full5x5_showerShape_.eLeft; }
453  float full5x5_eRight() const { return full5x5_showerShape_.eRight; }
454  float full5x5_eTop() const { return full5x5_showerShape_.eTop; }
455  float full5x5_eBottom() const { return full5x5_showerShape_.eBottom; }
457 
458  // setters (if you know what you're doing)
461 
462  // for backward compatibility (this will only ever be the ZS shapes!)
463  float scSigmaEtaEta() const { return sigmaEtaEta(); }
464  float scSigmaIEtaIEta() const { return sigmaIetaIeta(); }
465  float scE1x5() const { return e1x5(); }
466  float scE2x5Max() const { return e2x5Max(); }
467  float scE5x5() const { return e5x5(); }
468  float hadronicOverEm() const { return hcalOverEcal(); }
469  float hadronicOverEm1() const { return hcalDepth1OverEcal(); }
470  float hadronicOverEm2() const { return hcalDepth2OverEcal(); }
471 
472  private:
473  // attributes
476 
477  //=======================================================
478  // SaturationInfo
479  //=======================================================
480 
481  public:
482  struct SaturationInfo {
484  bool isSeedSaturated;
486  };
487 
488  // accessors
489  float nSaturatedXtals() const { return saturationInfo_.nSaturatedXtals; }
491  const SaturationInfo &saturationInfo() const { return saturationInfo_; }
493 
494  private:
496 
497  //=======================================================
498  // Isolation Variables
499  //=======================================================
500 
501  public:
502  struct IsolationVariables {
503  float tkSumPt; // track iso with electron footprint removed
504  float tkSumPtHEEP; // track iso used for the HEEP ID
505  float ecalRecHitSumEt; // ecal iso deposit with electron footprint removed
506  float hcalDepth1TowerSumEt; // hcal depht 1 iso deposit with electron footprint removed
507  float hcalDepth2TowerSumEt; // hcal depht 2 iso deposit with electron footprint removed
508  float hcalDepth1TowerSumEtBc; // hcal depht 1 iso deposit without towers behind clusters
509  float hcalDepth2TowerSumEtBc; // hcal depht 2 iso deposit without towers behind clusters
511  : tkSumPt(0.),
518  };
519 
520  // 03 accessors
521  float dr03TkSumPt() const { return dr03_.tkSumPt; }
522  float dr03TkSumPtHEEP() const { return dr03_.tkSumPtHEEP; }
523  float dr03EcalRecHitSumEt() const { return dr03_.ecalRecHitSumEt; }
524  float dr03HcalDepth1TowerSumEt() const { return dr03_.hcalDepth1TowerSumEt; }
525  float dr03HcalDepth2TowerSumEt() const { return dr03_.hcalDepth2TowerSumEt; }
531 
532  // 04 accessors
533  float dr04TkSumPt() const { return dr04_.tkSumPt; }
534  float dr04TkSumPtHEEP() const { return dr04_.tkSumPtHEEP; }
535  float dr04EcalRecHitSumEt() const { return dr04_.ecalRecHitSumEt; }
543 
544  // setters ?!?
545  void setDr03Isolation(const IsolationVariables &dr03) { dr03_ = dr03; }
546  void setDr04Isolation(const IsolationVariables &dr04) { dr04_ = dr04; }
547 
548  // for backward compatibility
549  void setIsolation03(const IsolationVariables &dr03) { dr03_ = dr03; }
550  void setIsolation04(const IsolationVariables &dr04) { dr04_ = dr04; }
551  const IsolationVariables &isolationVariables03() const { return dr03_; }
552  const IsolationVariables &isolationVariables04() const { return dr04_; }
553 
554  private:
555  // attributes
558 
559  //=======================================================
560  // Conversion Rejection Information
561  //=======================================================
562 
563  public:
565  int flags; // -max:not-computed, other: as computed by Puneeth conversion code
566  TrackBaseRef partner; // conversion partner
567  float dist; // distance to the conversion partner
568  float dcot; // difference of cot(angle) with the conversion partner track
569  float radius; // signed conversion radius
570  float vtxFitProb; //fit probablity (chi2/ndof) of the matched conversion vtx
572  : flags(-1),
573  dist(std::numeric_limits<float>::max()),
574  dcot(std::numeric_limits<float>::max()),
575  radius(std::numeric_limits<float>::max()),
576  vtxFitProb(std::numeric_limits<float>::max()) {}
577  };
578 
579  // accessors
580  int convFlags() const { return conversionRejection_.flags; }
582  float convDist() const { return conversionRejection_.dist; }
583  float convDcot() const { return conversionRejection_.dcot; }
584  float convRadius() const { return conversionRejection_.radius; }
585  float convVtxFitProb() const { return conversionRejection_.vtxFitProb; }
586  const ConversionRejection &conversionRejectionVariables() const { return conversionRejection_; }
587  void setConversionRejectionVariables(const ConversionRejection &convRej) { conversionRejection_ = convRej; }
588 
589  private:
590  // attributes
592 
593  //=======================================================
594  // Pflow Information
595  //=======================================================
596 
597  public:
598  struct PflowIsolationVariables {
599  //first three data members that changed names, according to DataFormats/MuonReco/interface/MuonPFIsolation.h
600  float sumChargedHadronPt;
601  float sumNeutralHadronEt;
602  float sumPhotonEt;
603  //then four new data members, corresponding to DataFormats/MuonReco/interface/MuonPFIsolation.h
604  float sumChargedParticlePt;
607  float sumPUPt;
608  //new pf cluster based isolation values
609  float sumEcalClusterEt; //sum pt of ecal clusters, vetoing clusters part of electron
610  float sumHcalClusterEt; //sum pt of hcal clusters, vetoing clusters part of electron
620  sumHcalClusterEt(0){};
621  };
622 
623  struct MvaInput {
624  int earlyBrem; // Early Brem detected (-2=>unknown,-1=>could not be evaluated,0=>wrong,1=>true)
625  int lateBrem; // Late Brem detected (-2=>unknown,-1=>could not be evaluated,0=>wrong,1=>true)
626  float sigmaEtaEta; // Sigma-eta-eta with the PF cluster
627  float hadEnergy; // Associated PF Had Cluster energy
628  float deltaEta; // PF-cluster GSF track delta-eta
629  int nClusterOutsideMustache; // -2 => unknown, -1 =>could not be evaluated, 0 and more => number of clusters
630  float etOutsideMustache;
632  : earlyBrem(-2),
633  lateBrem(-2),
634  sigmaEtaEta(std::numeric_limits<float>::max()),
636  deltaEta(std::numeric_limits<float>::max()),
638  etOutsideMustache(-std::numeric_limits<float>::max()) {}
639  };
640 
641  struct MvaOutput {
642  int status; // see PFCandidateElectronExtra::StatusFlag
643  float mva_Isolated;
644  float mva_e_pi;
645  float mvaByPassForIsolated; // complementary MVA used in preselection
646  MvaOutput() : status(-1), mva_Isolated(-999999999.), mva_e_pi(-999999999.), mvaByPassForIsolated(-999999999.) {}
647  };
648 
649  // accessors
651  //backwards compat functions for pat::Electron
652  float ecalPFClusterIso() const { return pfIso_.sumEcalClusterEt; };
653  float hcalPFClusterIso() const { return pfIso_.sumHcalClusterEt; };
654 
655  const MvaInput &mvaInput() const { return mvaInput_; }
656  const MvaOutput &mvaOutput() const { return mvaOutput_; }
657 
658  // setters
659  void setPfIsolationVariables(const PflowIsolationVariables &iso) { pfIso_ = iso; }
660  void setMvaInput(const MvaInput &mi) { mvaInput_ = mi; }
661  void setMvaOutput(const MvaOutput &mo) { mvaOutput_ = mo; }
662 
663  // for backward compatibility
664  float mva_Isolated() const { return mvaOutput_.mva_Isolated; }
665  float mva_e_pi() const { return mvaOutput_.mva_e_pi; }
666 
667  private:
671 
672  //=======================================================
673  // Preselection and Ambiguity
674  //=======================================================
675 
676  public:
677  // accessors
678  bool ecalDriven() const; // return true if ecalDrivenSeed() and passingCutBasedPreselection()
680  bool passingPflowPreselection() const { return passPflowPreselection_; }
681  bool ambiguous() const { return ambiguous_; }
685 
686  // setters
689  void setAmbiguous(bool flag) { ambiguous_ = flag; }
692 
693  // backward compatibility
696 
697  private:
698  // attributes
701  bool passMvaPreslection_; // to be removed : passPflowPreslection_
703  GsfTrackRefVector ambiguousGsfTracks_; // ambiguous gsf tracks
704 
705  //=======================================================
706  // Brem Fractions and Classification
707  //=======================================================
708 
709  public:
711  float trackFbrem; // the brem fraction from gsf fit: (track momentum in - track momentum out) / track momentum in
712  float superClusterFbrem; // the brem fraction from supercluster: (supercluster energy - electron cluster energy) / supercluster energy
713  constexpr static float kDefaultValue = -1.e30;
715  };
716  enum Classification { UNKNOWN = -1, GOLDEN = 0, BIGBREM = 1, BADTRACK = 2, SHOWERING = 3, GAP = 4 };
717 
718  // accessors
719  float trackFbrem() const { return classVariables_.trackFbrem; }
723 
724  // utilities
725  int numberOfBrems() const { return basicClustersSize() - 1; }
726  float fbrem() const { return trackFbrem(); }
727 
728  // setters
731  void setClassificationVariables(const ClassificationVariables &cv) { classVariables_ = cv; }
732  void setClassification(Classification myclass) { class_ = myclass; }
733 
734  private:
735  // attributes
737  Classification class_; // fbrem and number of clusters based electron classification
738 
739  //=======================================================
740  // Corrections
741  //
742  // The only methods, with classification, which modify
743  // the electrons after they have been constructed.
744  // They change a given characteristic, such as the super-cluster
745  // energy, and propagate the change consistently
746  // to all the depending attributes.
747  // We expect the methods to be called in a given order
748  // and so to store specific kind of corrections
749  // 1) classify()
750  // 2) correctEcalEnergy() : depending on classification and eta
751  // 3) correctMomemtum() : depending on classification and ecal energy and tracker momentum errors
752  //
753  // Beware that correctEcalEnergy() is modifying few attributes which
754  // were potentially used for preselection, whose value used in
755  // preselection will not be available any more :
756  // hcalDepth1OverEcal, hcalDepth2OverEcal, eSuperClusterOverP,
757  // eSeedClusterOverP, eEleClusterOverPout.
758  //=======================================================
759 
760  public:
762 
763  struct Corrections {
764  bool isEcalEnergyCorrected; // true if ecal energy has been corrected
765  float correctedEcalEnergy; // corrected energy (if !isEcalEnergyCorrected this value is identical to the supercluster energy)
766  float correctedEcalEnergyError; // error on energy
767  //bool isMomentumCorrected ; // DEPRECATED
768  float trackMomentumError; // track momentum error from gsf fit
769  //
770  LorentzVector fromSuperClusterP4; // for P4_FROM_SUPER_CLUSTER
771  float fromSuperClusterP4Error; // for P4_FROM_SUPER_CLUSTER
772  LorentzVector combinedP4; // for P4_COMBINATION
773  float combinedP4Error; // for P4_COMBINATION
774  LorentzVector pflowP4; // for P4_PFLOW_COMBINATION
775  float pflowP4Error; // for P4_PFLOW_COMBINATION
776  P4Kind candidateP4Kind; // say which momentum has been stored in reco::Candidate
777  //
782  /*isMomentumCorrected(false),*/ trackMomentumError(999.),
785  pflowP4Error(999.),
787  };
788 
789  // setters
790  void setCorrectedEcalEnergyError(float newEnergyError);
791  void setCorrectedEcalEnergy(float newEnergy);
793  void setP4(P4Kind kind, const LorentzVector &p4, float p4Error, bool setCandidate);
794  using RecoCandidate::setP4;
795 
796  // accessors
798  float correctedEcalEnergy() const { return corrections_.correctedEcalEnergy; }
800  float trackMomentumError() const { return corrections_.trackMomentumError; }
801  const LorentzVector &p4(P4Kind kind) const;
802  using RecoCandidate::p4;
803  float p4Error(P4Kind kind) const;
805  const Corrections &corrections() const { return corrections_; }
806 
807  // bare setter (if you know what you're doing)
809 
810  // for backward compatibility
811  void setEcalEnergyError(float energyError) { setCorrectedEcalEnergyError(energyError); }
812  float ecalEnergy() const { return correctedEcalEnergy(); }
813  float ecalEnergyError() const { return correctedEcalEnergyError(); }
814  //bool isMomentumCorrected() const { return corrections_.isMomentumCorrected ; }
815  float caloEnergy() const { return correctedEcalEnergy(); }
817  void correctEcalEnergy(float newEnergy, float newEnergyError) {
818  setCorrectedEcalEnergy(newEnergy);
819  setEcalEnergyError(newEnergyError);
820  }
824  }
825 
826  private:
827  // attributes
829 
830  public:
831  struct PixelMatchVariables {
833  float dPhi1;
835  float dPhi2;
837  float dRz1;
839  float dRz2;
841  unsigned char subdetectors;
842  PixelMatchVariables() : dPhi1(-999), dPhi2(-999), dRz1(-999), dRz2(-999), subdetectors(0) {}
844  };
845  void setPixelMatchSubdetectors(int sd1, int sd2) { pixelMatchVariables_.subdetectors = 10 * sd1 + sd2; }
846  void setPixelMatchDPhi1(float dPhi1) { pixelMatchVariables_.dPhi1 = dPhi1; }
847  void setPixelMatchDPhi2(float dPhi2) { pixelMatchVariables_.dPhi2 = dPhi2; }
848  void setPixelMatchDRz1(float dRz1) { pixelMatchVariables_.dRz1 = dRz1; }
849  void setPixelMatchDRz2(float dRz2) { pixelMatchVariables_.dRz2 = dRz2; }
850 
852  int pixelMatchSubdetector2() const { return pixelMatchVariables_.subdetectors % 10; }
853  float pixelMatchDPhi1() const { return pixelMatchVariables_.dPhi1; }
854  float pixelMatchDPhi2() const { return pixelMatchVariables_.dPhi2; }
855  float pixelMatchDRz1() const { return pixelMatchVariables_.dRz1; }
856  float pixelMatchDRz2() const { return pixelMatchVariables_.dRz2; }
857 
858  private:
860  };
861 
862 } // namespace reco
863 
864 #endif
reco::GsfElectron::ClosestCtfTrack::shFracInnerHits
float shFracInnerHits
Definition: GsfElectron.h:183
reco::GsfElectron::deltaEtaSeedClusterTrackAtCalo
float deltaEtaSeedClusterTrackAtCalo() const
Definition: GsfElectron.h:234
reco::GsfElectron::convFlags
int convFlags() const
Definition: GsfElectron.h:588
reco::GsfElectron::MvaInput::etOutsideMustache
float etOutsideMustache
Definition: GsfElectron.h:638
reco::GsfElectron::ClassificationVariables::trackFbrem
float trackFbrem
Definition: GsfElectron.h:719
reco::GsfElectron::convDcot
float convDcot() const
Definition: GsfElectron.h:591
reco::GsfElectron::trackClusterMatching_
TrackClusterMatching trackClusterMatching_
Definition: GsfElectron.h:253
reco::GsfElectron::numberOfBrems
int numberOfBrems() const
Definition: GsfElectron.h:733
GsfElectronCore.h
reco::GsfElectron::ShowerShape::e2x5Right
float e2x5Right
Definition: GsfElectron.h:389
reco::GsfElectron::isEE
bool isEE() const
Definition: GsfElectron.h:337
reco::GsfTrackRef
edm::Ref< GsfTrackCollection > GsfTrackRef
persistent reference to a GsfTrack
Definition: GsfTrackFwd.h:13
reco::GsfElectron::dr04EcalRecHitSumEt
float dr04EcalRecHitSumEt() const
Definition: GsfElectron.h:543
reco::GsfElectron::ChargeInfo::isGsfScPixConsistent
bool isGsfScPixConsistent
Definition: GsfElectron.h:126
reco::GsfElectron::ClassificationVariables::kDefaultValue
constexpr static float kDefaultValue
Definition: GsfElectron.h:721
reco::GsfElectron::ShowerShape::r9
float r9
Definition: GsfElectron.h:373
reco::GsfElectron::full5x5_sigmaEtaEta
float full5x5_sigmaEtaEta() const
Definition: GsfElectron.h:442
reco::GsfElectron::setFFlagIsEBPhiGap
void setFFlagIsEBPhiGap(const bool b)
Definition: GsfElectron.h:353
edm::RefVector::clear
void clear()
Clear the vector.
Definition: RefVector.h:142
reco::GsfElectron::ShowerShape::sigmaIetaIeta
float sigmaIetaIeta
Definition: GsfElectron.h:368
reco::GsfElectron::MvaInput::hadEnergy
float hadEnergy
Definition: GsfElectron.h:635
reco::GsfElectron::ClosestCtfTrack
Definition: GsfElectron.h:181
reco::GsfElectron::TrackClusterMatching::electronCluster
CaloClusterPtr electronCluster
Definition: GsfElectron.h:203
reco::GsfElectron::Corrections::combinedP4Error
float combinedP4Error
Definition: GsfElectron.h:781
reco::GsfElectron::Corrections::Corrections
Corrections()
Definition: GsfElectron.h:786
reco::GsfElectron::dr03TkSumPt
float dr03TkSumPt() const
Definition: GsfElectron.h:529
reco::GsfElectron::pfIso_
PflowIsolationVariables pfIso_
Definition: GsfElectron.h:676
reco::GsfElectron::ChargeInfo::ChargeInfo
ChargeInfo()
Definition: GsfElectron.h:128
reco::GsfElectron::hcalDepth1OverEcalBc
float hcalDepth1OverEcalBc() const
Definition: GsfElectron.h:431
reco::GsfElectron::full5x5_e2x5Right
float full5x5_e2x5Right() const
Definition: GsfElectron.h:457
reco::GsfElectron::isEB
bool isEB() const
Definition: GsfElectron.h:336
reco::GsfElectron::ambiguousGsfTracksBegin
GsfTrackRefVector::const_iterator ambiguousGsfTracksBegin() const
Definition: GsfElectron.h:691
reco::GsfElectron::scE1x5
float scE1x5() const
Definition: GsfElectron.h:473
reco::GsfElectron::isolationVariables03
const IsolationVariables & isolationVariables03() const
Definition: GsfElectron.h:559
reco::GsfElectron::gsfTrack
GsfTrackRef gsfTrack() const override
reference to a GsfTrack
Definition: GsfElectron.h:164
MessageLogger.h
dqmMemoryStats.float
float
Definition: dqmMemoryStats.py:127
reco::GsfElectron::trackMomentumOut
math::XYZVectorF trackMomentumOut() const
Definition: GsfElectron.h:278
reco::GsfElectron::setIsolation04
void setIsolation04(const IsolationVariables &dr04)
Definition: GsfElectron.h:558
funct::false
false
Definition: Factorize.h:29
reco::GsfElectron::Corrections::correctedEcalEnergy
float correctedEcalEnergy
Definition: GsfElectron.h:773
reco::GsfElectron::Corrections::candidateP4Kind
P4Kind candidateP4Kind
Definition: GsfElectron.h:784
reco::GsfElectron::setSaturationInfo
void setSaturationInfo(const SaturationInfo &s)
Definition: GsfElectron.h:500
reco::GsfElectron::trackPositionAtCalo
math::XYZPointF trackPositionAtCalo() const
Definition: GsfElectron.h:275
reco::GsfElectron::setFFlagIsEERingGap
void setFFlagIsEERingGap(const bool b)
Definition: GsfElectron.h:355
reco::GsfElectron::Corrections::pflowP4Error
float pflowP4Error
Definition: GsfElectron.h:783
reco::GsfElectron::FiducialFlags::isEBEEGap
bool isEBEEGap
Definition: GsfElectron.h:320
edm::RefVector< GsfTrackCollection >::size_type
KeyVec::size_type size_type
Definition: RefVector.h:48
reco::GsfElectron::passingMvaPreselection
bool passingMvaPreselection() const
Definition: GsfElectron.h:703
reco::GsfElectron::deltaPhiSuperClusterTrackAtVtx
float deltaPhiSuperClusterTrackAtVtx() const
Definition: GsfElectron.h:236
reco::GsfElectron::ShowerShape::hcalDepth1OverEcal
float hcalDepth1OverEcal
Definition: GsfElectron.h:374
reco::GsfElectron::closestCtfTrackNormChi2
float closestCtfTrackNormChi2() const
Definition: GsfElectron.h:173
reco::GsfElectron::ChargeInfo
Definition: GsfElectron.h:123
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
reco::GsfElectron::parentSuperCluster
virtual SuperClusterRef parentSuperCluster() const
Definition: GsfElectron.h:168
cuy.cv
cv
Definition: cuy.py:364
reco::GsfElectron::corrections_
Corrections corrections_
Definition: GsfElectron.h:836
reco::GsfElectron::deltaEtaSeedClusterTrackAtVtx
float deltaEtaSeedClusterTrackAtVtx() const
Definition: GsfElectron.h:239
reco::GsfElectron::full5x5_hcalDepth2OverEcalBc
float full5x5_hcalDepth2OverEcalBc() const
Definition: GsfElectron.h:453
reco::GsfElectron::correctMomentum
void correctMomentum(const LorentzVector &p4, float trackMomentumError, float p4Error)
Definition: GsfElectron.h:829
reco::GsfElectron::FiducialFlags::isEE
bool isEE
Definition: GsfElectron.h:319
reco::GsfElectron::setPixelMatchDPhi2
void setPixelMatchDPhi2(float dPhi2)
Definition: GsfElectron.h:855
reco::GsfElectron::isEERingGap
bool isEERingGap() const
Definition: GsfElectron.h:345
edm::Ref::isAvailable
bool isAvailable() const
Definition: Ref.h:537
reco::GsfElectron::conversionRejection_
ConversionRejection conversionRejection_
Definition: GsfElectron.h:599
reco::GsfElectron::full5x5_showerShape_
ShowerShape full5x5_showerShape_
Definition: GsfElectron.h:483
reco::GsfElectron::isEBGap
bool isEBGap() const
Definition: GsfElectron.h:340
reco::GsfElectron::core_
GsfElectronCoreRef core_
Definition: GsfElectron.h:195
reco::GsfElectron::MvaOutput::mva_e_pi
float mva_e_pi
Definition: GsfElectron.h:652
reco::GsfElectron::dr04HcalDepth1TowerSumEt
float dr04HcalDepth1TowerSumEt() const
Definition: GsfElectron.h:544
reco::GsfElectron::FiducialFlags::isEEDeeGap
bool isEEDeeGap
Definition: GsfElectron.h:323
reco::GsfElectron::correctEcalEnergy
void correctEcalEnergy(float newEnergy, float newEnergyError)
Definition: GsfElectron.h:825
reco::GsfElectron::ClosestCtfTrack::ctfTrack
TrackRef ctfTrack
Definition: GsfElectron.h:182
reco::GsfElectron::trackClusterMatching
const TrackClusterMatching & trackClusterMatching() const
Definition: GsfElectron.h:245
reco::GsfElectron::saturationInfo
const SaturationInfo & saturationInfo() const
Definition: GsfElectron.h:499
reco::GsfElectron::closestCtfTrackRefValid
bool closestCtfTrackRefValid() const
Definition: GsfElectron.h:169
edm::RefVector< GsfTrackCollection >::const_iterator
iterator const_iterator
Definition: RefVector.h:38
reco::GsfElectron::PflowIsolationVariables
Definition: GsfElectron.h:606
reco::GsfElectron::trackExtrapolations
const TrackExtrapolations & trackExtrapolations() const
Definition: GsfElectron.h:283
reco::GsfElectron::setDeltaEtaSuperClusterAtVtx
void setDeltaEtaSuperClusterAtVtx(float de)
Definition: GsfElectron.h:248
reco::GsfElectron::PixelMatchVariables::~PixelMatchVariables
~PixelMatchVariables()
Definition: GsfElectron.h:851
reco::GsfElectron::setCorrections
void setCorrections(const Corrections &c)
Definition: GsfElectron.h:816
edm::RefVector::begin
const_iterator begin() const
Initialize an iterator over the RefVector.
Definition: RefVector.h:223
reco::GsfElectron::scE2x5Max
float scE2x5Max() const
Definition: GsfElectron.h:474
reco::GsfElectron::P4_COMBINATION
Definition: GsfElectron.h:769
reco::GsfElectron::TrackPositionAtCalo
math::XYZPointF TrackPositionAtCalo() const
Definition: GsfElectron.h:290
reco::GsfElectron::isGsfCtfChargeConsistent
bool isGsfCtfChargeConsistent() const
Definition: GsfElectron.h:138
reco::GsfElectron::full5x5_hcalOverEcalBc
float full5x5_hcalOverEcalBc() const
Definition: GsfElectron.h:454
reco::GsfElectron::TrackClusterMatching::eSeedClusterOverP
float eSeedClusterOverP
Definition: GsfElectron.h:205
reco::GsfElectron::passCutBasedPreselection_
bool passCutBasedPreselection_
Definition: GsfElectron.h:707
reco::GsfElectron::full5x5_eRight
float full5x5_eRight() const
Definition: GsfElectron.h:461
reco::GsfElectron::dr03TkSumPtHEEP
float dr03TkSumPtHEEP() const
Definition: GsfElectron.h:530
reco::GsfElectron::ShowerShape::eMax
float eMax
Definition: GsfElectron.h:381
reco::GsfElectron::convPartner
TrackBaseRef convPartner() const
Definition: GsfElectron.h:589
reco::GsfElectron::dr03IsolationVariables
const IsolationVariables & dr03IsolationVariables() const
Definition: GsfElectron.h:538
reco::GsfElectron::full5x5_e2x5Max
float full5x5_e2x5Max() const
Definition: GsfElectron.h:446
reco::GsfElectron::p4Error
float p4Error(P4Kind kind) const
Definition: GsfElectron.cc:224
reco::GsfElectron::setPixelMatchSubdetectors
void setPixelMatchSubdetectors(int sd1, int sd2)
Definition: GsfElectron.h:853
reco::GsfElectron::ConversionRejection::dcot
float dcot
Definition: GsfElectron.h:576
reco::GsfElectron::setPassMvaPreselection
void setPassMvaPreselection(bool flag)
Definition: GsfElectron.h:702
reco::GsfElectron::ShowerShape::sigmaIetaIphi
float sigmaIetaIphi
Definition: GsfElectron.h:380
reco::GsfElectron::PixelMatchVariables
Definition: GsfElectron.h:839
reco::GsfElectron::trackExtrapolations_
TrackExtrapolations trackExtrapolations_
Definition: GsfElectron.h:294
reco::GsfElectron::deltaPhiSeedClusterTrackAtCalo
float deltaPhiSeedClusterTrackAtCalo() const
Definition: GsfElectron.h:237
reco::GsfElectron::PflowIsolationVariables::sumChargedParticlePt
float sumChargedParticlePt
sum-pt of charged Particles(inludes e/mu)
Definition: GsfElectron.h:612
reco::GsfElectron::MvaInput::MvaInput
MvaInput()
Definition: GsfElectron.h:639
reco::GsfElectron::candidateP4Kind
P4Kind candidateP4Kind() const
Definition: GsfElectron.h:812
reco::GsfElectron::Corrections::correctedEcalEnergyError
float correctedEcalEnergyError
Definition: GsfElectron.h:774
reco::GsfElectron::isEEGap
bool isEEGap() const
Definition: GsfElectron.h:343
reco::GsfElectron::setFFlagIsEEDeeGap
void setFFlagIsEEDeeGap(const bool b)
Definition: GsfElectron.h:354
reco::GsfElectron::convVtxFitProb
float convVtxFitProb() const
Definition: GsfElectron.h:593
reco::GsfElectron::setSuperClusterFbrem
void setSuperClusterFbrem(float fbrem)
Definition: GsfElectron.h:738
reco::GsfElectron::PixelMatchVariables::dPhi1
float dPhi1
Pixel match variable: deltaPhi for innermost hit.
Definition: GsfElectron.h:841
edm::RefVector< GsfTrackCollection >
reco::GsfElectron::full5x5_setShowerShape
void full5x5_setShowerShape(const ShowerShape &s)
Definition: GsfElectron.h:468
reco::GsfElectron::setFFlagIsEBEtaGap
void setFFlagIsEBEtaGap(const bool b)
Definition: GsfElectron.h:352
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
reco::GsfElectron::~GsfElectron
~GsfElectron() override
Definition: GsfElectron.h:102
reco::GsfElectron::SaturationInfo::nSaturatedXtals
int nSaturatedXtals
Definition: GsfElectron.h:491
reco::GsfElectron::TrackClusterMatching::eEleClusterOverPout
float eEleClusterOverPout
Definition: GsfElectron.h:207
reco::GsfElectron::ChargeInfo::isGsfCtfConsistent
bool isGsfCtfConsistent
Definition: GsfElectron.h:127
reco::GsfElectron::TrackExtrapolations::momentumAtCalo
math::XYZVectorF momentumAtCalo
Definition: GsfElectron.h:265
reco::GsfElectron::TrackExtrapolations::momentumOut
math::XYZVectorF momentumOut
Definition: GsfElectron.h:267
reco::GsfElectron::ShowerShape::e2x5Max
float e2x5Max
Definition: GsfElectron.h:371
reco::GsfElectron::TrackClusterMatching::deltaEtaEleClusterAtCalo
float deltaEtaEleClusterAtCalo
Definition: GsfElectron.h:210
reco::GsfElectron::hadronicOverEm
float hadronicOverEm() const
Definition: GsfElectron.h:476
reco::GsfElectron::showerShape
const ShowerShape & showerShape() const
Definition: GsfElectron.h:439
RecoCandidate.h
reco::GsfElectron::fbrem
float fbrem() const
Definition: GsfElectron.h:734
reco::GsfElectron::dr03HcalTowerSumEtBc
float dr03HcalTowerSumEtBc() const
Definition: GsfElectron.h:537
reco::GsfElectron::hcalDepth2OverEcal
float hcalDepth2OverEcal() const
Definition: GsfElectron.h:426
reco::GsfElectron::setShowerShape
void setShowerShape(const ShowerShape &s)
Definition: GsfElectron.h:467
reco::GsfElectron::Classification
Classification
Definition: GsfElectron.h:724
reco::GsfElectron::scPixCharge
int scPixCharge() const
Definition: GsfElectron.h:135
reco::RecoCandidate::track
virtual reco::TrackRef track() const
reference to a Track
Definition: RecoCandidate.cc:13
reco::GsfElectron::ShowerShape::eBottom
float eBottom
Definition: GsfElectron.h:386
edm::Ref< GsfElectronCoreCollection >
reco::GsfElectron::mvaOutput_
MvaOutput mvaOutput_
Definition: GsfElectron.h:678
reco::GsfElectron::mva_e_pi
float mva_e_pi() const
Definition: GsfElectron.h:673
reco::GsfElectron::GsfElectron
GsfElectron()
Definition: GsfElectron.cc:18
reco::GsfElectron::FiducialFlags::isEBPhiGap
bool isEBPhiGap
Definition: GsfElectron.h:322
reco::GsfElectron::Corrections::combinedP4
LorentzVector combinedP4
Definition: GsfElectron.h:780
reco::GsfElectron::ClosestCtfTrack::ClosestCtfTrack
ClosestCtfTrack()
Definition: GsfElectron.h:184
reco::GsfElectron::MvaInput::sigmaEtaEta
float sigmaEtaEta
Definition: GsfElectron.h:634
reco::GsfElectron::hcalDepth1OverEcal
float hcalDepth1OverEcal() const
Definition: GsfElectron.h:425
reco::GsfElectron::ShowerShape::sigmaEtaEta
float sigmaEtaEta
Definition: GsfElectron.h:367
reco::GsfElectron::setPassPflowPreselection
void setPassPflowPreselection(bool flag)
Definition: GsfElectron.h:696
reco::GsfElectron::trackMomentumAtVtxWithConstraint
math::XYZVectorF trackMomentumAtVtxWithConstraint() const
Definition: GsfElectron.h:280
reco::GsfElectron::core
virtual GsfElectronCoreRef core() const
Definition: GsfElectron.cc:8
reco::GsfElectron::setTrackMomentumError
void setTrackMomentumError(float trackMomentumError)
Definition: GsfElectron.cc:186
reco::GsfElectron::TrackClusterMatching::deltaPhiSuperClusterAtVtx
float deltaPhiSuperClusterAtVtx
Definition: GsfElectron.h:212
reco::GsfElectron::mva_Isolated
float mva_Isolated() const
Definition: GsfElectron.h:672
reco::GsfElectron::isGsfCtfScPixChargeConsistent
bool isGsfCtfScPixChargeConsistent() const
Definition: GsfElectron.h:136
reco::GsfElectron::ecalPFClusterIso
float ecalPFClusterIso() const
Definition: GsfElectron.h:660
reco::GsfElectron::IsolationVariables::tkSumPtHEEP
float tkSumPtHEEP
Definition: GsfElectron.h:512
reco::GsfElectron::SHOWERING
Definition: GsfElectron.h:724
reco::GsfElectron::setP4
void setP4(P4Kind kind, const LorentzVector &p4, float p4Error, bool setCandidate)
Definition: GsfElectron.cc:188
reco::GsfElectron::passingPflowPreselection
bool passingPflowPreselection() const
Definition: GsfElectron.h:688
reco::GsfElectron::full5x5_showerShape
const ShowerShape & full5x5_showerShape() const
Definition: GsfElectron.h:464
reco::GsfElectron::PflowIsolationVariables::sumPhotonEt
float sumPhotonEt
sum pt of PF photons // old float photonIso ;
Definition: GsfElectron.h:610
alignCSCRings.s
s
Definition: alignCSCRings.py:92
reco::GsfElectron::closestCtfTrackNLayers
int closestCtfTrackNLayers() const
Definition: GsfElectron.h:176
reco::GsfElectron::ClassificationVariables::superClusterFbrem
float superClusterFbrem
Definition: GsfElectron.h:720
edm::RefVector::end
const_iterator end() const
Termination of iteration.
Definition: RefVector.h:228
reco::GsfElectron::mvaInput_
MvaInput mvaInput_
Definition: GsfElectron.h:677
reco::GsfElectron::ambiguousGsfTracksSize
GsfTrackRefVector::size_type ambiguousGsfTracksSize() const
Definition: GsfElectron.h:690
reco::GsfElectron::hadronicOverEm1
float hadronicOverEm1() const
Definition: GsfElectron.h:477
reco::GsfElectron::full5x5_e2x5Bottom
float full5x5_e2x5Bottom() const
Definition: GsfElectron.h:459
reco::GsfElectron::IsolationVariables::tkSumPt
float tkSumPt
Definition: GsfElectron.h:511
reco::GsfElectron::FiducialFlags::isEERingGap
bool isEERingGap
Definition: GsfElectron.h:324
reco::GsfElectron::caloPosition
math::XYZPoint caloPosition() const
Definition: GsfElectron.h:310
Track.h
reco::GsfElectron::Corrections::fromSuperClusterP4Error
float fromSuperClusterP4Error
Definition: GsfElectron.h:779
TrackFwd.h
reco::GsfElectron::PflowIsolationVariables::sumPUPt
float sumPUPt
sum pt of charged Particles not from PV (for Pu corrections)
Definition: GsfElectron.h:615
reco::GsfElectron::MvaInput::deltaEta
float deltaEta
Definition: GsfElectron.h:636
reco::GsfElectron::dr04HcalDepth1TowerSumEtBc
float dr04HcalDepth1TowerSumEtBc() const
Definition: GsfElectron.h:547
reco::GsfElectron::P4_UNKNOWN
Definition: GsfElectron.h:769
reco::GsfElectron::full5x5_e2x5Left
float full5x5_e2x5Left() const
Definition: GsfElectron.h:456
reco::GsfElectron::PflowIsolationVariables::sumNeutralHadronEtHighThreshold
float sumNeutralHadronEtHighThreshold
sum pt of neutral hadrons with a higher threshold
Definition: GsfElectron.h:613
reco::GsfElectron::setPixelMatchDRz2
void setPixelMatchDRz2(float dRz2)
Definition: GsfElectron.h:857
reco::GsfElectron::TrackClusterMatching::TrackClusterMatching
TrackClusterMatching()
Definition: GsfElectron.h:214
reco::GsfElectron::ConversionRejection
Definition: GsfElectron.h:572
reco::GsfElectron::ShowerShape
Definition: GsfElectron.h:366
reco::GsfElectron::setFFlagIsEE
void setFFlagIsEE(const bool b)
Definition: GsfElectron.h:350
reco::GsfElectron::full5x5_e2x5Top
float full5x5_e2x5Top() const
Definition: GsfElectron.h:458
reco::GsfElectron::ambiguousGsfTracks_
GsfTrackRefVector ambiguousGsfTracks_
Definition: GsfElectron.h:711
reco::GsfElectron::ClassificationVariables::ClassificationVariables
ClassificationVariables()
Definition: GsfElectron.h:722
reco::GsfElectron::dr04HcalDepth2TowerSumEtBc
float dr04HcalDepth2TowerSumEtBc() const
Definition: GsfElectron.h:548
reco::GsfElectron::hcalDepth2OverEcalBc
float hcalDepth2OverEcalBc() const
Definition: GsfElectron.h:432
reco::GsfElectron::MvaOutput::mva_Isolated
float mva_Isolated
Definition: GsfElectron.h:651
reco::GsfElectron::chargeInfo
const ChargeInfo & chargeInfo() const
Definition: GsfElectron.h:139
reco::GsfElectron::trackMomentumAtVtx
math::XYZVectorF trackMomentumAtVtx() const
Definition: GsfElectron.h:276
reco::GsfElectron::full5x5_hcalOverEcal
float full5x5_hcalOverEcal() const
Definition: GsfElectron.h:451
reco::GsfElectron::e2x5Max
float e2x5Max() const
Definition: GsfElectron.h:422
reco::GsfElectron::isEcalEnergyCorrected
bool isEcalEnergyCorrected() const
Definition: GsfElectron.h:805
reco::GsfElectron::ecalDrivenSeed
bool ecalDrivenSeed() const
Definition: GsfElectron.h:166
metsig::electron
Definition: SignAlgoResolutions.h:48
reco::GsfElectron::GOLDEN
Definition: GsfElectron.h:724
reco::GsfElectron::dr04HcalTowerSumEt
float dr04HcalTowerSumEt() const
Definition: GsfElectron.h:546
reco::GsfElectron::isEEDeeGap
bool isEEDeeGap() const
Definition: GsfElectron.h:344
reco::GsfElectron::IsolationVariables::hcalDepth1TowerSumEt
float hcalDepth1TowerSumEt
Definition: GsfElectron.h:514
reco::GsfElectron::ShowerShape::eTop
float eTop
Definition: GsfElectron.h:383
reco::GsfElectron::FiducialFlags
Definition: GsfElectron.h:317
reco::GsfElectron::setPixelMatchDRz1
void setPixelMatchDRz1(float dRz1)
Definition: GsfElectron.h:856
CaloClusterFwd.h
reco::GsfElectron::PixelMatchVariables::subdetectors
unsigned char subdetectors
Subdetectors for first and second pixel hit.
Definition: GsfElectron.h:849
reco::GsfElectron::convDist
float convDist() const
Definition: GsfElectron.h:590
reco::GsfElectron
Definition: GsfElectron.h:35
reco::GsfElectron::correctedEcalEnergyError
float correctedEcalEnergyError() const
Definition: GsfElectron.h:807
reco::GsfElectron::dr04_
IsolationVariables dr04_
Definition: GsfElectron.h:565
reco::GsfElectron::P4_FROM_SUPER_CLUSTER
Definition: GsfElectron.h:769
reco::GsfElectron::IsolationVariables
Definition: GsfElectron.h:510
reco::GsfElectron::pixelMatchDRz1
float pixelMatchDRz1() const
Definition: GsfElectron.h:863
b
double b
Definition: hdecay.h:118
reco::GsfElectron::dr04HcalTowerSumEtBc
float dr04HcalTowerSumEtBc() const
Definition: GsfElectron.h:549
reco::GsfElectron::ShowerShape::hcalTowersBehindClusters
std::vector< CaloTowerDetId > hcalTowersBehindClusters
Definition: GsfElectron.h:376
reco::GsfElectron::MvaOutput::MvaOutput
MvaOutput()
Definition: GsfElectron.h:654
reco::GsfElectron::pixelMatchDPhi1
float pixelMatchDPhi1() const
Definition: GsfElectron.h:861
reco::GsfElectron::ShowerShape::sigmaIphiIphi
float sigmaIphiIphi
Definition: GsfElectron.h:369
reco::GsfElectron::MvaInput
Definition: GsfElectron.h:631
reco::GsfElectron::setDr04Isolation
void setDr04Isolation(const IsolationVariables &dr04)
Definition: GsfElectron.h:554
reco::GsfElectron::clearAmbiguousGsfTracks
void clearAmbiguousGsfTracks()
Definition: GsfElectron.h:698
reco::GsfElectron::sigmaIphiIphi
float sigmaIphiIphi() const
Definition: GsfElectron.h:420
reco::TrackRef
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
Definition: TrackFwd.h:20
reco::GsfElectron::hadronicOverEm2
float hadronicOverEm2() const
Definition: GsfElectron.h:478
reco::GsfElectron::corrections
const Corrections & corrections() const
Definition: GsfElectron.h:813
reco::GsfElectron::ChargeInfo::isGsfCtfScPixConsistent
bool isGsfCtfScPixConsistent
Definition: GsfElectron.h:125
reco::GsfElectron::IsolationVariables::hcalDepth1TowerSumEtBc
float hcalDepth1TowerSumEtBc
Definition: GsfElectron.h:516
reco::GsfElectron::Corrections::pflowP4
LorentzVector pflowP4
Definition: GsfElectron.h:782
reco::GsfElectron::UNKNOWN
Definition: GsfElectron.h:724
reco::GsfElectron::classVariables_
ClassificationVariables classVariables_
Definition: GsfElectron.h:744
reco::GsfElectron::eBottom
float eBottom() const
Definition: GsfElectron.h:438
reco::GsfElectron::TrackClusterMatching::eSeedClusterOverPout
float eSeedClusterOverPout
Definition: GsfElectron.h:206
reco::GsfElectron::isEnergyScaleCorrected
bool isEnergyScaleCorrected() const
Definition: GsfElectron.h:824
reco::GsfElectron::setTrackFbrem
void setTrackFbrem(float fbrem)
Definition: GsfElectron.h:737
reco::GsfElectron::PixelMatchVariables::dRz2
float dRz2
Pixel match variable: deltaRz for second hit.
Definition: GsfElectron.h:847
reco::GsfElectron::showerShape_
ShowerShape showerShape_
Definition: GsfElectron.h:482
reco::GsfElectron::IsolationVariables::hcalDepth2TowerSumEtBc
float hcalDepth2TowerSumEtBc
Definition: GsfElectron.h:517
reco::GsfElectron::P4Kind
P4Kind
Definition: GsfElectron.h:769
GsfElectronFwd.h
reco::GsfElectron::pixelMatchDPhi2
float pixelMatchDPhi2() const
Definition: GsfElectron.h:862
reco::GsfElectron::MvaInput::lateBrem
int lateBrem
Definition: GsfElectron.h:633
reco::GsfElectron::setCorrectedEcalEnergyError
void setCorrectedEcalEnergyError(float newEnergyError)
Definition: GsfElectron.cc:170
core
Definition: __init__.py:1
reco::GsfElectron::TrackClusterMatching
Definition: GsfElectron.h:202
reco::GsfElectron::TrackClusterMatching::eSuperClusterOverP
float eSuperClusterOverP
Definition: GsfElectron.h:204
math::XYZPoint
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
reco::GsfElectron::conversionRejectionVariables
const ConversionRejection & conversionRejectionVariables() const
Definition: GsfElectron.h:594
reco::GsfElectron::full5x5_r9
float full5x5_r9() const
Definition: GsfElectron.h:448
reco::GsfElectron::deltaEtaSuperClusterTrackAtVtx
float deltaEtaSuperClusterTrackAtVtx() const
Definition: GsfElectron.h:233
reco::GsfElectron::pixelMatchVariables_
PixelMatchVariables pixelMatchVariables_
Definition: GsfElectron.h:867
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
reco::GsfElectron::FiducialFlags::FiducialFlags
FiducialFlags()
Definition: GsfElectron.h:325
reco::GsfElectron::clone
GsfElectron * clone() const override
returns a clone of the Candidate object
Definition: GsfElectron.cc:158
reco::GsfElectron::full5x5_sigmaIetaIeta
float full5x5_sigmaIetaIeta() const
Definition: GsfElectron.h:443
reco::GsfElectron::TrackExtrapolations::momentumAtVtxWithConstraint
math::XYZVectorF momentumAtVtxWithConstraint
Definition: GsfElectron.h:270
reco::GsfElectron::scE5x5
float scE5x5() const
Definition: GsfElectron.h:475
reco::GsfElectron::setClassification
void setClassification(Classification myclass)
Definition: GsfElectron.h:740
edm::Ref::isNonnull
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:238
reco::GsfElectron::TrackExtrapolations
Definition: GsfElectron.h:260
reco::GsfElectron::classificationVariables
const ClassificationVariables & classificationVariables() const
Definition: GsfElectron.h:729
reco::GsfElectron::dr03HcalDepth1TowerSumEt
float dr03HcalDepth1TowerSumEt() const
Definition: GsfElectron.h:532
reco::GsfElectron::setPfIsolationVariables
void setPfIsolationVariables(const PflowIsolationVariables &iso)
Definition: GsfElectron.h:667
reco::GsfElectron::addAmbiguousGsfTrack
void addAmbiguousGsfTrack(const reco::GsfTrackRef &t)
Definition: GsfElectron.h:699
reco::GsfElectron::ShowerShape::e2x5Left
float e2x5Left
Definition: GsfElectron.h:388
reco::GsfElectron::full5x5_hcalOverEcalValid
float full5x5_hcalOverEcalValid() const
Definition: GsfElectron.h:455
reco::GsfElectron::dr03_
IsolationVariables dr03_
Definition: GsfElectron.h:564
reco::GsfElectron::eSeedClusterOverP
float eSeedClusterOverP() const
Definition: GsfElectron.h:230
reco::GsfElectron::setFFlagIsEB
void setFFlagIsEB(const bool b)
Definition: GsfElectron.h:349
reco::GsfElectron::dr04TkSumPt
float dr04TkSumPt() const
Definition: GsfElectron.h:541
reco::GsfElectron::pixelMatchDRz2
float pixelMatchDRz2() const
Definition: GsfElectron.h:864
reco::GsfElectron::hcalOverEcalBc
float hcalOverEcalBc() const
Definition: GsfElectron.h:433
reco::GsfElectron::TrackClusterMatching::deltaPhiEleClusterAtCalo
float deltaPhiEleClusterAtCalo
Definition: GsfElectron.h:211
reco::LeafCandidate::p4
const LorentzVector & p4() const final
four-momentum Lorentz vector
Definition: LeafCandidate.h:114
reco::GsfElectron::passPflowPreselection_
bool passPflowPreselection_
Definition: GsfElectron.h:708
reco::GsfElectron::pixelMatchSubdetector1
int pixelMatchSubdetector1() const
Definition: GsfElectron.h:859
reco::GsfElectron::MvaInput::earlyBrem
int earlyBrem
Definition: GsfElectron.h:632
reco::GsfElectron::PflowIsolationVariables::sumPhotonEtHighThreshold
float sumPhotonEtHighThreshold
sum pt of PF photons with a higher threshold
Definition: GsfElectron.h:614
reco::GsfElectron::PixelMatchVariables::PixelMatchVariables
PixelMatchVariables()
Definition: GsfElectron.h:850
reco::GsfElectron::e1x5
float e1x5() const
Definition: GsfElectron.h:421
reco::GsfElectron::ShowerShape::e2x5Top
float e2x5Top
Definition: GsfElectron.h:387
reco::GsfElectron::isGap
bool isGap() const
Definition: GsfElectron.h:338
reco::GsfElectron::setMvaOutput
void setMvaOutput(const MvaOutput &mo)
Definition: GsfElectron.h:669
reco::GsfElectron::passingCutBasedPreselection
bool passingCutBasedPreselection() const
Definition: GsfElectron.h:687
reco::GsfElectron::setPixelMatchDPhi1
void setPixelMatchDPhi1(float dPhi1)
Definition: GsfElectron.h:854
reco::GsfElectron::full5x5_e1x5
float full5x5_e1x5() const
Definition: GsfElectron.h:445
reco::GsfElectron::ecalDriven
bool ecalDriven() const
Definition: GsfElectron.cc:168
reco::LeafCandidate::charge
int charge() const final
electric charge
Definition: LeafCandidate.h:106
reco::GsfElectron::hcalPFClusterIso
float hcalPFClusterIso() const
Definition: GsfElectron.h:661
reco::GsfElectron::isEBEtaGap
bool isEBEtaGap() const
Definition: GsfElectron.h:341
CaloTowerDetId.h
reco::GsfElectron::closestCtfTrackRef
virtual TrackRef closestCtfTrackRef() const
Definition: GsfElectron.h:188
reco::GsfElectron::class_
Classification class_
Definition: GsfElectron.h:745
reco::GsfElectron::ClassificationVariables
Definition: GsfElectron.h:718
reco::GsfElectron::trackMomentumAtCalo
math::XYZVectorF trackMomentumAtCalo() const
Definition: GsfElectron.h:277
reco::GsfElectron::setFFlagIsEBEEGap
void setFFlagIsEBEEGap(const bool b)
Definition: GsfElectron.h:351
reco::GsfElectron::nSaturatedXtals
float nSaturatedXtals() const
Definition: GsfElectron.h:497
reco::GsfElectron::setTrackExtrapolations
void setTrackExtrapolations(const TrackExtrapolations &te)
Definition: GsfElectron.h:286
reco::GsfElectron::full5x5_e5x5
float full5x5_e5x5() const
Definition: GsfElectron.h:447
HltBtagPostValidation_cff.c
c
Definition: HltBtagPostValidation_cff.py:31
reco::RecoCandidate
Definition: RecoCandidate.h:20
reco::GsfElectron::hcalOverEcalValid
float hcalOverEcalValid() const
Definition: GsfElectron.h:434
reco::GsfElectron::TrackExtrapolations::momentumAtEleClus
math::XYZVectorF momentumAtEleClus
Definition: GsfElectron.h:269
reco::GsfElectron::SaturationInfo::isSeedSaturated
bool isSeedSaturated
Definition: GsfElectron.h:492
edm::RefVector::push_back
void push_back(value_type const &ref)
Add a Ref<C, T> to the RefVector.
Definition: RefVector.h:67
reco::GsfElectron::closestCtfTrack
virtual ClosestCtfTrack closestCtfTrack() const
Definition: GsfElectron.h:189
reco::GsfElectron::setMvaInput
void setMvaInput(const MvaInput &mi)
Definition: GsfElectron.h:668
CalibrationSummaryClient_cfi.kind
kind
Definition: CalibrationSummaryClient_cfi.py:37
reco::GsfElectron::trackMomentumAtEleClus
math::XYZVectorF trackMomentumAtEleClus() const
Definition: GsfElectron.h:279
reco::GsfElectron::dr03HcalDepth1TowerSumEtBc
float dr03HcalDepth1TowerSumEtBc() const
Definition: GsfElectron.h:535
reco::GsfElectron::r9
float r9() const
Definition: GsfElectron.h:424
reco::GsfElectron::PflowIsolationVariables::sumNeutralHadronEt
float sumNeutralHadronEt
sum pt of neutral hadrons // old float neutralHadronIso ;
Definition: GsfElectron.h:609
reco::GsfElectron::hcalOverEcal
float hcalOverEcal() const
Definition: GsfElectron.h:427
reco::GsfElectron::TrackClusterMatching::deltaPhiSeedClusterAtCalo
float deltaPhiSeedClusterAtCalo
Definition: GsfElectron.h:213
reco::GsfElectron::sigmaEtaEta
float sigmaEtaEta() const
Definition: GsfElectron.h:418
reco::GsfElectron::ChargeInfo::scPixCharge
int scPixCharge
Definition: GsfElectron.h:124
edm::Ptr< CaloCluster >
reco::Candidate
Definition: Candidate.h:27
reco::GsfElectron::sigmaIetaIeta
float sigmaIetaIeta() const
Definition: GsfElectron.h:419
reco::GsfElectron::BIGBREM
Definition: GsfElectron.h:724
reco::GsfElectron::MvaOutput::status
int status
Definition: GsfElectron.h:650
reco::GsfElectron::pixelMatchSubdetector2
int pixelMatchSubdetector2() const
Definition: GsfElectron.h:860
reco::GsfElectron::mvaOutput
const MvaOutput & mvaOutput() const
Definition: GsfElectron.h:664
reco::GsfElectron::dr03HcalDepth2TowerSumEtBc
float dr03HcalDepth2TowerSumEtBc() const
Definition: GsfElectron.h:536
reco::GsfElectron::correctedEcalEnergy
float correctedEcalEnergy() const
Definition: GsfElectron.h:806
reco::GsfElectron::electronCluster
CaloClusterPtr electronCluster() const
Definition: GsfElectron.h:228
reco::CaloCluster_iterator
CaloClusterPtrVector::iterator CaloCluster_iterator
Definition: CaloClusterFwd.h:25
reco::GsfElectron::setDeltaPhiSuperClusterAtVtx
void setDeltaPhiSuperClusterAtVtx(float dphi)
Definition: GsfElectron.h:249
reco::GsfElectron::Corrections::trackMomentumError
float trackMomentumError
Definition: GsfElectron.h:776
reco::GsfElectron::eLeft
float eLeft() const
Definition: GsfElectron.h:435
reco::GsfElectron::basicClustersEnd
CaloCluster_iterator basicClustersEnd() const
Definition: GsfElectron.h:307
reco::GsfElectron::ConversionRejection::partner
TrackBaseRef partner
Definition: GsfElectron.h:574
reco::GsfElectron::full5x5_eBottom
float full5x5_eBottom() const
Definition: GsfElectron.h:463
reco::GsfElectron::basicClustersBegin
CaloCluster_iterator basicClustersBegin() const
Definition: GsfElectron.h:306
reco::LeafCandidate::setP4
void setP4(const LorentzVector &p4) final
set 4-momentum
Definition: LeafCandidate.h:158
reco::GsfElectron::ShowerShape::eRight
float eRight
Definition: GsfElectron.h:385
reco::GsfElectron::setAmbiguous
void setAmbiguous(bool flag)
Definition: GsfElectron.h:697
reco::GsfElectron::ShowerShape::e2nd
float e2nd
Definition: GsfElectron.h:382
std
Definition: JetResolutionObject.h:76
reco::GsfElectron::isElectron
bool isElectron() const override
Definition: GsfElectron.h:142
reco::GsfElectron::setClassificationVariables
void setClassificationVariables(const ClassificationVariables &cv)
Definition: GsfElectron.h:739
reco::GsfElectron::fiducialFlags_
FiducialFlags fiducialFlags_
Definition: GsfElectron.h:359
reco::GsfElectron::ShowerShape::invalidHcal
bool invalidHcal
Definition: GsfElectron.h:379
GsfTrackFwd.h
reco::GsfElectron::ShowerShape::e1x5
float e1x5
Definition: GsfElectron.h:370
reco::GsfElectron::convRadius
float convRadius() const
Definition: GsfElectron.h:592
reco::GsfElectron::eTop
float eTop() const
Definition: GsfElectron.h:437
reco::GsfElectron::P4_PFLOW_COMBINATION
Definition: GsfElectron.h:769
reco::GsfElectron::superClusterPosition
math::XYZPoint superClusterPosition() const
Definition: GsfElectron.h:302
reco::GsfElectron::saturationInfo_
SaturationInfo saturationInfo_
Definition: GsfElectron.h:503
reco::GsfElectron::overlap
bool overlap(const Candidate &) const override
check overlap with another candidate
Definition: GsfElectron.cc:152
SuperClusterFwd.h
reco::GsfElectron::setPassCutBasedPreselection
void setPassCutBasedPreselection(bool flag)
Definition: GsfElectron.h:695
reco::GsfElectron::e5x5
float e5x5() const
Definition: GsfElectron.h:423
reco::GsfElectron::setConversionRejectionVariables
void setConversionRejectionVariables(const ConversionRejection &convRej)
Definition: GsfElectron.h:595
reco::GsfElectron::ConversionRejection::dist
float dist
Definition: GsfElectron.h:575
reco::GsfElectron::scSigmaEtaEta
float scSigmaEtaEta() const
Definition: GsfElectron.h:471
reco::GsfElectron::TrackClusterMatching::deltaEtaSuperClusterAtVtx
float deltaEtaSuperClusterAtVtx
Definition: GsfElectron.h:208
reco::GsfElectron::isEBEEGap
bool isEBEEGap() const
Definition: GsfElectron.h:339
reco::GsfElectron::setDr03Isolation
void setDr03Isolation(const IsolationVariables &dr03)
Definition: GsfElectron.h:553
reco::GsfElectron::ShowerShape::hcalDepth2OverEcalBc
float hcalDepth2OverEcalBc
Definition: GsfElectron.h:378
reco::GsfElectron::isolationVariables04
const IsolationVariables & isolationVariables04() const
Definition: GsfElectron.h:560
reco::GsfElectron::Corrections::fromSuperClusterP4
LorentzVector fromSuperClusterP4
Definition: GsfElectron.h:778
LorentzVector
math::XYZTLorentzVector LorentzVector
Definition: HLTMuonMatchAndPlot.h:49
reco::GsfElectron::PflowIsolationVariables::sumHcalClusterEt
float sumHcalClusterEt
Definition: GsfElectron.h:618
SuperCluster.h
reco::GsfElectron::basicClustersSize
int basicClustersSize() const
Definition: GsfElectron.h:303
reco::GsfElectron::PflowIsolationVariables::PflowIsolationVariables
PflowIsolationVariables()
Definition: GsfElectron.h:619
reco::GsfElectron::TrackExtrapolations::positionAtCalo
math::XYZPointF positionAtCalo
Definition: GsfElectron.h:262
reco::GsfElectron::ShowerShape::ShowerShape
ShowerShape()
Definition: GsfElectron.h:391
reco::GsfElectron::MvaOutput
Definition: GsfElectron.h:649
reco::GsfElectron::isSeedSaturated
float isSeedSaturated() const
Definition: GsfElectron.h:498
reco::GsfElectron::full5x5_eLeft
float full5x5_eLeft() const
Definition: GsfElectron.h:460
reco::GsfElectron::ShowerShape::hcalDepth1OverEcalBc
float hcalDepth1OverEcalBc
Definition: GsfElectron.h:377
reco::GsfElectron::deltaEtaEleClusterTrackAtCalo
float deltaEtaEleClusterTrackAtCalo() const
Definition: GsfElectron.h:235
reco::GsfElectron::init
void init()
Definition: GsfElectron.cc:10
reco::GsfElectron::eSuperClusterOverP
float eSuperClusterOverP() const
Definition: GsfElectron.h:229
reco::GsfElectron::classification
Classification classification() const
Definition: GsfElectron.h:730
math::XYZVectorF
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float > > XYZVectorF
spatial vector with cartesian internal representation
Definition: Vector3D.h:16
reco::GsfElectron::ConversionRejection::radius
float radius
Definition: GsfElectron.h:577
reco::GsfElectron::ConversionRejection::flags
int flags
Definition: GsfElectron.h:573
GlobalVector.h
reco::GsfElectron::eEleClusterOverPout
float eEleClusterOverPout() const
Definition: GsfElectron.h:232
reco::GsfElectron::IsolationVariables::hcalDepth2TowerSumEt
float hcalDepth2TowerSumEt
Definition: GsfElectron.h:515
reco::GsfElectron::SaturationInfo::SaturationInfo
SaturationInfo()
Definition: GsfElectron.h:493
reco::GsfElectron::GAP
Definition: GsfElectron.h:724
reco::GsfElectron::trackerDrivenSeed
bool trackerDrivenSeed() const
Definition: GsfElectron.h:167
reco::GsfElectron::MvaInput::nClusterOutsideMustache
int nClusterOutsideMustache
Definition: GsfElectron.h:637
edm::RefToBase< reco::Track >
reco::GsfElectron::isEBPhiGap
bool isEBPhiGap() const
Definition: GsfElectron.h:342
reco::GsfElectron::ShowerShape::eLeft
float eLeft
Definition: GsfElectron.h:384
reco::GsfElectron::eSeedClusterOverPout
float eSeedClusterOverPout() const
Definition: GsfElectron.h:231
reco::GsfElectron::superCluster
SuperClusterRef superCluster() const override
reference to a SuperCluster
Definition: GsfElectron.h:163
reco::GsfElectron::ecalEnergyError
float ecalEnergyError() const
Definition: GsfElectron.h:821
reco::GsfElectron::hcalTowersBehindClusters
const std::vector< CaloTowerDetId > & hcalTowersBehindClusters() const
Definition: GsfElectron.h:428
reco::GsfElectron::setIsolation03
void setIsolation03(const IsolationVariables &dr03)
Definition: GsfElectron.h:557
reco::GsfElectron::trackPositionAtVtx
math::XYZPointF trackPositionAtVtx() const
Definition: GsfElectron.h:274
reco::GsfElectron::full5x5_hcalDepth1OverEcal
float full5x5_hcalDepth1OverEcal() const
Definition: GsfElectron.h:449
reco::GsfElectron::trackMomentumError
float trackMomentumError() const
Definition: GsfElectron.h:808
reco::GsfElectron::IsolationVariables::ecalRecHitSumEt
float ecalRecHitSumEt
Definition: GsfElectron.h:513
reco::GsfElectron::FiducialFlags::isEBEtaGap
bool isEBEtaGap
Definition: GsfElectron.h:321
reco::GsfElectron::eRight
float eRight() const
Definition: GsfElectron.h:436
reco::GsfElectron::FiducialFlags::isEB
bool isEB
Definition: GsfElectron.h:318
reco::GsfElectron::pfIsolationVariables
const PflowIsolationVariables & pfIsolationVariables() const
Definition: GsfElectron.h:658
reco::GsfElectron::TrackExtrapolations::momentumAtVtx
math::XYZVectorF momentumAtVtx
Definition: GsfElectron.h:263
reco::GsfElectron::full5x5_eTop
float full5x5_eTop() const
Definition: GsfElectron.h:462
reco::GsfElectron::setCorrectedEcalEnergy
void setCorrectedEcalEnergy(float newEnergy)
Definition: GsfElectron.cc:174
reco::GsfElectron::dr04TkSumPtHEEP
float dr04TkSumPtHEEP() const
Definition: GsfElectron.h:542
reco::GsfElectron::PixelMatchVariables::dRz1
float dRz1
Pixel match variable: deltaRz for innermost hit.
Definition: GsfElectron.h:845
reco::Candidate::LorentzVector
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Candidate.h:36
reco::GsfElectron::IsolationVariables::IsolationVariables
IsolationVariables()
Definition: GsfElectron.h:518
reco::GsfElectron::setEcalEnergyError
void setEcalEnergyError(float energyError)
Definition: GsfElectron.h:819
reco::GsfElectron::BADTRACK
Definition: GsfElectron.h:724
reco::GsfElectron::dr03HcalTowerSumEt
float dr03HcalTowerSumEt() const
Definition: GsfElectron.h:534
reco::GsfElectron::Corrections::isEcalEnergyCorrected
bool isEcalEnergyCorrected
Definition: GsfElectron.h:772
reco::GsfElectron::ctfGsfOverlap
float ctfGsfOverlap() const
Definition: GsfElectron.h:165
math::XYZPointF
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float > > XYZPointF
point in space with cartesian internal representation
Definition: Point3D.h:10
reco::GsfElectron::TrackPositionAtVtx
math::XYZPointF TrackPositionAtVtx() const
Definition: GsfElectron.h:289
reco::GsfElectron::caloEnergy
float caloEnergy() const
Definition: GsfElectron.h:823
reco::GsfElectron::SaturationInfo
Definition: GsfElectron.h:490
edm::RefVector::size
size_type size() const
Size of the RefVector.
Definition: RefVector.h:102
reco::GsfElectron::scSigmaIEtaIEta
float scSigmaIEtaIEta() const
Definition: GsfElectron.h:472
submitPVValidationJobs.t
string t
Definition: submitPVValidationJobs.py:644
reco::GsfElectron::ambiguous
bool ambiguous() const
Definition: GsfElectron.h:689
reco::GsfElectron::dr04IsolationVariables
const IsolationVariables & dr04IsolationVariables() const
Definition: GsfElectron.h:550
reco::GsfElectron::passMvaPreslection_
bool passMvaPreslection_
Definition: GsfElectron.h:709
reco::GsfElectron::deltaPhiEleClusterTrackAtCalo
float deltaPhiEleClusterTrackAtCalo() const
Definition: GsfElectron.h:238
reco::GsfElectron::MvaOutput::mvaByPassForIsolated
float mvaByPassForIsolated
Definition: GsfElectron.h:653
GlobalPoint.h
reco::GsfElectron::isGsfScPixChargeConsistent
bool isGsfScPixChargeConsistent() const
Definition: GsfElectron.h:137
reco::GsfElectron::ambiguousGsfTracksEnd
GsfTrackRefVector::const_iterator ambiguousGsfTracksEnd() const
Definition: GsfElectron.h:692
reco::GsfElectron::PflowIsolationVariables::sumEcalClusterEt
float sumEcalClusterEt
Definition: GsfElectron.h:617
reco::GsfElectron::mvaInput
const MvaInput & mvaInput() const
Definition: GsfElectron.h:663
reco::GsfElectron::fiducialFlags
const FiducialFlags & fiducialFlags() const
Definition: GsfElectron.h:346
reco::GsfElectron::ShowerShape::e5x5
float e5x5
Definition: GsfElectron.h:372
reco::GsfElectron::setCore
void setCore(const reco::GsfElectronCoreRef &core)
Definition: GsfElectron.h:160
reco::GsfElectron::dr03HcalDepth2TowerSumEt
float dr03HcalDepth2TowerSumEt() const
Definition: GsfElectron.h:533
reco::GsfElectron::full5x5_sigmaIphiIphi
float full5x5_sigmaIphiIphi() const
Definition: GsfElectron.h:444
reco::GsfElectron::dr03EcalRecHitSumEt
float dr03EcalRecHitSumEt() const
Definition: GsfElectron.h:531
reco::GsfElectron::ShowerShape::e2x5Bottom
float e2x5Bottom
Definition: GsfElectron.h:390
reco::GsfElectron::dr04HcalDepth2TowerSumEt
float dr04HcalDepth2TowerSumEt() const
Definition: GsfElectron.h:545
reco::GsfElectron::shFracInnerHits
float shFracInnerHits() const
Definition: GsfElectron.h:187
reco::GsfElectron::ambiguous_
bool ambiguous_
Definition: GsfElectron.h:710
reco::GsfElectron::ConversionRejection::vtxFitProb
float vtxFitProb
Definition: GsfElectron.h:578
reco::GsfElectron::Corrections
Definition: GsfElectron.h:771
reco::GsfElectron::TrackClusterMatching::deltaEtaSeedClusterAtCalo
float deltaEtaSeedClusterAtCalo
Definition: GsfElectron.h:209
reco::GsfElectron::full5x5_hcalDepth2OverEcal
float full5x5_hcalDepth2OverEcal() const
Definition: GsfElectron.h:450
reco::GsfElectron::PflowIsolationVariables::sumChargedHadronPt
float sumChargedHadronPt
sum-pt of charged Hadron // old float chargedHadronIso ;
Definition: GsfElectron.h:608
reco::GsfElectron::ConversionRejection::ConversionRejection
ConversionRejection()
Definition: GsfElectron.h:579
RemoveAddSevLevel.flag
flag
Definition: RemoveAddSevLevel.py:116
reco::GsfElectron::TrackExtrapolations::positionAtVtx
math::XYZPointF positionAtVtx
Definition: GsfElectron.h:261
reco::GsfElectron::chargeInfo_
ChargeInfo chargeInfo_
Definition: GsfElectron.h:147
reco::GsfElectron::ecalEnergy
float ecalEnergy() const
Definition: GsfElectron.h:820
reco::GsfElectron::PixelMatchVariables::dPhi2
float dPhi2
Pixel match variable: deltaPhi for second hit.
Definition: GsfElectron.h:843
reco::GsfElectron::full5x5_hcalDepth1OverEcalBc
float full5x5_hcalDepth1OverEcalBc() const
Definition: GsfElectron.h:452
reco::GsfElectron::ShowerShape::hcalDepth2OverEcal
float hcalDepth2OverEcal
Definition: GsfElectron.h:375
reco::GsfElectron::trackFbrem
float trackFbrem() const
Definition: GsfElectron.h:727