CMS 3D CMS Logo

Photon.h
Go to the documentation of this file.
1 #ifndef EgammaCandidates_Photon_h
2 #define EgammaCandidates_Photon_h
3 
18 
19 namespace reco {
20 
21  class Photon : public RecoCandidate {
22  public:
24  struct FiducialFlags;
25  struct IsolationVariables;
26  struct ShowerShape;
27  struct MIPVariables;
28  struct SaturationInfo;
29 
31  Photon() : RecoCandidate() { pixelSeed_ = false; }
32 
34  Photon(const Photon&);
35 
37  Photon(const LorentzVector& p4, const Point& caloPos, const PhotonCoreRef& core, const Point& vtx = Point(0, 0, 0));
38 
40  ~Photon() override;
41 
43  Photon* clone() const override;
44 
48 
49  //
51  //
52  // retrieve provenance
53  bool isPFlowPhoton() const { return this->photonCore()->isPFlowPhoton(); }
54  bool isStandardPhoton() const { return this->photonCore()->isStandardPhoton(); }
56  reco::SuperClusterRef superCluster() const override;
58  reco::SuperClusterRef parentSuperCluster() const { return this->photonCore()->parentSuperCluster(); }
60  reco::ConversionRefVector conversions() const { return this->photonCore()->conversions(); }
61  enum ConversionProvenance { egamma = 0, pflow = 1, both = 2 };
62 
64  reco::ConversionRefVector conversionsOneLeg() const { return this->photonCore()->conversionsOneLeg(); }
66  bool hasConversionTracks() const {
67  if (!this->photonCore()->conversions().empty() || !this->photonCore()->conversionsOneLeg().empty())
68  return true;
69  else
70  return false;
71  }
73  reco::ElectronSeedRefVector electronPixelSeeds() const { return this->photonCore()->electronPixelSeeds(); }
75  bool hasPixelSeed() const {
76  if (!(this->photonCore()->electronPixelSeeds()).empty())
77  return true;
78  else
79  return false;
80  }
81  int conversionTrackProvenance(const edm::RefToBase<reco::Track>& convTrack) const;
82 
86  void setVertex(const Point& vertex) override;
88  bool isPhoton() const override { return true; }
89 
90  //=======================================================
91  // Fiducial Flags
92  //=======================================================
93  struct FiducialFlags {
94  //Fiducial flags
95  bool isEB; //Photon is in EB
96  bool isEE; //Photon is in EE
97  bool isEBEtaGap; //Photon is in supermodule/supercrystal eta gap in EB
98  bool isEBPhiGap; //Photon is in supermodule/supercrystal phi gap in EB
99  bool isEERingGap; //Photon is in crystal ring gap in EE
100  bool isEEDeeGap; //Photon is in crystal dee gap in EE
101  bool isEBEEGap; //Photon is in border between EB and EE.
102 
104  : isEB(false),
105  isEE(false),
106  isEBEtaGap(false),
107  isEBPhiGap(false),
109  isEEDeeGap(false),
111 
112  {}
113  };
114 
119  bool isEB() const { return fiducialFlagBlock_.isEB; }
120  // true if photon is in ECAL endcap
121  bool isEE() const { return fiducialFlagBlock_.isEE; }
123  bool isEBGap() const { return (isEBEtaGap() || isEBPhiGap()); }
124  bool isEBEtaGap() const { return fiducialFlagBlock_.isEBEtaGap; }
125  bool isEBPhiGap() const { return fiducialFlagBlock_.isEBPhiGap; }
127  bool isEEGap() const { return (isEERingGap() || isEEDeeGap()); }
128  bool isEERingGap() const { return fiducialFlagBlock_.isEERingGap; }
129  bool isEEDeeGap() const { return fiducialFlagBlock_.isEEDeeGap; }
131  bool isEBEEGap() const { return fiducialFlagBlock_.isEBEEGap; }
132 
133  //=======================================================
134  // Shower Shape Variables
135  //=======================================================
136 
137  struct ShowerShape {
138  float sigmaEtaEta;
140  float e1x5;
141  float e2x5;
142  float e3x3;
143  float e5x5;
145  float hcalDepth1OverEcal; // hcal over ecal energy using first hcal depth
146  float hcalDepth2OverEcal; // hcal over ecal energy using 2nd hcal depth
149  std::vector<CaloTowerDetId> hcalTowersBehindClusters;
151  float effSigmaRR;
154  float e2nd;
155  float eTop;
156  float eLeft;
157  float eRight;
158  float eBottom;
159  float e1x3;
160  float e2x2;
161  float e2x5Max;
162  float e2x5Left;
163  float e2x5Right;
164  float e2x5Top;
165  float e2x5Bottom;
166  float smMajor;
167  float smMinor;
168  float smAlpha;
170  : sigmaEtaEta(std::numeric_limits<float>::max()),
171  sigmaIetaIeta(std::numeric_limits<float>::max()),
172  e1x5(0.f),
173  e2x5(0.f),
174  e3x3(0.f),
175  e5x5(0.f),
176  maxEnergyXtal(0.f),
182  effSigmaRR(std::numeric_limits<float>::max()),
183  sigmaIetaIphi(std::numeric_limits<float>::max()),
184  sigmaIphiIphi(std::numeric_limits<float>::max()),
185  e2nd(0.f),
186  eTop(0.f),
187  eLeft(0.f),
188  eRight(0.f),
189  eBottom(0.f),
190  e1x3(0.f),
191  e2x2(0.f),
192  e2x5Max(0.f),
193  e2x5Left(0.f),
194  e2x5Right(0.f),
195  e2x5Top(0.f),
196  e2x5Bottom(0.f),
197  smMajor(0.f),
198  smMinor(0.f),
199  smAlpha(0.f) {}
200  };
203 
206 
215 
217  float hadTowOverEm() const {
219  }
224  const std::vector<CaloTowerDetId>& hcalTowersBehindClusters() const {
226  }
229 
231  float e1x5() const { return showerShapeBlock_.e1x5; }
232  float e2x5() const { return showerShapeBlock_.e2x5; }
233  float e3x3() const { return showerShapeBlock_.e3x3; }
234  float e5x5() const { return showerShapeBlock_.e5x5; }
236  float sigmaEtaEta() const { return showerShapeBlock_.sigmaEtaEta; }
238  float r1x5() const { return showerShapeBlock_.e1x5 / showerShapeBlock_.e5x5; }
239  float r2x5() const { return showerShapeBlock_.e2x5 / showerShapeBlock_.e5x5; }
240  float r9() const { return showerShapeBlock_.e3x3 / this->superCluster()->rawEnergy(); }
241 
243  float full5x5_e1x5() const { return full5x5_showerShapeBlock_.e1x5; }
244  float full5x5_e2x5() const { return full5x5_showerShapeBlock_.e2x5; }
245  float full5x5_e3x3() const { return full5x5_showerShapeBlock_.e3x3; }
246  float full5x5_e5x5() const { return full5x5_showerShapeBlock_.e5x5; }
252  float full5x5_r9() const { return full5x5_showerShapeBlock_.e3x3 / this->superCluster()->rawEnergy(); }
253 
254  //=======================================================
255  // SaturationInfo
256  //=======================================================
257 
258  struct SaturationInfo {
262  };
263 
264  // accessors
267  const SaturationInfo& saturationInfo() const { return saturationInfo_; }
269 
270  //=======================================================
271  // Energy Determinations
272  //=======================================================
274 
290  : scEcalEnergy(0.),
291  scEcalEnergyError(999.),
292  scEcalP4(0., 0., 0., 0.),
293  phoEcalEnergy(0.),
294  phoEcalEnergyError(999.),
295  phoEcalP4(0., 0., 0., 0.),
296  regression1Energy(0.),
298  regression1P4(0., 0., 0., 0.),
299  regression2Energy(0.),
301  regression2P4(0., 0., 0., 0.),
303  };
304 
305  using RecoCandidate::p4;
306  using RecoCandidate::setP4;
307 
308  //sets both energy and its uncertainty
309  void setCorrectedEnergy(P4type type, float E, float dE, bool toCand = true);
310  void setP4(P4type type, const LorentzVector& p4, float p4Error, bool setToRecoCandidate);
313 
314  float getCorrectedEnergy(P4type type) const;
315  float getCorrectedEnergyError(P4type type) const;
317  const LorentzVector& p4(P4type type) const;
319 
320  //=======================================================
321  // MIP Variables
322  //=======================================================
323 
324  struct MIPVariables {
325  float mipChi2;
327  float mipSlope;
330  bool mipIsHalo;
331 
333  :
334 
335  mipChi2(0),
336  mipTotEnergy(0),
337  mipSlope(0),
338  mipIntercept(0),
339  mipNhitCone(0),
340  mipIsHalo(false) {}
341  };
342 
344  float mipChi2() const { return mipVariableBlock_.mipChi2; }
345  float mipTotEnergy() const { return mipVariableBlock_.mipTotEnergy; }
346  float mipSlope() const { return mipVariableBlock_.mipSlope; }
347  float mipIntercept() const { return mipVariableBlock_.mipIntercept; }
348  int mipNhitCone() const { return mipVariableBlock_.mipNhitCone; }
349  bool mipIsHalo() const { return mipVariableBlock_.mipIsHalo; }
350 
352  void setMIPVariables(const MIPVariables& mipVar) { mipVariableBlock_ = mipVar; }
353 
354  //=======================================================
355  // Isolation Variables
356  //=======================================================
357 
359  //These are analysis quantities calculated in the PhotonIDAlgo class
360 
361  //EcalRecHit isolation
363  //HcalTower isolation
365  //HcalDepth1Tower isolation
367  //HcalDepth2Tower isolation
369  //HcalTower isolation subtracting the hadronic energy in towers behind the BCs in the SC
371  //HcalDepth1Tower isolation subtracting the hadronic energy in towers behind the BCs in the SC
373  //HcalDepth2Tower isolation subtracting the hadronic energy in towers behind the BCs in the SC
375  //Sum of track pT in a cone of dR
377  //Sum of track pT in a hollow cone of outer radius, inner radius
379  //Number of tracks in a cone of dR
381  //Number of tracks in a hollow cone of outer radius, inner radius
383 
385  :
386 
387  ecalRecHitSumEt(0),
388  hcalTowerSumEt(0),
391  hcalTowerSumEtBc(0),
396  nTrkSolidCone(0),
397  nTrkHollowCone(0)
398 
399  {}
400  };
401 
403  void setIsolationVariables(const IsolationVariables& isolInDr04, const IsolationVariables& isolInDr03) {
404  isolationR04_ = isolInDr04;
405  isolationR03_ = isolInDr03;
406  }
407 
423  // Track pT sum
425  //As above, excluding the core at the center of the cone
427  //Returns number of tracks in a cone of dR
429  //As above, excluding the core at the center of the cone
431  //
446  // Track pT sum c
448  //As above, excluding the core at the center of the cone
450  //Returns number of tracks in a cone of dR
452  //As above, excluding the core at the center of the cone
454 
455  //=======================================================
456  // PFlow based Isolation Variables
457  //=======================================================
458 
460  float chargedHadronIso; //charged hadron isolation with dxy,dz match to pv
461  float chargedHadronWorstVtxIso; //max charged hadron isolation when dxy/dz matching to given vtx
462  float chargedHadronWorstVtxGeomVetoIso; //as chargedHadronWorstVtxIso but an additional geometry based veto cone
463  float chargedHadronPFPVIso; //only considers particles assigned to the primary vertex (PV) by particle flow, corresponds to <10_6 chargedHadronIso
465  float photonIso;
466  float sumEcalClusterEt; //sum pt of ecal clusters, vetoing clusters part of photon
467  float sumHcalClusterEt; //sum pt of hcal clusters, vetoing clusters part of photon
469  :
470 
471  chargedHadronIso(0.),
475  neutralHadronIso(0.),
476  photonIso(0.),
477  sumEcalClusterEt(0.),
478  sumHcalClusterEt(0.) {}
479  };
480 
487  float photonIso() const { return pfIsolation_.photonIso; }
488 
489  //backwards compat functions for pat::Photon
490  float ecalPFClusterIso() const { return pfIsolation_.sumEcalClusterEt; };
491  float hcalPFClusterIso() const { return pfIsolation_.sumHcalClusterEt; };
492 
495 
498 
502  float mva;
503 
505  :
506 
508  etOutsideMustache(-999999999.),
509  mva(-999999999.)
510 
511  {}
512  };
513 
514  // getters
516  float etOutsideMustache() const { return pfID_.etOutsideMustache; }
517  float pfMVA() const { return pfID_.mva; }
518  // setters
519  void setPflowIDVariables(const PflowIDVariables& pfid) { pfID_ = pfid; }
520 
521  private:
523  bool overlap(const Candidate&) const override;
528  //
530  //
541  };
542 
543 } // namespace reco
544 
545 #endif
reco::Photon::ShowerShape::eTop
float eTop
Definition: Photon.h:155
reco::Photon::ShowerShape::sigmaIphiIphi
float sigmaIphiIphi
Definition: Photon.h:153
reco::Photon::ShowerShape::maxEnergyXtal
float maxEnergyXtal
Definition: Photon.h:144
reco::Photon::isEBPhiGap
bool isEBPhiGap() const
Definition: Photon.h:125
reco::Photon::ShowerShape::hcalDepth2OverEcalBc
float hcalDepth2OverEcalBc
Definition: Photon.h:148
reco::Photon::ShowerShape::eRight
float eRight
Definition: Photon.h:157
reco::Photon::MIPVariables::mipSlope
float mipSlope
Definition: Photon.h:327
reco::Photon::setIsolationVariables
void setIsolationVariables(const IsolationVariables &isolInDr04, const IsolationVariables &isolInDr03)
set relevant isolation variables
Definition: Photon.h:403
reco::Photon::EnergyCorrections::regression2Energy
float regression2Energy
Definition: Photon.h:285
reco::Photon::IsolationVariables::hcalTowerSumEtBc
float hcalTowerSumEtBc
Definition: Photon.h:370
reco::Photon::EnergyCorrections::scEcalEnergy
float scEcalEnergy
Definition: Photon.h:276
reco::Photon::ShowerShape::e2x5Left
float e2x5Left
Definition: Photon.h:162
reco::Photon::showerShapeVariables
const ShowerShape & showerShapeVariables() const
Definition: Photon.h:201
reco::Photon::superCluster
reco::SuperClusterRef superCluster() const override
Ref to SuperCluster.
reco::Photon::ShowerShape::sigmaEtaEta
float sigmaEtaEta
Definition: Photon.h:138
dqmMemoryStats.float
float
Definition: dqmMemoryStats.py:127
funct::false
false
Definition: Factorize.h:29
reco::Photon::full5x5_maxEnergyXtal
float full5x5_maxEnergyXtal() const
Definition: Photon.h:247
reco::Photon::SaturationInfo::nSaturatedXtals
int nSaturatedXtals
Definition: Photon.h:259
reco::Photon::clone
Photon * clone() const override
returns a clone of the candidate
reco::LeafCandidate::Point
math::XYZPoint Point
point in the space
Definition: LeafCandidate.h:27
reco::Photon::sigmaIetaIeta
float sigmaIetaIeta() const
Definition: Photon.h:237
reco::Photon::ShowerShape::e1x5
float e1x5
Definition: Photon.h:140
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
reco::Photon::chargedHadronWorstVtxGeomVetoIso
float chargedHadronWorstVtxGeomVetoIso() const
Definition: Photon.h:484
reco::Photon::hcalDepth1TowerSumEtBcConeDR03
float hcalDepth1TowerSumEtBcConeDR03() const
Hcal-Depth1 isolation sum subtracting the hadronic energy in towers behind the BCs in the SC.
Definition: Photon.h:443
reco::Photon::FiducialFlags::FiducialFlags
FiducialFlags()
Definition: Photon.h:103
reco::Photon::ShowerShape::e1x3
float e1x3
Definition: Photon.h:159
reco::Photon::FiducialFlags::isEE
bool isEE
Definition: Photon.h:96
reco::Photon::ShowerShape::e2nd
float e2nd
Definition: Photon.h:154
reco::Photon::full5x5_r1x5
float full5x5_r1x5() const
Definition: Photon.h:250
reco::Photon::isEERingGap
bool isEERingGap() const
Definition: Photon.h:128
reco::Photon::chargedHadronWorstVtxIso
float chargedHadronWorstVtxIso() const
Definition: Photon.h:483
reco::Photon::MIPVariables::mipChi2
float mipChi2
Definition: Photon.h:325
reco::Photon::etOutsideMustache
float etOutsideMustache() const
Definition: Photon.h:516
reco::Photon::PflowIDVariables::etOutsideMustache
float etOutsideMustache
Definition: Photon.h:501
reco::Photon::hadTowOverEm
float hadTowOverEm() const
the ration of hadronic energy in towers behind the BCs in the SC and the SC energy
Definition: Photon.h:217
reco::Photon::hcalDepth2TowerSumEtConeDR04
float hcalDepth2TowerSumEtConeDR04() const
Hcal-Depth2 isolation sum.
Definition: Photon.h:416
reco::Photon::IsolationVariables::ecalRecHitSumEt
float ecalRecHitSumEt
Definition: Photon.h:362
reco::Photon::ShowerShape::e2x2
float e2x2
Definition: Photon.h:160
reco::Photon::ShowerShape::invalidHcal
bool invalidHcal
Definition: Photon.h:150
reco::Photon::SaturationInfo
Definition: Photon.h:258
reco::Photon::PflowIsolationVariables::chargedHadronPFPVIso
float chargedHadronPFPVIso
Definition: Photon.h:463
reco::Photon::P4type
P4type
Definition: Photon.h:273
reco::Photon::full5x5_e5x5
float full5x5_e5x5() const
Definition: Photon.h:246
reco::Photon::PflowIsolationVariables::chargedHadronIso
float chargedHadronIso
Definition: Photon.h:460
reco::Photon::hadTowOverEmValid
float hadTowOverEmValid() const
returns false if hadTowOverEm is not reliably estimated (e.g. because hcal was off or masked)
Definition: Photon.h:228
edm::RefVector< ConversionCollection >
PhotonCore.h
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
reco::Photon::ShowerShape::eBottom
float eBottom
Definition: Photon.h:158
reco::Photon::nTrkHollowConeDR03
int nTrkHollowConeDR03() const
Definition: Photon.h:453
ConversionFwd.h
reco::Photon::ConversionProvenance
ConversionProvenance
Definition: Photon.h:61
reco::Photon::pfID_
PflowIDVariables pfID_
Definition: Photon.h:540
reco::Photon::trkSumPtHollowConeDR04
float trkSumPtHollowConeDR04() const
Definition: Photon.h:426
reco::Photon::EnergyCorrections::EnergyCorrections
EnergyCorrections()
Definition: Photon.h:289
RecoCandidate.h
reco::Photon::neutralHadronIso
float neutralHadronIso() const
Definition: Photon.h:486
reco::Photon::PflowIsolationVariables::neutralHadronIso
float neutralHadronIso
Definition: Photon.h:464
reco::Photon::hcalTowersBehindClusters
const std::vector< CaloTowerDetId > & hcalTowersBehindClusters() const
Definition: Photon.h:224
reco::Photon::hadronicOverEmValid
float hadronicOverEmValid() const
returns false if hadronicOverEm is not reliably estimated (e.g. because hcal was off or masked)
Definition: Photon.h:214
reco::Photon::mipIntercept
float mipIntercept() const
Definition: Photon.h:347
edm::Ref< PhotonCoreCollection >
reco::Photon::e2x5
float e2x5() const
Definition: Photon.h:232
reco::Photon::pfIsolation_
PflowIsolationVariables pfIsolation_
Definition: Photon.h:539
reco::Photon::ShowerShape::e2x5Bottom
float e2x5Bottom
Definition: Photon.h:165
reco::Photon::caloPosition_
math::XYZPointF caloPosition_
position of seed BasicCluster for shower depth of unconverted photon
Definition: Photon.h:525
reco::Photon::isPhoton
bool isPhoton() const override
Implement Candidate method for particle species.
Definition: Photon.h:88
reco::Photon::PflowIsolationVariables::chargedHadronWorstVtxGeomVetoIso
float chargedHadronWorstVtxGeomVetoIso
Definition: Photon.h:462
reco::Photon::full5x5_e3x3
float full5x5_e3x3() const
Definition: Photon.h:245
reco::Photon::hadTowDepth2OverEm
float hadTowDepth2OverEm() const
the ration of hadronic energy in towers depth2 behind the BCs in the SC and the SC energy
Definition: Photon.h:223
reco::Photon::hcalTowerSumEtBcConeDR03
float hcalTowerSumEtBcConeDR03() const
Hcal isolation sum subtracting the hadronic energy in towers behind the BCs in the SC.
Definition: Photon.h:441
reco::Photon::hasConversionTracks
bool hasConversionTracks() const
Bool flagging photons with a vector of refereces to conversions with size >0.
Definition: Photon.h:66
reco::Photon::trkSumPtSolidConeDR03
float trkSumPtSolidConeDR03() const
Definition: Photon.h:447
alignCSCRings.s
s
Definition: alignCSCRings.py:92
reco::Photon::PflowIsolationVariables
Definition: Photon.h:459
reco::Photon::ecalRecHitSumEtConeDR03
float ecalRecHitSumEtConeDR03() const
Isolation variables in cone dR=0.3.
Definition: Photon.h:433
reco::Photon::ShowerShape::sigmaIetaIphi
float sigmaIetaIphi
Definition: Photon.h:152
reco::Photon::SaturationInfo::SaturationInfo
SaturationInfo()
Definition: Photon.h:261
reco::Photon::ecal_photons
Definition: Photon.h:273
reco::Photon::chargedHadronPFPVIso
float chargedHadronPFPVIso() const
Definition: Photon.h:485
reco::Photon::hcalDepth2TowerSumEtBcConeDR04
float hcalDepth2TowerSumEtBcConeDR04() const
Hcal-Depth2 isolation sum subtracting the hadronic energy in towers behind the BCs in the SC.
Definition: Photon.h:422
reco::Photon::IsolationVariables::hcalDepth1TowerSumEtBc
float hcalDepth1TowerSumEtBc
Definition: Photon.h:372
reco::Photon::photonIso
float photonIso() const
Definition: Photon.h:487
reco::Photon::mipIsHalo
bool mipIsHalo() const
Definition: Photon.h:349
reco::Photon::FiducialFlags::isEBEEGap
bool isEBEEGap
Definition: Photon.h:101
reco::Photon::ShowerShape::eLeft
float eLeft
Definition: Photon.h:156
reco::Photon::IsolationVariables::hcalTowerSumEt
float hcalTowerSumEt
Definition: Photon.h:364
reco::Photon::FiducialFlags::isEB
bool isEB
Definition: Photon.h:95
reco::Photon::setPflowIsolationVariables
void setPflowIsolationVariables(const PflowIsolationVariables &pfisol)
Set Particle Flow Isolation variables.
Definition: Photon.h:497
reco::Photon::ShowerShape::smAlpha
float smAlpha
Definition: Photon.h:168
reco::Photon::FiducialFlags::isEEDeeGap
bool isEEDeeGap
Definition: Photon.h:100
reco::Photon::isEE
bool isEE() const
Definition: Photon.h:121
reco::Photon::nTrkSolidConeDR04
int nTrkSolidConeDR04() const
Definition: Photon.h:428
reco::Photon::EnergyCorrections::regression1EnergyError
float regression1EnergyError
Definition: Photon.h:283
reco::Photon::isPFlowPhoton
bool isPFlowPhoton() const
Retrieve photonCore attributes.
Definition: Photon.h:53
reco::Photon::IsolationVariables::IsolationVariables
IsolationVariables()
Definition: Photon.h:384
reco::Photon::PflowIDVariables::mva
float mva
Definition: Photon.h:502
reco::Photon::nTrkHollowConeDR04
int nTrkHollowConeDR04() const
Definition: Photon.h:430
reco::Photon::undefined
Definition: Photon.h:273
reco::Photon::chargedHadronIso
float chargedHadronIso() const
Accessors for Particle Flow Isolation variables.
Definition: Photon.h:482
reco::Photon::ShowerShape::smMajor
float smMajor
Definition: Photon.h:166
reco::Photon::trkSumPtHollowConeDR03
float trkSumPtHollowConeDR03() const
Definition: Photon.h:449
reco::Photon::ShowerShape::hcalDepth1OverEcalBc
float hcalDepth1OverEcalBc
Definition: Photon.h:147
reco::Photon::isEBEtaGap
bool isEBEtaGap() const
Definition: Photon.h:124
reco::Photon::nTrkSolidConeDR03
int nTrkSolidConeDR03() const
Definition: Photon.h:451
reco::Photon::e3x3
float e3x3() const
Definition: Photon.h:233
reco::Photon::FiducialFlags::isEERingGap
bool isEERingGap
Definition: Photon.h:99
reco::Photon::EnergyCorrections::phoEcalEnergy
float phoEcalEnergy
Definition: Photon.h:279
reco::Photon::EnergyCorrections::regression1P4
LorentzVector regression1P4
Definition: Photon.h:284
reco::Photon::ShowerShape::e2x5Right
float e2x5Right
Definition: Photon.h:163
reco::Photon::caloPosition
math::XYZPointF caloPosition() const
position in ECAL: this is th SC position if r9<0.93. If r8>0.93 is position of seed BasicCluster taki...
Definition: Photon.h:84
reco::Photon::EnergyCorrections
Definition: Photon.h:275
reco::Photon::IsolationVariables::trkSumPtSolidCone
float trkSumPtSolidCone
Definition: Photon.h:376
reco::Photon::sigmaEtaEta
float sigmaEtaEta() const
Definition: Photon.h:236
reco::Photon::full5x5_r9
float full5x5_r9() const
Definition: Photon.h:252
reco::Photon::isolationR04_
IsolationVariables isolationR04_
Definition: Photon.h:532
reco::Photon::IsolationVariables::hcalDepth2TowerSumEtBc
float hcalDepth2TowerSumEtBc
Definition: Photon.h:374
reco::Photon::ShowerShape::effSigmaRR
float effSigmaRR
Definition: Photon.h:151
reco::Photon::isStandardPhoton
bool isStandardPhoton() const
Definition: Photon.h:54
reco::Photon::hasPixelSeed
bool hasPixelSeed() const
Bool flagging photons having a non-zero size vector of Ref to electornPixel seeds.
Definition: Photon.h:75
reco::Photon::full5x5_e2x5
float full5x5_e2x5() const
Definition: Photon.h:244
Point
Structure Point Contains parameters of Gaussian fits to DMRs.
Definition: DMRtrends.cc:57
reco::Photon::PflowIsolationVariables::chargedHadronWorstVtxIso
float chargedHadronWorstVtxIso
Definition: Photon.h:461
core
Definition: __init__.py:1
a
double a
Definition: hdecay.h:119
reco::Photon::full5x5_setShowerShapeVariables
void full5x5_setShowerShapeVariables(const ShowerShape &a)
Definition: Photon.h:205
reco::Photon::ShowerShape::e2x5Max
float e2x5Max
Definition: Photon.h:161
reco::Photon::IsolationVariables::nTrkSolidCone
int nTrkSolidCone
Definition: Photon.h:380
reco::Photon::hcalTowerSumEtBcConeDR04
float hcalTowerSumEtBcConeDR04() const
Hcal isolation sum subtracting the hadronic energy in towers behind the BCs in the SC.
Definition: Photon.h:418
reco::Photon::ShowerShape::hcalDepth2OverEcal
float hcalDepth2OverEcal
Definition: Photon.h:146
reco::Photon::photonCore
reco::PhotonCoreRef photonCore() const
returns a reference to the core photon object
Definition: Photon.h:46
reco::Photon::ShowerShape::e2x5Top
float e2x5Top
Definition: Photon.h:164
reco::Photon::full5x5_showerShapeVariables
const ShowerShape & full5x5_showerShapeVariables() const
Definition: Photon.h:202
reco::Photon::r9
float r9() const
Definition: Photon.h:240
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
reco::Photon::getPflowIsolationVariables
const PflowIsolationVariables & getPflowIsolationVariables() const
Get Particle Flow Isolation variables block.
Definition: Photon.h:494
reco::Photon::EnergyCorrections::candidateP4type
P4type candidateP4type
Definition: Photon.h:288
reco::Photon::ShowerShape::sigmaIetaIeta
float sigmaIetaIeta
Definition: Photon.h:139
reco::Photon::getCorrectedEnergyError
float getCorrectedEnergyError(P4type type) const
type
type
Definition: SiPixelVCal_PayloadInspector.cc:37
reco::Photon::full5x5_showerShapeBlock_
ShowerShape full5x5_showerShapeBlock_
Definition: Photon.h:535
pflow
Definition: TrackFromParentImporter.h:10
gainCalibHelper::gainCalibPI::type
type
Definition: SiPixelGainCalibHelper.h:40
reco::Photon::FiducialFlags::isEBPhiGap
bool isEBPhiGap
Definition: Photon.h:98
reco::Photon::ecalPFClusterIso
float ecalPFClusterIso() const
Definition: Photon.h:490
reco::Photon::ShowerShape::e2x5
float e2x5
Definition: Photon.h:141
reco::Photon::ShowerShape::smMinor
float smMinor
Definition: Photon.h:167
reco::Photon::isEB
bool isEB() const
Definition: Photon.h:119
reco::Photon::FiducialFlags
Definition: Photon.h:93
reco::Photon::overlap
bool overlap(const Candidate &) const override
check overlap with another candidate
reco::Photon::mipNhitCone
int mipNhitCone() const
Definition: Photon.h:348
reco::Photon::hcalDepth2TowerSumEtBcConeDR03
float hcalDepth2TowerSumEtBcConeDR03() const
Hcal-Depth2 isolation sum subtracting the hadronic energy in towers behind the BCs in the SC.
Definition: Photon.h:445
Photon
Definition: Photon.py:1
reco::Photon::EnergyCorrections::scEcalP4
LorentzVector scEcalP4
Definition: Photon.h:278
reco::Photon::full5x5_e1x5
float full5x5_e1x5() const
full5x5 Shower shape variables
Definition: Photon.h:243
reco::Photon::MIPVariables::mipIsHalo
bool mipIsHalo
Definition: Photon.h:330
reco::Photon::isEEGap
bool isEEGap() const
true if photon is in EE, and inside the boundaries in supercrystal/D
Definition: Photon.h:127
reco::LeafCandidate::p4
const LorentzVector & p4() const final
four-momentum Lorentz vector
Definition: LeafCandidate.h:114
reco::Photon::Photon
Photon()
default constructor
Definition: Photon.h:31
reco::Photon::setFiducialVolumeFlags
void setFiducialVolumeFlags(const FiducialFlags &a)
set flags for photons in the ECAL fiducial volume
Definition: Photon.h:116
reco::Photon::hadronicDepth1OverEm
float hadronicDepth1OverEm() const
the hadronic release in depth1 over electromagnetic fraction
Definition: Photon.h:210
reco::Photon::EnergyCorrections::scEcalEnergyError
float scEcalEnergyError
Definition: Photon.h:277
reco::RecoCandidate
Definition: RecoCandidate.h:20
reco::Photon::MIPVariables::mipIntercept
float mipIntercept
Definition: Photon.h:328
reco::Photon::PflowIsolationVariables::PflowIsolationVariables
PflowIsolationVariables()
Definition: Photon.h:468
reco::Photon::setCorrectedEnergy
void setCorrectedEnergy(P4type type, float E, float dE, bool toCand=true)
reco::Photon::both
Definition: Photon.h:61
reco::Photon::hadTowDepth1OverEm
float hadTowDepth1OverEm() const
the ration of hadronic energy in towers depth1 behind the BCs in the SC and the SC energy
Definition: Photon.h:221
reco::Photon::e5x5
float e5x5() const
Definition: Photon.h:234
reco::Photon::conversionsOneLeg
reco::ConversionRefVector conversionsOneLeg() const
vector of references to one leg Conversion's
Definition: Photon.h:64
reco::Photon::IsolationVariables
Definition: Photon.h:358
reco::Photon::showerShapeBlock_
ShowerShape showerShapeBlock_
Definition: Photon.h:534
reco::Photon::full5x5_r2x5
float full5x5_r2x5() const
Definition: Photon.h:251
reco::Photon::fiducialFlagBlock_
FiducialFlags fiducialFlagBlock_
Definition: Photon.h:531
reco::Photon::IsolationVariables::trkSumPtHollowCone
float trkSumPtHollowCone
Definition: Photon.h:378
reco::LeafCandidate::vertex
const Point & vertex() const override
vertex position (overwritten by PF...)
Definition: LeafCandidate.h:165
reco::Photon::MIPVariables::mipNhitCone
int mipNhitCone
Definition: Photon.h:329
reco::Candidate
Definition: Candidate.h:27
reco::Photon::eCorrections_
EnergyCorrections eCorrections_
Definition: Photon.h:537
reco::Photon::parentSuperCluster
reco::SuperClusterRef parentSuperCluster() const
Ref to PFlow SuperCluster.
Definition: Photon.h:58
reco::Photon::FiducialFlags::isEBEtaGap
bool isEBEtaGap
Definition: Photon.h:97
reco::Photon::pfMVA
float pfMVA() const
Definition: Photon.h:517
reco::Photon::hcalDepth1TowerSumEtConeDR03
float hcalDepth1TowerSumEtConeDR03() const
Hcal-Depth1 isolation sum.
Definition: Photon.h:437
egamma
Definition: ConversionFinder.h:29
reco::Photon::isolationR03_
IsolationVariables isolationR03_
Definition: Photon.h:533
reco::Photon::setPflowIDVariables
void setPflowIDVariables(const PflowIDVariables &pfid)
Definition: Photon.h:519
reco::Photon::EnergyCorrections::regression1Energy
float regression1Energy
Definition: Photon.h:282
reco::Photon::hcalPFClusterIso
float hcalPFClusterIso() const
Definition: Photon.h:491
reco::Photon::ShowerShape::hcalTowersBehindClusters
std::vector< CaloTowerDetId > hcalTowersBehindClusters
Definition: Photon.h:149
reco::LeafCandidate::setP4
void setP4(const LorentzVector &p4) final
set 4-momentum
Definition: LeafCandidate.h:158
reco::Photon::ShowerShape
Definition: Photon.h:137
reco::Photon::mipSlope
float mipSlope() const
Definition: Photon.h:346
reco::Photon::full5x5_sigmaEtaEta
float full5x5_sigmaEtaEta() const
Definition: Photon.h:248
std
Definition: JetResolutionObject.h:76
reco::Photon::nClusterOutsideMustache
int nClusterOutsideMustache() const
Definition: Photon.h:515
reco::Photon::photonCore_
reco::PhotonCoreRef photonCore_
reference to the PhotonCore
Definition: Photon.h:527
reco::Photon::PflowIDVariables
Definition: Photon.h:499
reco::Photon::EnergyCorrections::regression2P4
LorentzVector regression2P4
Definition: Photon.h:287
reco::Photon::saturationInfo_
SaturationInfo saturationInfo_
Definition: Photon.h:536
reco::Photon::hadronicDepth2OverEm
float hadronicDepth2OverEm() const
the hadronic release in depth2 over electromagnetic fraction
Definition: Photon.h:212
reco::Photon::isSeedSaturated
float isSeedSaturated() const
Definition: Photon.h:266
reco::Photon::IsolationVariables::nTrkHollowCone
int nTrkHollowCone
Definition: Photon.h:382
reco::Photon::hadronicOverEm
float hadronicOverEm() const
the total hadronic over electromagnetic fraction
Definition: Photon.h:208
extraflags_cff.vtx
vtx
Definition: extraflags_cff.py:18
reco::Photon::setMIPVariables
void setMIPVariables(const MIPVariables &mipVar)
set mip Variables
Definition: Photon.h:352
reco::Photon::setEnergyCorrections
void setEnergyCorrections(const EnergyCorrections &e)
Definition: Photon.h:311
reco::Photon::getCorrectedEnergy
float getCorrectedEnergy(P4type type) const
reco::Photon::EnergyCorrections::phoEcalP4
LorentzVector phoEcalP4
Definition: Photon.h:281
LorentzVector
math::XYZTLorentzVector LorentzVector
Definition: HLTMuonMatchAndPlot.h:49
reco::Photon::trkSumPtSolidConeDR04
float trkSumPtSolidConeDR04() const
Definition: Photon.h:424
reco::Photon::e1x5
float e1x5() const
Shower shape variables.
Definition: Photon.h:231
relativeConstraints.empty
bool empty
Definition: relativeConstraints.py:46
SuperCluster.h
reco::Photon::MIPVariables::MIPVariables
MIPVariables()
Definition: Photon.h:332
reco::Photon::EnergyCorrections::regression2EnergyError
float regression2EnergyError
Definition: Photon.h:286
reco::Photon::conversions
reco::ConversionRefVector conversions() const
vector of references to Conversion's
Definition: Photon.h:60
reco::Photon::mipVariableBlock_
MIPVariables mipVariableBlock_
Definition: Photon.h:538
reco::Photon::ShowerShape::hcalDepth1OverEcal
float hcalDepth1OverEcal
Definition: Photon.h:145
reco::Photon::PflowIDVariables::nClusterOutsideMustache
int nClusterOutsideMustache
Definition: Photon.h:500
reco::Photon::hcalDepth2TowerSumEtConeDR03
float hcalDepth2TowerSumEtConeDR03() const
Hcal-Depth2 isolation sum.
Definition: Photon.h:439
reco::Photon::getCandidateP4type
P4type getCandidateP4type() const
Definition: Photon.h:316
reco::Photon::regression1
Definition: Photon.h:273
reco::Photon::setCandidateP4type
void setCandidateP4type(const P4type type)
Definition: Photon.h:312
reco::Photon::mipTotEnergy
float mipTotEnergy() const
Definition: Photon.h:345
reco::Photon::SaturationInfo::isSeedSaturated
bool isSeedSaturated
Definition: Photon.h:260
reco::Photon::ecalRecHitSumEtConeDR04
float ecalRecHitSumEtConeDR04() const
Definition: Photon.h:410
reco::Photon::r2x5
float r2x5() const
Definition: Photon.h:239
edm::RefToBase< reco::Track >
reco::Photon::PflowIsolationVariables::photonIso
float photonIso
Definition: Photon.h:465
reco::Photon::MIPVariables
Definition: Photon.h:324
reco::Photon::conversionTrackProvenance
int conversionTrackProvenance(const edm::RefToBase< reco::Track > &convTrack) const
reco::Photon::EnergyCorrections::phoEcalEnergyError
float phoEcalEnergyError
Definition: Photon.h:280
reco::Photon::setVertex
void setVertex(const Point &vertex) override
set primary event vertex used to define photon direction
reco::Photon::ShowerShape::ShowerShape
ShowerShape()
Definition: Photon.h:169
reco::Photon::ShowerShape::e3x3
float e3x3
Definition: Photon.h:142
reco::Photon::hcalDepth1TowerSumEtConeDR04
float hcalDepth1TowerSumEtConeDR04() const
Hcal-Depth1 isolation sum.
Definition: Photon.h:414
reco::Photon::isEEDeeGap
bool isEEDeeGap() const
Definition: Photon.h:129
reco::Photon::full5x5_sigmaIetaIeta
float full5x5_sigmaIetaIeta() const
Definition: Photon.h:249
reco::Photon::PflowIsolationVariables::sumEcalClusterEt
float sumEcalClusterEt
Definition: Photon.h:466
reco::Photon::saturationInfo
const SaturationInfo & saturationInfo() const
Definition: Photon.h:267
reco::Photon::hcalDepth1TowerSumEtBcConeDR04
float hcalDepth1TowerSumEtBcConeDR04() const
Hcal-Depth1 isolation sum subtracting the hadronic energy in towers behind the BCs in the SC.
Definition: Photon.h:420
reco::Photon::PflowIsolationVariables::sumHcalClusterEt
float sumHcalClusterEt
Definition: Photon.h:467
reco::Photon::setPhotonCore
void setPhotonCore(const reco::PhotonCoreRef &photonCore)
Definition: Photon.h:47
reco::Photon::IsolationVariables::hcalDepth1TowerSumEt
float hcalDepth1TowerSumEt
Definition: Photon.h:366
reco::Photon::setSaturationInfo
void setSaturationInfo(const SaturationInfo &s)
Definition: Photon.h:268
reco::Photon::r1x5
float r1x5() const
Definition: Photon.h:238
reco::Photon::regression2
Definition: Photon.h:273
reco::Photon::MIPVariables::mipTotEnergy
float mipTotEnergy
Definition: Photon.h:326
reco::Photon::energyCorrections
const EnergyCorrections & energyCorrections() const
Definition: Photon.h:318
reco::Photon::nSaturatedXtals
float nSaturatedXtals() const
Definition: Photon.h:265
reco::Candidate::LorentzVector
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Candidate.h:36
reco::Photon::IsolationVariables::hcalDepth2TowerSumEt
float hcalDepth2TowerSumEt
Definition: Photon.h:368
reco::Photon::setP4
void setP4(P4type type, const LorentzVector &p4, float p4Error, bool setToRecoCandidate)
reco::Photon::pixelSeed_
bool pixelSeed_
Definition: Photon.h:529
math::XYZPointF
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float > > XYZPointF
point in space with cartesian internal representation
Definition: Point3D.h:10
reco::Photon::isEBEEGap
bool isEBEEGap() const
true if photon is in boundary between EB and EE
Definition: Photon.h:131
reco::Photon::~Photon
~Photon() override
destructor
reco::Photon::mipChi2
float mipChi2() const
MIP variables.
Definition: Photon.h:344
reco::Photon::hcalTowerSumEtConeDR04
float hcalTowerSumEtConeDR04() const
Hcal isolation sum.
Definition: Photon.h:412
reco::Photon::ecal_standard
Definition: Photon.h:273
reco::Photon::PflowIDVariables::PflowIDVariables
PflowIDVariables()
Definition: Photon.h:504
ElectronSeed.h
reco::Photon::maxEnergyXtal
float maxEnergyXtal() const
Definition: Photon.h:235
reco::Photon::setShowerShapeVariables
void setShowerShapeVariables(const ShowerShape &a)
Definition: Photon.h:204
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
reco::Photon::isEBGap
bool isEBGap() const
true if photon is in EB, and inside the boundaries in super crystals/modules
Definition: Photon.h:123
reco::Photon::ShowerShape::e5x5
float e5x5
Definition: Photon.h:143
reco::Photon::hcalTowerSumEtConeDR03
float hcalTowerSumEtConeDR03() const
Hcal isolation sum.
Definition: Photon.h:435
reco::Photon::electronPixelSeeds
reco::ElectronSeedRefVector electronPixelSeeds() const
reference to electron Pixel seed
Definition: Photon.h:73
Conversion.h