CMS 3D CMS Logo

ParametersDefinerForTP.h
Go to the documentation of this file.
1 #ifndef TrackAssociation_ParametersDefinerForTP_h
2 #define TrackAssociation_ParametersDefinerForTP_h
3 
10 #include <memory>
11 
18 
20 public:
24 
25  typedef int Charge;
28 
30  const edm::EventSetup &iSetup,
31  const Charge ch,
32  const Point &vtx,
33  const LorentzVector &lv) const;
34 
36  const edm::EventSetup &iSetup,
37  const TrackingParticleRef &tpr) const {
38  return momentum(iEvent, iSetup, tpr->charge(), tpr->vertex(), tpr->p4());
39  }
40 
42  const edm::EventSetup &iSetup,
43  const reco::Candidate &tp) const {
44  return momentum(iEvent, iSetup, tp.charge(), tp.vertex(), tp.p4());
45  }
46 
48  const edm::EventSetup &iSetup,
49  const Charge ch,
50  const Point &vtx,
51  const LorentzVector &lv) const;
52 
53  virtual TrackingParticle::Point vertex(const edm::Event &iEvent,
54  const edm::EventSetup &iSetup,
55  const TrackingParticleRef &tpr) const {
56  return vertex(iEvent, iSetup, tpr->charge(), tpr->vertex(), tpr->p4());
57  }
58 
59  virtual TrackingParticle::Point vertex(const edm::Event &iEvent,
60  const edm::EventSetup &iSetup,
61  const reco::Candidate &tp) const {
62  return vertex(iEvent, iSetup, tp.charge(), tp.vertex(), tp.p4());
63  }
64 
66 
67  virtual std::unique_ptr<ParametersDefinerForTP> clone() const {
68  return std::unique_ptr<ParametersDefinerForTP>(new ParametersDefinerForTP(*this));
69  }
70 
72 };
73 
74 #endif
math::XYZTLorentzVectorD LorentzVector
Lorentz vector.
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double > > XYZTLorentzVectorD
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:14
math::XYZPointD Point
point in the space
int iEvent
Definition: GenABIO.cc:224
virtual const LorentzVector & p4() const =0
four-momentum Lorentz vector
virtual TrackingParticle::Vector momentum(const edm::Event &iEvent, const edm::EventSetup &iSetup, const Charge ch, const Point &vtx, const LorentzVector &lv) const
math::XYZPointD Point
point in the space
virtual void initEvent(edm::Handle< SimHitTPAssociationProducer::SimHitTPAssociationList > simHitsTPAssocToSet)
virtual TrackingParticle::Vector momentum(const edm::Event &iEvent, const edm::EventSetup &iSetup, const reco::Candidate &tp) const
virtual std::unique_ptr< ParametersDefinerForTP > clone() const
virtual TrackingParticle::Vector momentum(const edm::Event &iEvent, const edm::EventSetup &iSetup, const TrackingParticleRef &tpr) const
int Charge
electric charge type
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double > > XYZPointD
point in space with cartesian internal representation
Definition: Point3D.h:8
virtual int charge() const =0
electric charge
virtual TrackingParticle::Point vertex(const edm::Event &iEvent, const edm::EventSetup &iSetup, const TrackingParticleRef &tpr) const
virtual TrackingParticle::Point vertex(const edm::Event &iEvent, const edm::EventSetup &iSetup, const reco::Candidate &tp) const
virtual const Point & vertex() const =0
vertex position
math::XYZVectorD Vector
point in the space
virtual TrackingParticle::Point vertex(const edm::Event &iEvent, const edm::EventSetup &iSetup, const Charge ch, const Point &vtx, const LorentzVector &lv) const