ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/IPHCalignment2/Alignment/TwoBodyDecay/interface/TwoBodyDecayVirtualMeasurement.h
Revision: 1.1
Committed: Fri Nov 25 17:10:51 2011 UTC (13 years, 5 months ago) by econte
Content type: text/plain
Branch: MAIN
CVS Tags: TBD2011, TBD_2011, HEAD
Log Message:
TwoBodyDecay modif

File Contents

# Content
1 #ifndef Alignment_TwoBodyDecay_TwoBodyDecayVirtualMeasurement_h
2 #define Alignment_TwoBodyDecay_TwoBodyDecayVirtualMeasurement_h
3
4 #include "DataFormats/CLHEP/interface/AlgebraicObjects.h"
5 #include "DataFormats/GeometryCommonDetAlgo/interface/GlobalError.h"
6 #include "DataFormats/Math/interface/Point3D.h"
7 //#include "DataFormats/GeometryVector/interface/GlobalPoint.h"
8 #include "DataFormats/BeamSpot/interface/BeamSpot.h"
9
10 /** /class TwoBodyDecayVirtualMeasurement
11 *
12 * Container-class for the virtual measurements (beam profile, mass-constraint) included
13 * into the estimation of the properties of two-body decays (see TwoBodyDecayEstimator).
14 *
15 * /author Edmund Widl
16 */
17
18
19 class TwoBodyDecayVirtualMeasurement
20 {
21
22 public:
23
24 TwoBodyDecayVirtualMeasurement( const double primaryMass,
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
33 TwoBodyDecayVirtualMeasurement( const TwoBodyDecayVirtualMeasurement & other ) :
34 thePrimaryMass( other.thePrimaryMass ),
35 thePrimaryWidth( other.thePrimaryWidth ),
36 theSecondaryMass( other.theSecondaryMass ),
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
52 inline const AlgebraicSymMatrix extractBeamSpotError() const
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;
58 const reco::BeamSpot & theBeamSpot;
59
60 };
61
62 #endif