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