1 #ifndef DataFormats_HGCalReco_TICLCandidate_h 2 #define DataFormats_HGCalReco_TICLCandidate_h 29 time_(trackster->time()),
39 <<
"TICLCandidate constructor: at least one between track and trackster must be valid";
41 if (tracksterPtr.isNonnull()) {
46 auto pdgId = trackster->isHadronic() ? 211 : 11;
51 auto const& regrE = trackster->regressed_energy();
53 regrE * tk->momentum().unit().y(),
54 regrE * tk->momentum().unit().z(),
59 auto pdgId = trackster->isHadronic() ? 130 : 22;
63 const float& regrE = trackster->regressed_energy();
65 regrE * trackster->barycenter().unit().y(),
66 regrE * trackster->barycenter().unit().z(),
const edm::Ptr< reco::Track > trackPtr() const
TICLCandidate(const edm::Ptr< reco::Track > trackPtr, const edm::Ptr< ticl::Trackster > &tracksterPtr)
void setIdProbabilities(const std::array< float, 8 > &idProbs)
int Charge
electric charge type
float MTDtimeError() const
void setTracksters(const std::vector< edm::Ptr< ticl::Trackster > > &tracksters)
std::vector< edm::Ptr< ticl::Trackster > > tracksters_
const std::array< float, 8 > & idProbabilities() const
void setTime(float time, float timeError)
edm::Ptr< reco::Track > trackPtr_
const LorentzVector & p4() const final
four-momentum Lorentz vector
const float timeError() const
int pdgId() const final
PDG identifier.
PtEtaPhiMLorentzVectorD PtEtaPhiMLorentzVector
Lorentz vector with cartesian internal representation.
void setCharge(Charge q) final
set electric charge
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
void setIdProbability(ParticleType type, float value)
bool isNull() const
Checks for null.
double p() const final
magnitude of momentum vector
void setRawEnergy(float rawEnergy)
std::array< float, 8 > idProbabilities_
bool isNonnull() const
Checks for non-null.
float id_probability(ParticleType type) const
T const * get() const
Returns C++ pointer to the item.
ticl::Trackster::ParticleType ParticleType
math::XYZTLorentzVector LorentzVector
Lorentz vector.
void addTrackster(const edm::Ptr< ticl::Trackster > &trackster)
void setMTDTime(float time, float timeError)
const std::vector< edm::Ptr< ticl::Trackster > > tracksters() const
void setPdgId(int pdgId) final
TICLCandidate(Charge q, const LorentzVector &p4)
void setTrackPtr(const edm::Ptr< reco::Track > &trackPtr)
void setP4(const LorentzVector &p4) final
set 4-momentum
double energy() const final
energy
TICLCandidate(const edm::Ptr< ticl::Trackster > &trackster)