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 { namespace tau {
11  template<class TrackClass>
14  class RecoTauConstructor;
16 }}
18 
19 namespace reco {
20 
22 {
23  public:
25 
27  // Algorithm where each photon becomes a pi zero
28  kUndefined = 0,
29  kChargedPFCandidate = 1,
30  kTrack = 2,
31  kPFNeutralHadron = 3
32  };
33 
36 
37 
40 
43  const Point& vtx = Point( 0, 0, 0 ),
44  int status = 0, bool integerCharge = true,
46 
48  ~PFRecoTauChargedHadron() override;
49 
51  const CandidatePtr& getChargedPFCandidate() const;
52 
54  const TrackPtr& getTrack() const;
55 
57  const CandidatePtr& getLostTrackCandidate() const;
58 
60  const std::vector<CandidatePtr>& getNeutralPFCandidates() const;
61 
63  const math::XYZPointF& positionAtECALEntrance() const;
64 
67 
69  bool algoIs(PFRecoTauChargedHadronAlgorithm algo) const;
70 
71  void print(std::ostream& stream = std::cout) const;
72 
73  private:
75  template<class TrackClass>
79  friend class ::PFRecoTauChargedHadronProducer;
80 
82 
85  TrackPtr track_;
86  std::vector<CandidatePtr> neutralPFCandidates_;
87 
89 };
90 
91 std::ostream& operator<<(std::ostream& stream, const PFRecoTauChargedHadron& c);
92 
93 } // end namespace reco
94 
95 #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::pair< double, double > Point
Definition: CaloEllipse.h:18
std::ostream & operator<<(std::ostream &, BeamSpot beam)
Definition: BeamSpot.cc:71
double p4[4]
Definition: TauolaWrapper.h:92
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:55