CMS 3D CMS Logo

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 public:
22  const double primaryWidth,
23  const double secondaryMass,
24  const reco::BeamSpot &beamSpot)
25  : thePrimaryMass(primaryMass),
26  thePrimaryWidth(primaryWidth),
27  theSecondaryMass(secondaryMass),
28  theBeamSpot(beamSpot) {}
29 
34  theBeamSpot(other.theBeamSpot) {}
35 
36  inline const double &primaryMass(void) const { return thePrimaryMass; }
37  inline const double &primaryWidth(void) const { return thePrimaryWidth; }
38  inline const double &secondaryMass(void) const { return theSecondaryMass; }
39 
40  inline const reco::BeamSpot &beamSpot(void) const { return theBeamSpot; }
41  inline const AlgebraicVector beamSpotPosition(void) const { return convertXYZPoint(theBeamSpot.position()); }
42  inline const AlgebraicSymMatrix beamSpotError(void) const { return extractBeamSpotError(); }
43 
44 private:
45  inline const AlgebraicVector convertXYZPoint(const math::XYZPoint &p) const {
46  AlgebraicVector v(3);
47  v(1) = p.x();
48  v(2) = p.y();
49  v(3) = p.z();
50  return v;
51  }
52 
54  AlgebraicSymMatrix bse(3, 0);
55  bse[0][0] = theBeamSpot.BeamWidthX();
56  bse[1][1] = theBeamSpot.BeamWidthY();
57  bse[2][2] = theBeamSpot.sigmaZ();
58  return bse;
59  }
60 
61  const double thePrimaryMass;
62  const double thePrimaryWidth;
63  const double theSecondaryMass;
65 };
66 
67 #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:86
const AlgebraicSymMatrix beamSpotError(void) const
CLHEP::HepVector AlgebraicVector
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
double sigmaZ() const
sigma z
Definition: BeamSpot.h:80
double BeamWidthY() const
beam width Y
Definition: BeamSpot.h:88
const AlgebraicSymMatrix extractBeamSpotError() const
CLHEP::HepSymMatrix AlgebraicSymMatrix
const Point & position() const
position
Definition: BeamSpot.h:62
TwoBodyDecayVirtualMeasurement(const double primaryMass, const double primaryWidth, const double secondaryMass, const reco::BeamSpot &beamSpot)