1 #ifndef ParticleFlowCandidate_PFCandidate_h 2 #define ParticleFlowCandidate_PFCandidate_h 9 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__) 151 unsigned elementIndex );
437 void setFlag(
unsigned shift,
unsigned flag,
bool value);
439 bool flag(
unsigned shift,
unsigned flag)
const;
442 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__) 517 void storeRefInfo(
unsigned int iMask,
unsigned int iBit,
bool iIsValid,
520 bool getRefInfo(
unsigned int iMask,
unsigned int iBit,
~PFCandidate() override
destructor
double ecalEnergy() const
return corrected Ecal energy
float deltaP_
uncertainty on 3-momentum
void setPs2Energy(float e2)
set corrected PS2 energy
int pdgId() const final
PDG identifier.
int Charge
electric charge type
void setDeltaP(double dp)
set uncertainty on momentum
friend std::ostream & operator<<(std::ostream &out, const PFCandidate &c)
void setPs1Energy(float e1)
set corrected PS1 energy
ParticleType
particle types
reco::Muon::MuonTrackType muonTrackType_
bool isNonnull() const
Checks for non-null.
const edm::EDProductGetter * getter_
void setPFPhotonExtraRef(const reco::PFCandidatePhotonExtraRef &ref)
set the PF Photon Extra Ref
double rawEcalEnergy() const
return corrected Ecal energy
void setGsfElectronRef(const reco::GsfElectronRef &ref)
set GsfElectronRef
void setFlag(Flags theFlag, bool value)
set a given flag
bool getRefInfo(unsigned int iMask, unsigned int iBit, edm::ProductID &oProdID, size_t &oIndex, size_t &aIndex) const
void set_mva_e_mu(float mva)
set mva for electron-muon discrimination
virtual void setSourceCandidatePtr(const CandidatePtr &ptr)
Set the ptr to the source Candidate.
float timeError_
timing information uncertainty (<0 if timing not available)
void set_mva_nothing_gamma(float mva)
set mva for gamma detection
void setPositionAtECALEntrance(const math::XYZPointF &pos)
set position at ECAL entrance
float mva_nothing_gamma() const
mva for gamma detection
float hcalERatio_
corrected HCAL energy ratio (corrected/raw)
double dxyError() const
error on dxy
float rawHcalEnergy_
raw HCAL energy
const reco::Muon::MuonTrackType bestMuonTrackType() const
get the Best Muon Track Ref
unsigned flags_
all flags, packed (ecal regional, hcal regional, tracking)
double rawHoEnergy() const
return raw Hcal energy
float mva_e_mu_
mva for electron-muon discrimination
static const float bigMva_
std::array< float, 7 > hcalDepthEnergyFractions_
const std::array< float, 7 > & hcalDepthEnergyFractions() const
fraction of hcal energy at a given depth (index 0..6 for depth 1..7)
bool overlap(const Candidate &) const override
Polymorphic overlap.
float mva_nothing_nh_
mva for neutral hadron detection
void setVertex(const math::XYZPoint &p) override
float hoERatio_
corrected HO energy ratio (corrected/raw)
edm::RefVector< reco::PFBlockCollection > Blocks
void setSourceCandidatePtr(const PFCandidatePtr &ptr)
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float > > XYZPointF
point in space with cartesian internal representation
reco::PFCandidatePhotonExtraRef photonExtraRef() const
return a reference to the photon extra
float mva_gamma_nh_
mva for neutral hadron - gamma discrimination
float ecalERatio_
corrected ECAL energy ratio (corrected/raw)
float mva_pi_mu_
mva for pi-muon discrimination
particle ID component tag
const math::XYZPointF & positionAtECALEntrance() const
std::vector< ElementInBlock > ElementsInBlocks
float mva_e_mu() const
mva for electron-muon discrimination
void setVertex(const Point &vertex) override
set vertex
float rawEcalEnergy_
raw ECAL energy
reco::TrackRef trackRef() const
float mva_e_pi_
mva for electron-pion discrimination
reco::PFDisplacedVertexRef displacedVertexRef(Flags type) const
void set_mva_pi_mu(float mva)
set mva for pi-muon discrimination
float dxyError() const override
uncertainty on dxy
void set_mva_nothing_nh(float mva)
set mva for neutral hadron detection
void set_mva_e_pi(float mvaNI)
const Point & vertex() const override
vertex position (overwritten by PF...)
double pS1Energy() const
return corrected PS1 energy
std::vector< unsigned long long > refsInfo_
float hcalDepthEnergyFraction(unsigned int depth) const
fraction of hcal energy at a given depth (depth = 1 .. 7)
float mva_pi_mu() const
mva for pi-muon discrimination
bool isTimeValid() const
do we have a valid time information
float dzError() const override
uncertainty on dz
void setDisplacedVertexRef(const reco::PFDisplacedVertexRef &ref, Flags flag)
set displaced vertex reference
float mva_nothing_nh() const
mva for neutral hadron detection
float mva_Isolated() const
std::vector< unsigned > Elements
void setVertexSource(PFVertexType vt)
void set_mva_Isolated(float mvaI)
float ps1Energy_
corrected PS1 energy
CandidatePtr sourceCandidatePtr(size_type i) const override
void addElementInBlock(const reco::PFBlockRef &blockref, unsigned elementIndex)
add an element to the current PFCandidate
size_t numberOfSourceCandidatePtrs() const override
void setMuonTrackType(const reco::Muon::MuonTrackType &type)
set the Best Muon Track Ref
void setPFElectronExtraRef(const reco::PFCandidateElectronExtraRef &ref)
set the PF Electron Extra Ref
void setParticleType(ParticleType type)
set Particle Type
reco::PhotonRef photonRef() const
return a reference to the corresponding Photon if any
bool flag(Flags theFlag) const
return a given flag
unsigned short storedRefsBitPattern_
int translateTypeToPdgId(ParticleType type) const
Abs< T >::type abs(const T &t)
reco::GsfElectronRef gsfElectronRef() const
return a reference to the corresponding GsfElectron if any
double vx() const override
x coordinate of vertex position
const LorentzVector & p4() const final
four-momentum Lorentz vector
float rawHoEnergy_
raw HO energy
void rescaleMomentum(double rescaleFactor)
particle momentum *= rescaleFactor
reco::MuonRef muonRef() const
PFCandidate * clone() const override
return a clone
void setEcalEnergy(float eeRaw, float eeCorr)
set corrected Ecal energy
float mva_e_pi() const
mva for electron-pion discrimination
void setHcalDepthEnergyFractions(const std::array< float, 7 > &fracs)
set the fraction of hcal energy as function of depth (index 0..6 for depth 1..7)
double dzError() const
error on dz
double hoEnergy() const
return corrected Hcal energy
double p() const final
magnitude of momentum vector
reco::PFCandidateElectronExtraRef electronExtraRef() const
return a reference to the electron extra
void setGsfTrackRef(const reco::GsfTrackRef &ref)
set gsftrack reference
PFCandidate()
default constructor
XYZPointD XYZPoint
point in space with cartesian internal representation
void setPhotonRef(const reco::PhotonRef &phRef)
set ref to the corresponding reco::Photon if any
void setConversionRef(const reco::ConversionRef &ref)
set ref to original reco conversion
void set_mva_gamma_nh(float mva)
set mva for neutral hadron - gamma discrimination
ParticleType translatePdgIdToType(int pdgid) const
math::XYZTLorentzVector LorentzVector
Lorentz vector.
PFCandidate & operator=(PFCandidate const &)
std::atomic< ElementsInBlocks * > elementsInBlocks_
void setHoEnergy(float eoRaw, float eoCorr)
set corrected Hcal energy
PFCandidatePtr sourcePtr_
reference to the source PFCandidate, if any
Particle reconstructed by the particle flow algorithm.
float time_
timing information (valid if timeError_ >= 0)
reco::VertexCompositeCandidateRef v0Ref() const
return a reference to the original conversion
void setMuonRef(const reco::MuonRef &ref)
set muon reference
double vy() const override
y coordinate of vertex position
std::pair< reco::PFBlockRef, unsigned > ElementInBlock
return indices of elements used in the block
Structure Point Contains parameters of Gaussian fits to DMRs.
math::XYZPointF positionAtECALEntrance_
position at ECAL entrance, from the PFRecTrack
float mva_nothing_gamma_
mva for gamma detection
reco::PFCandidateEGammaExtraRef egammaExtraRef() const
return a reference to the EGamma extra
reco::GsfTrackRef gsfTrackRef() const
void setPFEGammaExtraRef(const reco::PFCandidateEGammaExtraRef &ref)
set the PF EGamma Extra Ref
double hcalEnergy() const
return corrected Hcal energy
static unsigned int const shift
double pS2Energy() const
return corrected PS2 energy
float ps2Energy_
corrected PS2 energy
void setSuperClusterRef(const reco::SuperClusterRef &scRef)
MuonTrackType
map for Global Muon refitters
void setV0Ref(const reco::VertexCompositeCandidateRef &ref)
set ref to original reco conversion
float mva_gamma_nh() const
mva for neutral hadron - gamma discrimination
virtual ParticleType particleId() const
void setTrackRef(const reco::TrackRef &ref)
set track reference
const ElementsInBlocks & elementsInBlocks() const
void setTime(float time, float timeError=0.f)
the timing information
Elements elementsStorage_
reco::ConversionRef conversionRef() const
return a reference to the original conversion
const reco::Track * bestTrack() const override
void setHcalEnergy(float ehRaw, float ehCorr)
set corrected Hcal energy
std::vector< const void * > refsCollectionCache_
double deltaP() const
uncertainty on 3-momentum
double vz() const override
z coordinate of vertex position
double rawHcalEnergy() const
return raw Hcal energy
math::XYZPoint Point
point in the space
reco::SuperClusterRef superClusterRef() const
return a reference to the corresponding SuperCluster if any
#define GET_CANDIDATE_COMPONENT(CAND, TYPE, FUN, TAG)
void storeRefInfo(unsigned int iMask, unsigned int iBit, bool iIsValid, const edm::RefCore &iCore, size_t iKey, const edm::EDProductGetter *)