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 Charge
electric charge type
PFRecoTauChargedHadronAlgorithm algo() const
Algorithm that built this charged hadron.
algo_(conf.existsAs< bool >("Correct")?conf.getParameter< bool >("Correct"):true, conf.getParameter< double >("e9e25Cut"), conf.getParameter< double >("intercept2DCut"), conf.existsAs< bool >("intercept2DSlope")?conf.getParameter< double >("intercept2DSlope"):defaultSlope2D_, conf.getParameter< std::vector< double > >("e1e9Cut"), conf.getParameter< std::vector< double > >("eCOREe9Cut"), conf.getParameter< std::vector< double > >("eSeLCut"), hfvars_)
ParticleType
particle types
virtual void setPdgId(int pdgId) final
virtual double phi() const final
momentum azimuthal angle
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float > > XYZPointF
point in space with cartesian internal representation
PFCandidatePtr chargedPFCandidate_
void print(std::ostream &stream=std::cout) const
PFRecoTauChargedHadronAlgorithm
~PFRecoTauChargedHadron()
destructor
std::ostream & operator<<(std::ostream &, BeamSpot beam)
virtual int charge() const final
electric charge
virtual int charge() const =0
electric charge
const TrackPtr & getTrack() const
reference to reco::Track
virtual double mass() const final
mass
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 pdgId() const final
PDG identifier.
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 double eta() const final
momentum pseudorapidity
const math::XYZPointF & positionAtECALEntrance() const
position at ECAL entrance
const PFCandidatePtr & getChargedPFCandidate() const
reference to "charged" PFCandidate (either charged PFCandidate or PFNeutralHadron) ...
virtual double pt() const final
transverse momentum