17 else if ( q < 0. ) this->
setPdgId(-211);
22 int status,
bool integerCharge,
28 else if ( q < 0. ) this->
setPdgId(-211);
69 return (
algo_ == algo);
90 stream <<
" Pt = " << this->
pt() <<
", eta = " << this->
eta() <<
", phi = " << this->
phi() <<
" (mass = " << this->
mass() <<
")" << std::endl;
91 stream <<
" charge = " << this->
charge() <<
" (pdgId = " << this->
pdgId() <<
")" << std::endl;
92 stream <<
"charged PFCandidate";
96 <<
" (type = " << getPFCandidateType(
chargedPFCandidate_->particleId()) <<
")" << std::endl;
98 stream <<
": N/A" << std::endl;
100 stream <<
"reco::Track: ";
102 stream <<
"Pt = " <<
track_->pt() <<
" +/- " <<
track_->ptError() <<
", eta = " <<
track_->eta() <<
", phi = " <<
track_->phi() << std::endl;
104 stream <<
"N/A" << std::endl;
106 stream <<
"neutral PFCandidates:";
110 for ( std::vector<PFCandidatePtr>::const_iterator neutralPFCandidate =
neutralPFCandidates_.begin();
112 stream <<
" #" << idx <<
" (" << neutralPFCandidate->id() <<
":" << neutralPFCandidate->key() <<
"):" 113 <<
" Pt = " << (*neutralPFCandidate)->pt() <<
", eta = " << (*neutralPFCandidate)->eta() <<
", phi = " << (*neutralPFCandidate)->phi()
114 <<
" (type = " << getPFCandidateType((*neutralPFCandidate)->particleId()) <<
")" << std::endl;
119 stream <<
"N/A" << std::endl;
127 stream <<
"algo = " << algo_string << std::endl;
int pdgId() const final
PDG identifier.
int Charge
electric charge type
PFRecoTauChargedHadronAlgorithm algo() const
Algorithm that built this charged hadron.
ParticleType
particle types
double eta() const final
momentum pseudorapidity
double pt() const final
transverse momentum
int charge() const final
electric charge
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float > > XYZPointF
point in space with cartesian internal representation
PFCandidatePtr chargedPFCandidate_
~PFRecoTauChargedHadron() override
destructor
void print(std::ostream &stream=std::cout) const
PFRecoTauChargedHadronAlgorithm
std::ostream & operator<<(std::ostream &, BeamSpot beam)
const LorentzVector & p4() const final
four-momentum Lorentz vector
const TrackPtr & getTrack() const
reference to reco::Track
bool isNonnull() const
Checks for non-null.
PFRecoTauChargedHadronAlgorithm algo_
const std::vector< PFCandidatePtr > & getNeutralPFCandidates() const
references to additional neutral PFCandidates
std::vector< PFCandidatePtr > neutralPFCandidates_
ProductID id() const
Accessor for product ID.
math::XYZTLorentzVector LorentzVector
Lorentz vector.
virtual int charge() const =0
electric charge
math::XYZPointF positionAtECALEntrance_
int status() const final
status word
bool algoIs(PFRecoTauChargedHadronAlgorithm algo) const
Check whether a given algo produced this charged hadron.
math::XYZPoint Point
point in the space
double phi() const final
momentum azimuthal angle
void setPdgId(int pdgId) final
const math::XYZPointF & positionAtECALEntrance() const
position at ECAL entrance
const PFCandidatePtr & getChargedPFCandidate() const
reference to "charged" PFCandidate (either charged PFCandidate or PFNeutralHadron) ...
double mass() const final
mass