CMS 3D CMS Logo

PFRecoTauChargedHadron.h
Go to the documentation of this file.
1 #ifndef DataFormats_TauReco_PFRecoTauChargedHadron_h
2 #define DataFormats_TauReco_PFRecoTauChargedHadron_h
3 
9 
10 namespace reco {
11  namespace tau {
12  template <class TrackClass>
15  class RecoTauConstructor;
17  } // namespace tau
18 } // namespace reco
20 
21 namespace reco {
22 
24  public:
26 
28  // Algorithm where each photon becomes a pi zero
31  kTrack = 2,
33  };
34 
37 
40 
43  const LorentzVector& p4,
44  const Point& vtx = Point(0, 0, 0),
45  int status = 0,
46  bool integerCharge = true,
48 
50  ~PFRecoTauChargedHadron() override;
51 
53  const CandidatePtr& getChargedPFCandidate() const;
54 
56  const TrackPtr& getTrack() const;
57 
59  const CandidatePtr& getLostTrackCandidate() const;
60 
62  const std::vector<CandidatePtr>& getNeutralPFCandidates() const;
63 
66 
69 
72 
73  void print(std::ostream& stream = std::cout) const;
74 
75  private:
77  template <class TrackClass>
81  friend class ::PFRecoTauChargedHadronProducer;
82 
84 
88  std::vector<CandidatePtr> neutralPFCandidates_;
89 
91  };
92 
93  std::ostream& operator<<(std::ostream& stream, const PFRecoTauChargedHadron& c);
94 
95 } // end namespace reco
96 
97 #endif
PFRecoTauChargedHadronAlgorithm algo() const
Algorithm that built this charged hadron.
const TrackPtr & getTrack() const
reference to reco::Track
const math::XYZPointF & positionAtECALEntrance() const
position at ECAL entrance
int status() const final
status word
void print(std::ostream &stream=std::cout) const
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float > > XYZPointF
point in space with cartesian internal representation
Definition: Point3D.h:10
uint32_t T const *__restrict__ uint32_t const *__restrict__ int32_t int Histo::index_type cudaStream_t stream
const LorentzVector & p4() const final
four-momentum Lorentz vector
~PFRecoTauChargedHadron() override
destructor
std::ostream & operator<<(std::ostream &, BeamSpot beam)
Definition: BeamSpot.cc:66
bool algoIs(PFRecoTauChargedHadronAlgorithm algo) const
Check whether a given algo produced this charged hadron.
math::XYZTLorentzVector LorentzVector
std::vector< CandidatePtr > neutralPFCandidates_
const CandidatePtr & getChargedPFCandidate() const
reference to "charged" PFCandidate (either charged PFCandidate or PFNeutralHadron) ...
PFRecoTauChargedHadronAlgorithm algo_
const std::vector< CandidatePtr > & getNeutralPFCandidates() const
references to additional neutral PFCandidates
fixed size matrix
Structure Point Contains parameters of Gaussian fits to DMRs.
int Charge
electric charge type
Definition: LeafCandidate.h:21
math::XYZPoint Point
point in the space
Definition: LeafCandidate.h:27
const CandidatePtr & getLostTrackCandidate() const
reference to "lostTrack Candidate" when chadron built with tracks stored as pat::PackedCandidates ...