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
29  kUndefined = 0,
30  kChargedPFCandidate = 1,
31  kTrack = 2,
32  kPFNeutralHadron = 3
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 
65  const math::XYZPointF& positionAtECALEntrance() const;
66 
69 
71  bool algoIs(PFRecoTauChargedHadronAlgorithm algo) const;
72 
73  void print(std::ostream& stream = std::cout) const;
74 
75  private:
77  template <class TrackClass>
81  friend class ::PFRecoTauChargedHadronProducer;
82 
84 
87  TrackPtr track_;
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
int Charge
electric charge type
Definition: Candidate.h:35
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float > > XYZPointF
point in space with cartesian internal representation
Definition: Point3D.h:10
S & print(S &os, JobReport::InputFile const &f)
Definition: JobReport.cc:66
std::ostream & operator<<(std::ostream &, BeamSpot beam)
Definition: BeamSpot.cc:66
double p4[4]
Definition: TauolaWrapper.h:92
math::XYZPoint Point
std::vector< CandidatePtr > neutralPFCandidates_
PFRecoTauChargedHadronAlgorithm algo_
static const TrackGhostTrackState * getTrack(const BasicGhostTrackState *basic)
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Candidate.h:37
fixed size matrix
Structure Point Contains parameters of Gaussian fits to DMRs.
Definition: DMRtrends.cc:57