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;
virtual double pt() const final
transverse momentum
int Charge
electric charge type
PFRecoTauChargedHadronAlgorithm algo() const
Algorithm that built this charged hadron.
ParticleType
particle types
virtual double mass() const final
mass
virtual double eta() const final
momentum pseudorapidity
virtual void setPdgId(int pdgId) final
virtual int status() const final
status word
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float > > XYZPointF
point in space with cartesian internal representation
PFCandidatePtr chargedPFCandidate_
virtual double phi() const final
momentum azimuthal angle
virtual int charge() const final
electric charge
void print(std::ostream &stream=std::cout) const
PFRecoTauChargedHadronAlgorithm
~PFRecoTauChargedHadron()
destructor
std::ostream & operator<<(std::ostream &, BeamSpot beam)
virtual int pdgId() const final
PDG identifier.
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_
bool algoIs(PFRecoTauChargedHadronAlgorithm algo) const
Check whether a given algo produced this charged hadron.
math::XYZPoint Point
point in the space
virtual const LorentzVector & p4() const final
four-momentum Lorentz vector
const math::XYZPointF & positionAtECALEntrance() const
position at ECAL entrance
const PFCandidatePtr & getChargedPFCandidate() const
reference to "charged" PFCandidate (either charged PFCandidate or PFNeutralHadron) ...