55 return (
algo_ == algo);
59 stream <<
" Pt = " << this->
pt() <<
", eta = " << this->
eta() <<
", phi = " << this->
phi()
60 <<
" (mass = " << this->
mass() <<
")" << std::endl;
61 stream <<
" charge = " << this->
charge() <<
" (pdgId = " << this->
pdgId() <<
")" << std::endl;
62 stream <<
"charged PFCandidate";
69 stream <<
": N/A" << std::endl;
71 stream <<
"reco::Track: ";
73 stream <<
"Pt = " <<
track_->pt() <<
" +/- " <<
track_->ptError() <<
", eta = " <<
track_->eta()
74 <<
", phi = " <<
track_->phi() << std::endl;
80 stream <<
"N/A" << std::endl;
82 stream <<
"neutral PFCandidates:";
86 for (std::vector<CandidatePtr>::const_iterator neutralPFCandidate =
neutralPFCandidates_.begin();
88 ++neutralPFCandidate) {
89 stream <<
" #" << idx <<
" (" << neutralPFCandidate->id() <<
":" << neutralPFCandidate->key() <<
"):" 90 <<
" Pt = " << (*neutralPFCandidate)->pt() <<
", eta = " << (*neutralPFCandidate)->eta()
91 <<
", phi = " << (*neutralPFCandidate)->phi() <<
" (pdgId = " << (*neutralPFCandidate)->pdgId() <<
")" 97 stream <<
"N/A" << std::endl;
105 algo_string =
"chargedPFCandidate";
107 algo_string =
"Track";
109 algo_string =
"PFNeutralHadron";
110 stream <<
"algo = " << algo_string << std::endl;
CandidatePtr lostTrackCandidate_
int pdgId() const final
PDG identifier.
int Charge
electric charge type
PFRecoTauChargedHadronAlgorithm algo() const
Algorithm that built this charged hadron.
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
~PFRecoTauChargedHadron() override
destructor
void print(std::ostream &stream=std::cout) const
PFRecoTauChargedHadronAlgorithm
std::ostream & operator<<(std::ostream &, BeamSpot beam)
CandidatePtr chargedPFCandidate_
const LorentzVector & p4() const final
four-momentum Lorentz vector
std::vector< CandidatePtr > neutralPFCandidates_
const TrackPtr & getTrack() const
reference to reco::Track
bool isNonnull() const
Checks for non-null.
PFRecoTauChargedHadronAlgorithm algo_
ProductID id() const
Accessor for product ID.
math::XYZTLorentzVector LorentzVector
Lorentz vector.
virtual int charge() const =0
electric charge
Structure Point Contains parameters of Gaussian fits to DMRs.
math::XYZPointF positionAtECALEntrance_
int status() const final
status word
bool algoIs(PFRecoTauChargedHadronAlgorithm algo) const
Check whether a given algo produced this charged hadron.
const CandidatePtr & getChargedPFCandidate() const
reference to "charged" PFCandidate (either charged PFCandidate or PFNeutralHadron) ...
double phi() const final
momentum azimuthal angle
void setPdgId(int pdgId) final
const math::XYZPointF & positionAtECALEntrance() const
position at ECAL entrance
double mass() const final
mass
const std::vector< CandidatePtr > & getNeutralPFCandidates() const
references to additional neutral PFCandidates
const CandidatePtr & getLostTrackCandidate() const
reference to "lostTrack Candidate" when chadron built with tracks stored as pat::PackedCandidates ...