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 
20 namespace reco {
21 
22  class Photon : public RecoCandidate {
23  public:
25  struct FiducialFlags;
26  struct IsolationVariables;
27  struct ShowerShape;
28  struct MIPVariables;
29  struct SaturationInfo;
30 
32  Photon() : RecoCandidate() { pixelSeed_=false; }
33 
35  Photon ( const Photon&);
36 
38  Photon( const LorentzVector & p4,
39  const Point& caloPos,
40  const PhotonCoreRef & core,
41  const Point & vtx = Point( 0, 0, 0 ) );
42 
44  ~Photon() override;
45 
47  Photon * clone() const override;
48 
52 
53  //
55  //
56  // retrieve provenance
57  bool isPFlowPhoton() const {return this->photonCore()->isPFlowPhoton();}
58  bool isStandardPhoton() const {return this->photonCore()->isStandardPhoton();}
60  reco::SuperClusterRef superCluster() const override;
62  reco::SuperClusterRef parentSuperCluster() const {return this->photonCore()->parentSuperCluster();}
64  reco::ConversionRefVector conversions() const {return this->photonCore()->conversions() ;}
66  pflow=1,
67  both=2};
68 
70  reco::ConversionRefVector conversionsOneLeg() const {return this->photonCore()->conversionsOneLeg() ;}
72  bool hasConversionTracks() const { if (!this->photonCore()->conversions().empty() || !this->photonCore()->conversionsOneLeg().empty()) return true; else return false;}
74  reco::ElectronSeedRefVector electronPixelSeeds() const {return this->photonCore()->electronPixelSeeds();}
76  bool hasPixelSeed() const { if (!(this->photonCore()->electronPixelSeeds()).empty() ) return true; else return false; }
77  int conversionTrackProvenance(const edm::RefToBase<reco::Track>& convTrack) const;
78 
79 
83  void setVertex(const Point & vertex) override;
85  bool isPhoton() const override { return true ; }
86 
87 
88  //=======================================================
89  // Fiducial Flags
90  //=======================================================
92  {
93 
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),
108  isEERingGap(false),
109  isEEDeeGap(false),
110  isEBEEGap(false)
111 
112  {}
113 
114 
115  };
116 
121  bool isEB() const{return fiducialFlagBlock_.isEB;}
122  // true if photon is in ECAL endcap
123  bool isEE() const{return fiducialFlagBlock_.isEE;}
125  bool isEBGap() const { return (isEBEtaGap() || isEBPhiGap()); }
129  bool isEEGap() const { return (isEERingGap() || isEEDeeGap()); }
133  bool isEBEEGap() const{return fiducialFlagBlock_.isEBEEGap;}
134 
135  //=======================================================
136  // Shower Shape Variables
137  //=======================================================
138 
139  struct ShowerShape
140  {
141  float sigmaEtaEta ;
143  float e1x5 ;
144  float e2x5 ;
145  float e3x3 ;
146  float e5x5 ;
147  float maxEnergyXtal ;
148  float hcalDepth1OverEcal ; // hcal over ecal energy using first hcal depth
149  float hcalDepth2OverEcal ; // hcal over ecal energy using 2nd hcal depth
152  std::vector<CaloTowerDetId> hcalTowersBehindClusters;
154  float effSigmaRR;
157  float e2nd;
158  float eTop;
159  float eLeft;
160  float eRight;
161  float eBottom;
162  float e1x3;
163  float e2x2;
164  float e2x5Max;
165  float e2x5Left;
166  float e2x5Right;
167  float e2x5Top;
168  float e2x5Bottom;
169  float smMajor;
170  float smMinor;
171  float smAlpha;
173  : sigmaEtaEta(std::numeric_limits<float>::max()),
174  sigmaIetaIeta(std::numeric_limits<float>::max()),
175  e1x5(0.f),
176  e2x5(0.f),
177  e3x3(0.f),
178  e5x5(0.f),
179  maxEnergyXtal(0.f),
180  hcalDepth1OverEcal(0),
181  hcalDepth2OverEcal(0),
182  hcalDepth1OverEcalBc(0),
183  hcalDepth2OverEcalBc(0),
184  invalidHcal(false),
185  effSigmaRR(std::numeric_limits<float>::max()),
186  sigmaIetaIphi(std::numeric_limits<float>::max()),
187  sigmaIphiIphi(std::numeric_limits<float>::max()),
188  e2nd(0.f),
189  eTop(0.f),
190  eLeft(0.f),
191  eRight(0.f),
192  eBottom(0.f),
193  e1x3(0.f),
194  e2x2(0.f),
195  e2x5Max(0.f),
196  e2x5Left(0.f),
197  e2x5Right(0.f),
198  e2x5Top(0.f),
199  e2x5Bottom(0.f),
200  smMajor(0.f),
201  smMinor(0.f),
202  smAlpha(0.f)
203  {}
204  } ;
207 
210 
219 
226  const std::vector<CaloTowerDetId> & hcalTowersBehindClusters() const { return showerShapeBlock_.hcalTowersBehindClusters ; }
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;}
240  float r9 () const {return showerShapeBlock_.e3x3/this->superCluster()->rawEnergy();}
241 
252  float full5x5_r9 () const {return full5x5_showerShapeBlock_.e3x3/this->superCluster()->rawEnergy();}
253 
254  //=======================================================
255  // SaturationInfo
256  //=======================================================
257 
258  struct SaturationInfo {
262  : nSaturatedXtals(0), isSeedSaturated(false) {};
263  } ;
264 
265  // accessors
268  const SaturationInfo& saturationInfo() const { return saturationInfo_; }
270 
271  //=======================================================
272  // Energy Determinations
273  //=======================================================
275 
291  scEcalEnergy(0.),
292  scEcalEnergyError(999.),
293  scEcalP4(0., 0., 0., 0.),
294  phoEcalEnergy(0.),
295  phoEcalEnergyError(999.),
296  phoEcalP4(0., 0., 0., 0.),
297  regression1Energy(0.),
298  regression1EnergyError(999.),
299  regression1P4(0.,0.,0.,0.),
300  regression2Energy(0.),
301  regression2EnergyError(999.),
302  regression2P4(0.,0.,0.,0.),
303  candidateP4type(undefined)
304  {}
305  };
306 
307  using RecoCandidate::setP4 ;
308  using RecoCandidate::p4 ;
309 
310  //sets both energy and its uncertainty
311  void setCorrectedEnergy( P4type type, float E, float dE, bool toCand=true );
312  void setP4( P4type type, const LorentzVector & p4, float p4Error, bool setToRecoCandidate ) ;
315 
316  float getCorrectedEnergy( P4type type) const;
317  float getCorrectedEnergyError( P4type type) const ;
319  const LorentzVector& p4( P4type type ) const ;
320  const EnergyCorrections & energyCorrections() const { return eCorrections_ ; }
321 
322  //=======================================================
323  // MIP Variables
324  //=======================================================
325 
327  {
328  float mipChi2;
330  float mipSlope;
333  bool mipIsHalo;
334 
336 
337  mipChi2(0),
338  mipTotEnergy(0),
339  mipSlope(0),
340  mipIntercept(0),
341  mipNhitCone(0),
342  mipIsHalo(false)
343  {}
344 
345  } ;
346 
348  float mipChi2() const {return mipVariableBlock_.mipChi2;}
350  float mipSlope() const {return mipVariableBlock_.mipSlope;}
353  bool mipIsHalo() const {return mipVariableBlock_.mipIsHalo;}
354 
356  void setMIPVariables ( const MIPVariables& mipVar) {mipVariableBlock_= mipVar;}
357 
358 
359 
360  //=======================================================
361  // Isolation Variables
362  //=======================================================
363 
365  {
366  //These are analysis quantities calculated in the PhotonIDAlgo class
367 
368  //EcalRecHit isolation
370  //HcalTower isolation
372  //HcalDepth1Tower isolation
374  //HcalDepth2Tower isolation
376  //HcalTower isolation subtracting the hadronic energy in towers behind the BCs in the SC
378  //HcalDepth1Tower isolation subtracting the hadronic energy in towers behind the BCs in the SC
380  //HcalDepth2Tower isolation subtracting the hadronic energy in towers behind the BCs in the SC
382  //Sum of track pT in a cone of dR
384  //Sum of track pT in a hollow cone of outer radius, inner radius
386  //Number of tracks in a cone of dR
388  //Number of tracks in a hollow cone of outer radius, inner radius
390 
392 
393  ecalRecHitSumEt(0),
394  hcalTowerSumEt(0),
395  hcalDepth1TowerSumEt(0),
396  hcalDepth2TowerSumEt(0),
397  hcalTowerSumEtBc(0),
398  hcalDepth1TowerSumEtBc(0),
399  hcalDepth2TowerSumEtBc(0),
400  trkSumPtSolidCone(0),
401  trkSumPtHollowCone(0),
402  nTrkSolidCone(0),
403  nTrkHollowCone(0)
404 
405  {}
406 
407 
408  };
409 
410 
412  void setIsolationVariables ( const IsolationVariables& isolInDr04, const IsolationVariables& isolInDr03) { isolationR04_ = isolInDr04 ; isolationR03_ = isolInDr03 ;}
413 
429  // Track pT sum
431  //As above, excluding the core at the center of the cone
433  //Returns number of tracks in a cone of dR
435  //As above, excluding the core at the center of the cone
437  //
452  // Track pT sum c
454  //As above, excluding the core at the center of the cone
456  //Returns number of tracks in a cone of dR
458  //As above, excluding the core at the center of the cone
460 
461 
462  //=======================================================
463  // PFlow based Isolation Variables
464  //=======================================================
465 
467  {
468 
469  float chargedHadronIso; //charged hadron isolation with dxy,dz match to pv
470  float chargedHadronWorstVtxIso; //max charged hadron isolation when dxy/dz matching to given vtx
471  float chargedHadronWorstVtxGeomVetoIso; //as chargedHadronWorstVtxIso but an additional geometry based veto cone
472  float chargedHadronPFPVIso; //only considers particles assigned to the primary vertex (PV) by particle flow, corresponds to <10_6 chargedHadronIso
474  float photonIso;
475  float sumEcalClusterEt; //sum pt of ecal clusters, vetoing clusters part of photon
476  float sumHcalClusterEt; //sum pt of hcal clusters, vetoing clusters part of photon
478 
479  chargedHadronIso(0.),
480  chargedHadronWorstVtxIso(0.),
481  chargedHadronWorstVtxGeomVetoIso(0.),
482  chargedHadronPFPVIso(0.),
483  neutralHadronIso(0.),
484  photonIso(0.),
485  sumEcalClusterEt(0.),
486  sumHcalClusterEt(0.)
487  {}
488 
489 
490  };
491 
498  float photonIso() const {return pfIsolation_.photonIso;}
499 
500 
501  //backwards compat functions for pat::Photon
502  float ecalPFClusterIso() const { return pfIsolation_.sumEcalClusterEt; };
503  float hcalPFClusterIso() const { return pfIsolation_.sumHcalClusterEt; };
504 
507 
510 
512  {
513 
516  float mva;
517 
519 
520  nClusterOutsideMustache(-1),
521  etOutsideMustache(-999999999.),
522  mva(-999999999.)
523 
524  {}
525  };
526 
527  // getters
529  float etOutsideMustache() const {return pfID_.etOutsideMustache;}
530  float pfMVA() const {return pfID_.mva;}
531  // setters
532  void setPflowIDVariables ( const PflowIDVariables& pfid ) { pfID_ = pfid;}
533 
534  private:
536  bool overlap( const Candidate & ) const override;
541  //
543  //
554  };
555 
556 }
557 
558 #endif
MIPVariables mipVariableBlock_
Definition: Photon.h:551
float chargedHadronPFPVIso() const
Definition: Photon.h:496
type
Definition: HCALResponse.h:21
void setPflowIsolationVariables(const PflowIsolationVariables &pfisol)
Set Particle Flow Isolation variables.
Definition: Photon.h:509
float hcalDepth1TowerSumEtBcConeDR03() const
Hcal-Depth1 isolation sum subtracting the hadronic energy in towers behind the BCs in the SC...
Definition: Photon.h:449
float hcalTowerSumEtConeDR04() const
Hcal isolation sum.
Definition: Photon.h:418
SaturationInfo saturationInfo_
Definition: Photon.h:549
void setMIPVariables(const MIPVariables &mipVar)
set mip Variables
Definition: Photon.h:356
float trkSumPtSolidConeDR03() const
Definition: Photon.h:453
float hcalDepth1TowerSumEtConeDR04() const
Hcal-Depth1 isolation sum.
Definition: Photon.h:420
ShowerShape full5x5_showerShapeBlock_
Definition: Photon.h:548
Definition: Photon.py:1
PflowIsolationVariables pfIsolation_
Definition: Photon.h:552
float hcalDepth1TowerSumEtConeDR03() const
Hcal-Depth1 isolation sum.
Definition: Photon.h:443
std::vector< CaloTowerDetId > hcalTowersBehindClusters
Definition: Photon.h:152
bool isEE() const
Definition: Photon.h:123
bool isEEDeeGap() const
Definition: Photon.h:131
void setCandidateP4type(const P4type type)
Definition: Photon.h:314
const EnergyCorrections & energyCorrections() const
Definition: Photon.h:320
float chargedHadronIso() const
Accessors for Particle Flow Isolation variables.
Definition: Photon.h:493
bool isEBGap() const
true if photon is in EB, and inside the boundaries in super crystals/modules
Definition: Photon.h:125
void setCorrectedEnergy(P4type type, float E, float dE, bool toCand=true)
float neutralHadronIso() const
Definition: Photon.h:497
float e5x5() const
Definition: Photon.h:234
float full5x5_r2x5() const
Definition: Photon.h:251
float hcalTowerSumEtConeDR03() const
Hcal isolation sum.
Definition: Photon.h:441
const SaturationInfo & saturationInfo() const
Definition: Photon.h:268
reco::ConversionRefVector conversionsOneLeg() const
vector of references to one leg Conversion&#39;s
Definition: Photon.h:70
float trkSumPtSolidConeDR04() const
Definition: Photon.h:430
Definition: __init__.py:1
int nTrkSolidConeDR03() const
Definition: Photon.h:457
float full5x5_e2x5() const
Definition: Photon.h:244
float e1x5() const
Shower shape variables.
Definition: Photon.h:231
bool overlap(const Candidate &) const override
check overlap with another candidate
bool isEBEEGap() const
true if photon is in boundary between EB and EE
Definition: Photon.h:133
float hadronicOverEmValid() const
returns false if hadronicOverEm is not reliably estimated (e.g. because hcal was off or masked) ...
Definition: Photon.h:218
float ecalRecHitSumEtConeDR04() const
Definition: Photon.h:416
Photon * clone() const override
returns a clone of the candidate
void setSaturationInfo(const SaturationInfo &s)
Definition: Photon.h:269
float full5x5_r1x5() const
Definition: Photon.h:250
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float > > XYZPointF
point in space with cartesian internal representation
Definition: Point3D.h:10
float trkSumPtHollowConeDR03() const
Definition: Photon.h:455
reco::SuperClusterRef superCluster() const override
Ref to SuperCluster.
float full5x5_maxEnergyXtal() const
Definition: Photon.h:247
float full5x5_sigmaEtaEta() const
Definition: Photon.h:248
bool isPhoton() const override
Implement Candidate method for particle species.
Definition: Photon.h:85
IsolationVariables isolationR03_
Definition: Photon.h:546
int conversionTrackProvenance(const edm::RefToBase< reco::Track > &convTrack) const
ConversionProvenance
Definition: Photon.h:65
float photonIso() const
Definition: Photon.h:498
Photon()
default constructor
Definition: Photon.h:32
float hadronicDepth2OverEm() const
the hadronic release in depth2 over electromagnetic fraction
Definition: Photon.h:216
void setVertex(const Point &vertex) override
set primary event vertex used to define photon direction
float mipIntercept() const
Definition: Photon.h:351
math::XYZPointF caloPosition_
position of seed BasicCluster for shower depth of unconverted photon
Definition: Photon.h:538
float full5x5_e1x5() const
full5x5 Shower shape variables
Definition: Photon.h:243
float full5x5_e3x3() const
Definition: Photon.h:245
float hadTowDepth1OverEm() const
the ration of hadronic energy in towers depth1 behind the BCs in the SC and the SC energy ...
Definition: Photon.h:223
float hcalPFClusterIso() const
Definition: Photon.h:503
float full5x5_r9() const
Definition: Photon.h:252
float ecalPFClusterIso() const
Definition: Photon.h:502
LorentzVector regression2P4
Definition: Photon.h:288
reco::PhotonCoreRef photonCore() const
returns a reference to the core photon object
Definition: Photon.h:50
bool mipIsHalo() const
Definition: Photon.h:353
IsolationVariables isolationR04_
Definition: Photon.h:545
void setPhotonCore(const reco::PhotonCoreRef &photonCore)
Definition: Photon.h:51
float full5x5_sigmaIetaIeta() const
Definition: Photon.h:249
float hcalDepth2TowerSumEtBcConeDR04() const
Hcal-Depth2 isolation sum subtracting the hadronic energy in towers behind the BCs in the SC...
Definition: Photon.h:428
reco::ConversionRefVector conversions() const
vector of references to Conversion&#39;s
Definition: Photon.h:64
float hcalTowerSumEtBcConeDR04() const
Hcal isolation sum subtracting the hadronic energy in towers behind the BCs in the SC...
Definition: Photon.h:424
void setEnergyCorrections(const EnergyCorrections &e)
Definition: Photon.h:313
bool isStandardPhoton() const
Definition: Photon.h:58
bool isEBPhiGap() const
Definition: Photon.h:127
void setPflowIDVariables(const PflowIDVariables &pfid)
Definition: Photon.h:532
float sigmaIetaIeta() const
Definition: Photon.h:237
const Point & vertex() const override
vertex position (overwritten by PF...)
EnergyCorrections eCorrections_
Definition: Photon.h:550
float hadTowOverEmValid() const
returns false if hadTowOverEm is not reliably estimated (e.g. because hcal was off or masked) ...
Definition: Photon.h:228
float hadTowDepth2OverEm() const
the ration of hadronic energy in towers depth2 behind the BCs in the SC and the SC energy ...
Definition: Photon.h:225
void setShowerShapeVariables(const ShowerShape &a)
Definition: Photon.h:208
float e2x5() const
Definition: Photon.h:232
double f[11][100]
float sigmaEtaEta() const
Definition: Photon.h:236
const LorentzVector & p4() const final
four-momentum Lorentz vector
Definition: LeafCandidate.h:99
float hadTowOverEm() const
the ration of hadronic energy in towers behind the BCs in the SC and the SC energy ...
Definition: Photon.h:221
int nTrkHollowConeDR04() const
Definition: Photon.h:436
float hcalDepth2TowerSumEtConeDR03() const
Hcal-Depth2 isolation sum.
Definition: Photon.h:445
int nTrkHollowConeDR03() const
Definition: Photon.h:459
bool isPFlowPhoton() const
Retrieve photonCore attributes.
Definition: Photon.h:57
float hadronicOverEm() const
the total hadronic over electromagnetic fraction
Definition: Photon.h:212
~Photon() override
destructor
float mipTotEnergy() const
Definition: Photon.h:349
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:81
float r1x5() const
Definition: Photon.h:238
float hcalTowerSumEtBcConeDR03() const
Hcal isolation sum subtracting the hadronic energy in towers behind the BCs in the SC...
Definition: Photon.h:447
FiducialFlags fiducialFlagBlock_
Definition: Photon.h:544
float getCorrectedEnergyError(P4type type) const
P4type getCandidateP4type() const
Definition: Photon.h:318
float etOutsideMustache() const
Definition: Photon.h:529
float hadronicDepth1OverEm() const
the hadronic release in depth1 over electromagnetic fraction
Definition: Photon.h:214
bool hasConversionTracks() const
Bool flagging photons with a vector of refereces to conversions with size >0.
Definition: Photon.h:72
bool pixelSeed_
Definition: Photon.h:542
LorentzVector regression1P4
Definition: Photon.h:285
float hcalDepth2TowerSumEtConeDR04() const
Hcal-Depth2 isolation sum.
Definition: Photon.h:422
bool isEEGap() const
true if photon is in EE, and inside the boundaries in supercrystal/D
Definition: Photon.h:129
float e3x3() const
Definition: Photon.h:233
bool hasPixelSeed() const
Bool flagging photons having a non-zero size vector of Ref to electornPixel seeds.
Definition: Photon.h:76
float hcalDepth1TowerSumEtBcConeDR04() const
Hcal-Depth1 isolation sum subtracting the hadronic energy in towers behind the BCs in the SC...
Definition: Photon.h:426
void setFiducialVolumeFlags(const FiducialFlags &a)
set flags for photons in the ECAL fiducial volume
Definition: Photon.h:118
int nTrkSolidConeDR04() const
Definition: Photon.h:434
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Candidate.h:37
bool isEERingGap() const
Definition: Photon.h:130
PflowIDVariables pfID_
Definition: Photon.h:553
float getCorrectedEnergy(P4type type) const
bool isEB() const
Definition: Photon.h:121
float trkSumPtHollowConeDR04() const
Definition: Photon.h:432
float r2x5() const
Definition: Photon.h:239
void full5x5_setShowerShapeVariables(const ShowerShape &a)
Definition: Photon.h:209
float ecalRecHitSumEtConeDR03() const
Isolation variables in cone dR=0.3.
Definition: Photon.h:439
fixed size matrix
const ShowerShape & full5x5_showerShapeVariables() const
Definition: Photon.h:206
Structure Point Contains parameters of Gaussian fits to DMRs.
Definition: DMRtrends.cc:55
double a
Definition: hdecay.h:121
int nClusterOutsideMustache() const
Definition: Photon.h:528
float r9() const
Definition: Photon.h:240
reco::ElectronSeedRefVector electronPixelSeeds() const
reference to electron Pixel seed
Definition: Photon.h:74
float hcalDepth2TowerSumEtBcConeDR03() const
Hcal-Depth2 isolation sum subtracting the hadronic energy in towers behind the BCs in the SC...
Definition: Photon.h:451
const std::vector< CaloTowerDetId > & hcalTowersBehindClusters() const
Definition: Photon.h:226
float mipSlope() const
Definition: Photon.h:350
float chargedHadronWorstVtxIso() const
Definition: Photon.h:494
float isSeedSaturated() const
Definition: Photon.h:267
int mipNhitCone() const
Definition: Photon.h:352
float chargedHadronWorstVtxGeomVetoIso() const
Definition: Photon.h:495
reco::SuperClusterRef parentSuperCluster() const
Ref to PFlow SuperCluster.
Definition: Photon.h:62
float pfMVA() const
Definition: Photon.h:530
ShowerShape showerShapeBlock_
Definition: Photon.h:547
const PflowIsolationVariables & getPflowIsolationVariables() const
Get Particle Flow Isolation variables block.
Definition: Photon.h:506
float mipChi2() const
MIP variables.
Definition: Photon.h:348
const ShowerShape & showerShapeVariables() const
Definition: Photon.h:205
reco::PhotonCoreRef photonCore_
reference to the PhotonCore
Definition: Photon.h:540
float full5x5_e5x5() const
Definition: Photon.h:246
void setP4(const LorentzVector &p4) final
set 4-momentum
float nSaturatedXtals() const
Definition: Photon.h:266
void setIsolationVariables(const IsolationVariables &isolInDr04, const IsolationVariables &isolInDr03)
set relevant isolation variables
Definition: Photon.h:412
void setP4(P4type type, const LorentzVector &p4, float p4Error, bool setToRecoCandidate)
math::XYZPoint Point
point in the space
Definition: LeafCandidate.h:27
bool isEBEtaGap() const
Definition: Photon.h:126
float maxEnergyXtal() const
Definition: Photon.h:235