1 #ifndef EgammaCandidates_Photon_h 2 #define EgammaCandidates_Photon_h 180 hcalDepth1OverEcal(0),
181 hcalDepth2OverEcal(0),
182 hcalDepth1OverEcalBc(0),
183 hcalDepth2OverEcalBc(0),
262 : nSaturatedXtals(0), isSeedSaturated(
false) {};
292 scEcalEnergyError(999.),
293 scEcalP4(0., 0., 0., 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.),
395 hcalDepth1TowerSumEt(0),
396 hcalDepth2TowerSumEt(0),
398 hcalDepth1TowerSumEtBc(0),
399 hcalDepth2TowerSumEtBc(0),
400 trkSumPtSolidCone(0),
401 trkSumPtHollowCone(0),
479 chargedHadronIso(0.),
480 chargedHadronWorstVtxIso(0.),
481 chargedHadronWorstVtxGeomVetoIso(0.),
482 chargedHadronPFPVIso(0.),
483 neutralHadronIso(0.),
485 sumEcalClusterEt(0.),
520 nClusterOutsideMustache(-1),
521 etOutsideMustache(-999999999.),
MIPVariables mipVariableBlock_
float chargedHadronPFPVIso() const
void setPflowIsolationVariables(const PflowIsolationVariables &pfisol)
Set Particle Flow Isolation variables.
float hcalDepth1TowerSumEtBcConeDR03() const
Hcal-Depth1 isolation sum subtracting the hadronic energy in towers behind the BCs in the SC...
float hcalDepth1TowerSumEtBc
float hcalTowerSumEtConeDR04() const
Hcal isolation sum.
SaturationInfo saturationInfo_
float hcalDepth1TowerSumEt
void setMIPVariables(const MIPVariables &mipVar)
set mip Variables
float trkSumPtSolidConeDR03() const
float hcalDepth1TowerSumEtConeDR04() const
Hcal-Depth1 isolation sum.
ShowerShape full5x5_showerShapeBlock_
PflowIsolationVariables pfIsolation_
float hcalDepth1TowerSumEtConeDR03() const
Hcal-Depth1 isolation sum.
std::vector< CaloTowerDetId > hcalTowersBehindClusters
void setCandidateP4type(const P4type type)
const EnergyCorrections & energyCorrections() const
float chargedHadronIso() const
Accessors for Particle Flow Isolation variables.
bool isEBGap() const
true if photon is in EB, and inside the boundaries in super crystals/modules
void setCorrectedEnergy(P4type type, float E, float dE, bool toCand=true)
float neutralHadronIso() const
float full5x5_r2x5() const
float hcalTowerSumEtConeDR03() const
Hcal isolation sum.
const SaturationInfo & saturationInfo() const
reco::ConversionRefVector conversionsOneLeg() const
vector of references to one leg Conversion's
float hcalDepth2OverEcalBc
float trkSumPtSolidConeDR04() const
int nTrkSolidConeDR03() const
float full5x5_e2x5() const
float e1x5() const
Shower shape variables.
bool overlap(const Candidate &) const override
check overlap with another candidate
bool isEBEEGap() const
true if photon is in boundary between EB and EE
float chargedHadronWorstVtxGeomVetoIso
float hadronicOverEmValid() const
returns false if hadronicOverEm is not reliably estimated (e.g. because hcal was off or masked) ...
float ecalRecHitSumEtConeDR04() const
Photon * clone() const override
returns a clone of the candidate
void setSaturationInfo(const SaturationInfo &s)
float full5x5_r1x5() const
float chargedHadronWorstVtxIso
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float > > XYZPointF
point in space with cartesian internal representation
float trkSumPtHollowConeDR03() const
float regression2EnergyError
float hcalDepth2TowerSumEt
reco::SuperClusterRef superCluster() const override
Ref to SuperCluster.
float full5x5_maxEnergyXtal() const
float full5x5_sigmaEtaEta() const
bool isPhoton() const override
Implement Candidate method for particle species.
IsolationVariables isolationR03_
int conversionTrackProvenance(const edm::RefToBase< reco::Track > &convTrack) const
Photon()
default constructor
float hadronicDepth2OverEm() const
the hadronic release in depth2 over electromagnetic fraction
void setVertex(const Point &vertex) override
set primary event vertex used to define photon direction
float mipIntercept() const
math::XYZPointF caloPosition_
position of seed BasicCluster for shower depth of unconverted photon
float full5x5_e1x5() const
full5x5 Shower shape variables
float full5x5_e3x3() const
float hadTowDepth1OverEm() const
the ration of hadronic energy in towers depth1 behind the BCs in the SC and the SC energy ...
float hcalPFClusterIso() const
float ecalPFClusterIso() const
LorentzVector regression2P4
reco::PhotonCoreRef photonCore() const
returns a reference to the core photon object
IsolationVariables isolationR04_
void setPhotonCore(const reco::PhotonCoreRef &photonCore)
float full5x5_sigmaIetaIeta() const
float hcalDepth2TowerSumEtBcConeDR04() const
Hcal-Depth2 isolation sum subtracting the hadronic energy in towers behind the BCs in the SC...
reco::ConversionRefVector conversions() const
vector of references to Conversion's
PflowIsolationVariables()
float hcalTowerSumEtBcConeDR04() const
Hcal isolation sum subtracting the hadronic energy in towers behind the BCs in the SC...
void setEnergyCorrections(const EnergyCorrections &e)
bool isStandardPhoton() const
void setPflowIDVariables(const PflowIDVariables &pfid)
float sigmaIetaIeta() const
const Point & vertex() const override
vertex position (overwritten by PF...)
EnergyCorrections eCorrections_
float hadTowOverEmValid() const
returns false if hadTowOverEm is not reliably estimated (e.g. because hcal was off or masked) ...
float hadTowDepth2OverEm() const
the ration of hadronic energy in towers depth2 behind the BCs in the SC and the SC energy ...
void setShowerShapeVariables(const ShowerShape &a)
float sigmaEtaEta() const
const LorentzVector & p4() const final
four-momentum Lorentz vector
float hadTowOverEm() const
the ration of hadronic energy in towers behind the BCs in the SC and the SC energy ...
int nTrkHollowConeDR04() const
float hcalDepth2TowerSumEtConeDR03() const
Hcal-Depth2 isolation sum.
int nTrkHollowConeDR03() const
bool isPFlowPhoton() const
Retrieve photonCore attributes.
float hadronicOverEm() const
the total hadronic over electromagnetic fraction
~Photon() override
destructor
float mipTotEnergy() const
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...
float hcalTowerSumEtBcConeDR03() const
Hcal isolation sum subtracting the hadronic energy in towers behind the BCs in the SC...
FiducialFlags fiducialFlagBlock_
float getCorrectedEnergyError(P4type type) const
float hcalDepth2TowerSumEtBc
P4type getCandidateP4type() const
float etOutsideMustache() const
float hadronicDepth1OverEm() const
the hadronic release in depth1 over electromagnetic fraction
bool hasConversionTracks() const
Bool flagging photons with a vector of refereces to conversions with size >0.
LorentzVector regression1P4
float hcalDepth2TowerSumEtConeDR04() const
Hcal-Depth2 isolation sum.
bool isEEGap() const
true if photon is in EE, and inside the boundaries in supercrystal/D
float regression1EnergyError
float hcalDepth1OverEcalBc
bool hasPixelSeed() const
Bool flagging photons having a non-zero size vector of Ref to electornPixel seeds.
float hcalDepth1TowerSumEtBcConeDR04() const
Hcal-Depth1 isolation sum subtracting the hadronic energy in towers behind the BCs in the SC...
void setFiducialVolumeFlags(const FiducialFlags &a)
set flags for photons in the ECAL fiducial volume
int nTrkSolidConeDR04() const
math::XYZTLorentzVector LorentzVector
Lorentz vector.
float getCorrectedEnergy(P4type type) const
float trkSumPtHollowConeDR04() const
float chargedHadronPFPVIso
void full5x5_setShowerShapeVariables(const ShowerShape &a)
float ecalRecHitSumEtConeDR03() const
Isolation variables in cone dR=0.3.
const ShowerShape & full5x5_showerShapeVariables() const
Structure Point Contains parameters of Gaussian fits to DMRs.
int nClusterOutsideMustache() const
reco::ElectronSeedRefVector electronPixelSeeds() const
reference to electron Pixel seed
float hcalDepth2TowerSumEtBcConeDR03() const
Hcal-Depth2 isolation sum subtracting the hadronic energy in towers behind the BCs in the SC...
const std::vector< CaloTowerDetId > & hcalTowersBehindClusters() const
float chargedHadronWorstVtxIso() const
float isSeedSaturated() const
float chargedHadronWorstVtxGeomVetoIso() const
reco::SuperClusterRef parentSuperCluster() const
Ref to PFlow SuperCluster.
ShowerShape showerShapeBlock_
const PflowIsolationVariables & getPflowIsolationVariables() const
Get Particle Flow Isolation variables block.
float mipChi2() const
MIP variables.
const ShowerShape & showerShapeVariables() const
reco::PhotonCoreRef photonCore_
reference to the PhotonCore
float full5x5_e5x5() const
void setP4(const LorentzVector &p4) final
set 4-momentum
int nClusterOutsideMustache
float nSaturatedXtals() const
void setIsolationVariables(const IsolationVariables &isolInDr04, const IsolationVariables &isolInDr03)
set relevant isolation variables
void setP4(P4type type, const LorentzVector &p4, float p4Error, bool setToRecoCandidate)
math::XYZPoint Point
point in the space
float maxEnergyXtal() const