CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 
21  public:
25 
26  typedef int Charge;
29 
30  virtual TrackingParticle::Vector momentum(const edm::Event& iEvent, const edm::EventSetup& iSetup,
31  const Charge ch, const Point & vtx, const LorentzVector& lv) const;
32 
33  virtual TrackingParticle::Vector momentum(const edm::Event& iEvent, const edm::EventSetup& iSetup, const TrackingParticleRef& tpr) const{
34  return momentum(iEvent, iSetup, tpr->charge(),tpr->vertex(),tpr->p4());
35  }
36 
37  virtual TrackingParticle::Vector momentum(const edm::Event& iEvent, const edm::EventSetup& iSetup, const reco::Candidate& tp) const {
38  return momentum(iEvent, iSetup, tp.charge(),tp.vertex(),tp.p4());
39  }
40 
41  virtual TrackingParticle::Point vertex(const edm::Event& iEvent, const edm::EventSetup& iSetup,
42  const Charge ch, const Point & vtx, const LorentzVector& lv) const;
43 
44  virtual TrackingParticle::Point vertex(const edm::Event& iEvent, const edm::EventSetup& iSetup, const TrackingParticleRef& tpr) const{
45  return vertex(iEvent, iSetup, tpr->charge(),tpr->vertex(),tpr->p4());
46  }
47 
48  virtual TrackingParticle::Point vertex(const edm::Event& iEvent, const edm::EventSetup& iSetup, const reco::Candidate& tp) const {
49  return vertex(iEvent, iSetup, tp.charge(),tp.vertex(),tp.p4());
50  }
51 
53 
54  virtual std::unique_ptr<ParametersDefinerForTP> clone() const { return std::unique_ptr<ParametersDefinerForTP>(new ParametersDefinerForTP(*this)); }
55 
57 
58 };
59 
60 
61 #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:230
math::XYZPoint Point
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 const Point & vertex() const =0
vertex position
virtual TrackingParticle::Vector momentum(const edm::Event &iEvent, const edm::EventSetup &iSetup, const reco::Candidate &tp) const
virtual int charge() const =0
electric charge
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
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< float > > LorentzVector
Definition: analysisEnums.h:9
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
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
virtual const LorentzVector & p4() const =0
four-momentum Lorentz vector