CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TwoBodyDecayVirtualMeasurement.h
Go to the documentation of this file.
1 #ifndef Alignment_TwoBodyDecay_TwoBodyDecayVirtualMeasurement_h
2 #define Alignment_TwoBodyDecay_TwoBodyDecayVirtualMeasurement_h
3 
7 //#include "DataFormats/GeometryVector/interface/GlobalPoint.h"
9 
20 {
21 
22 public:
23 
25  const double primaryWidth,
26  const double secondaryMass,
27  const reco::BeamSpot& beamSpot ) :
28  thePrimaryMass( primaryMass ),
29  thePrimaryWidth( primaryWidth ),
30  theSecondaryMass( secondaryMass ),
31  theBeamSpot( beamSpot ) {}
32 
37  theBeamSpot( other.theBeamSpot ) {}
38 
39  inline const double & primaryMass( void ) const { return thePrimaryMass; }
40  inline const double & primaryWidth( void ) const { return thePrimaryWidth; }
41  inline const double & secondaryMass( void ) const { return theSecondaryMass; }
42 
43  inline const reco::BeamSpot & beamSpot( void ) const { return theBeamSpot; }
44  inline const AlgebraicVector beamSpotPosition( void ) const { return convertXYZPoint( theBeamSpot.position() ); }
45  inline const AlgebraicSymMatrix beamSpotError( void ) const { return extractBeamSpotError(); }
46 
47 private:
48 
49  inline const AlgebraicVector convertXYZPoint( const math::XYZPoint & p ) const
50  { AlgebraicVector v(3); v(1)=p.x(); v(2)=p.y(); v(3)=p.z(); return v; }
51 
53  { AlgebraicSymMatrix bse(3,0); bse[0][0] = theBeamSpot.BeamWidthX(); bse[1][1] = theBeamSpot.BeamWidthY(); bse[2][2] = theBeamSpot.sigmaZ(); return bse; }
54 
55  const double & thePrimaryMass;
56  const double & thePrimaryWidth;
57  const double & theSecondaryMass;
59 
60 };
61 
62 #endif
const AlgebraicVector convertXYZPoint(const math::XYZPoint &p) const
const AlgebraicVector beamSpotPosition(void) const
TwoBodyDecayVirtualMeasurement(const TwoBodyDecayVirtualMeasurement &other)
const reco::BeamSpot & beamSpot(void) const
double BeamWidthX() const
beam width X
Definition: BeamSpot.h:87
const AlgebraicSymMatrix beamSpotError(void) const
CLHEP::HepVector AlgebraicVector
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:13
double sigmaZ() const
sigma z
Definition: BeamSpot.h:81
double BeamWidthY() const
beam width Y
Definition: BeamSpot.h:89
const AlgebraicSymMatrix extractBeamSpotError() const
CLHEP::HepSymMatrix AlgebraicSymMatrix
const Point & position() const
position
Definition: BeamSpot.h:63
TwoBodyDecayVirtualMeasurement(const double primaryMass, const double primaryWidth, const double secondaryMass, const reco::BeamSpot &beamSpot)
mathSSE::Vec4< T > v