CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PFSimParticle.h
Go to the documentation of this file.
1 #ifndef DataFormats_ParticleFlowReco_PFSimParticle_h
2 #define DataFormats_ParticleFlowReco_PFSimParticle_h
3 
5 
6 #include <iostream>
7 
8 namespace reco {
9 
19  class PFSimParticle : public PFTrack {
20 
21  public:
22 
23  PFSimParticle();
24 
25  PFSimParticle(double charge, int pdgCode,
26  unsigned id, int motherId,
27  const std::vector<int>& daughterIds,
28  unsigned rectrackId,
29  const std::vector<unsigned>& recHitContrib,
30  const std::vector<double>& recHitContribFrac );
31 
32  PFSimParticle(const PFSimParticle& other);
33 
35  int pdgCode() const {return pdgCode_; }
36 
38  unsigned id() const { return id_; }
39 
41  int motherId() const { return motherId_; }
42 
44  const std::vector<int>& daughterIds() const {return daughterIds_;}
45 
46  //accessing MCTruth Matching Info
47  unsigned rectrackId()
48  const {return rectrackId_;}
49  std::vector<unsigned> recHitContrib()
50  const {return recHitContrib_;}
51  std::vector<double> recHitContribFrac()
52  const {return recHitContribFrac_;}
53 
54  friend std::ostream& operator<<(std::ostream& out,
55  const PFSimParticle& track);
56 
57  private:
58 
60  int pdgCode_;
61 
63  unsigned id_;
64 
66  int motherId_;
67 
69  std::vector<int> daughterIds_;
70 
71  unsigned rectrackId_;
72  std::vector<unsigned> recHitContrib_;
73  std::vector<double> recHitContribFrac_;
74 
75  };
76 
77 }
78 
79 #endif
const std::vector< int > & daughterIds() const
Definition: PFSimParticle.h:44
std::vector< int > daughterIds_
id of daughter particles (can be &gt; 2 in hadron showers)
Definition: PFSimParticle.h:69
int pdgCode_
pdg code
Definition: PFSimParticle.h:60
friend std::ostream & operator<<(std::ostream &out, const PFSimParticle &track)
unsigned rectrackId() const
Definition: PFSimParticle.h:47
int pdgCode() const
Definition: PFSimParticle.h:35
Base class for particle flow input reconstructed tracks and simulated particles.
Definition: PFTrack.h:63
unsigned id_
position in particle vector
Definition: PFSimParticle.h:63
int motherId_
id of mother particle. -1 if no mother
Definition: PFSimParticle.h:66
std::vector< double > recHitContribFrac() const
Definition: PFSimParticle.h:51
true particle for particle flow
Definition: PFSimParticle.h:19
std::vector< unsigned > recHitContrib_
Definition: PFSimParticle.h:72
unsigned id() const
Definition: PFSimParticle.h:38
int motherId() const
Definition: PFSimParticle.h:41
std::vector< double > recHitContribFrac_
Definition: PFSimParticle.h:73
std::vector< unsigned > recHitContrib() const
Definition: PFSimParticle.h:49
double charge() const
Definition: PFTrack.h:87