CMS 3D CMS Logo

List of all members | Public Member Functions | Private Types | Private Attributes
TwoBodyDecayFitter Class Reference

#include <TwoBodyDecayFitter.h>

Public Member Functions

virtual TwoBodyDecayFitterclone (void) const
 
virtual const TwoBodyDecay estimate (const std::vector< reco::TransientTrack > &tracks, const TwoBodyDecayVirtualMeasurement &vm) const
 
virtual const TwoBodyDecay estimate (const std::vector< reco::TransientTrack > &tracks, const std::vector< TrajectoryStateOnSurface > &tsos, const TwoBodyDecayVirtualMeasurement &vm) const
 
const TwoBodyDecayEstimatorestimator (void) const
 
const TwoBodyDecayLinearizationPointFinderlinearizationPointFinder (void) const
 
 TwoBodyDecayFitter (const edm::ParameterSet &config)
 
 TwoBodyDecayFitter (const edm::ParameterSet &config, const LinearizationPointFinder *vf, const TwoBodyDecayLinearizationPointFinder *lpf, const TwoBodyDecayEstimator *est)
 
const LinearizationPointFindervertexFinder (void) const
 
virtual ~TwoBodyDecayFitter (void)
 

Private Types

typedef PerigeeLinearizedTrackState::RefCountedLinearizedTrackState RefCountedLinearizedTrackState
 

Private Attributes

DeepCopyPointerByClone< const TwoBodyDecayEstimatortheEstimator
 
DeepCopyPointerByClone< const TwoBodyDecayLinearizationPointFindertheLinPointFinder
 
LinearizedTrackStateFactory theLinTrackStateFactory
 
DeepCopyPointerByClone< const LinearizationPointFindertheVertexFinder
 

Detailed Description

/class TwoBodyDecayFitter

/author Edmund Widl

Definition at line 22 of file TwoBodyDecayFitter.h.

Member Typedef Documentation

Definition at line 51 of file TwoBodyDecayFitter.h.

Constructor & Destructor Documentation

TwoBodyDecayFitter::TwoBodyDecayFitter ( const edm::ParameterSet config)

Definition at line 3 of file TwoBodyDecayFitter.cc.

Referenced by clone().

3  :
6  theEstimator( new TwoBodyDecayEstimator( config ) ) {}
DeepCopyPointerByClone< const TwoBodyDecayLinearizationPointFinder > theLinPointFinder
DeepCopyPointerByClone< const LinearizationPointFinder > theVertexFinder
DeepCopyPointerByClone< const TwoBodyDecayEstimator > theEstimator
TwoBodyDecayFitter::TwoBodyDecayFitter ( const edm::ParameterSet config,
const LinearizationPointFinder vf,
const TwoBodyDecayLinearizationPointFinder lpf,
const TwoBodyDecayEstimator est 
)

Definition at line 9 of file TwoBodyDecayFitter.cc.

12  :
13  theVertexFinder( vf->clone() ),
14  theLinPointFinder( lpf->clone() ),
15  theEstimator( est->clone() ) {}
DeepCopyPointerByClone< const TwoBodyDecayLinearizationPointFinder > theLinPointFinder
virtual TwoBodyDecayLinearizationPointFinder * clone(void) const
DeepCopyPointerByClone< const LinearizationPointFinder > theVertexFinder
virtual LinearizationPointFinder * clone() const =0
DeepCopyPointerByClone< const TwoBodyDecayEstimator > theEstimator
virtual TwoBodyDecayEstimator * clone(void) const
TwoBodyDecayFitter::~TwoBodyDecayFitter ( void  )
virtual

Definition at line 18 of file TwoBodyDecayFitter.cc.

18 {}

Member Function Documentation

virtual TwoBodyDecayFitter* TwoBodyDecayFitter::clone ( void  ) const
inlinevirtual

Definition at line 47 of file TwoBodyDecayFitter.h.

References TwoBodyDecayFitter().

47 { return new TwoBodyDecayFitter( *this ); }
TwoBodyDecayFitter(const edm::ParameterSet &config)
const TwoBodyDecay TwoBodyDecayFitter::estimate ( const std::vector< reco::TransientTrack > &  tracks,
const TwoBodyDecayVirtualMeasurement vm 
) const
virtual

Definition at line 21 of file TwoBodyDecayFitter.cc.

References TwoBodyDecayEstimator::estimate(), LinearizationPointFinder::getLinearizationPoint(), TwoBodyDecayLinearizationPointFinder::getLinearizationPoint(), LinearizedTrackStateFactory::linearizedTrackState(), TwoBodyDecayVirtualMeasurement::primaryMass(), TwoBodyDecayVirtualMeasurement::secondaryMass(), theEstimator, theLinPointFinder, theLinTrackStateFactory, and theVertexFinder.

Referenced by TwoBodyDecayTrajectoryFactory::trajectories().

23 {
24  // get geometrical linearization point
26 
27  // create linearized track states
28  std::vector< RefCountedLinearizedTrackState > linTracks;
29  linTracks.push_back( theLinTrackStateFactory.linearizedTrackState( linVertex, tracks[0] ) );
30  linTracks.push_back( theLinTrackStateFactory.linearizedTrackState( linVertex, tracks[1] ) );
31 
32  // get full linearization point (geomatrical & kinematical)
34 
35  // make the fit
36  return theEstimator->estimate( linTracks, linPoint, vm );
37 }
virtual const TwoBodyDecayParameters getLinearizationPoint(const std::vector< RefCountedLinearizedTrackState > &tracks, const double primaryMass, const double secondaryMass) const
virtual TwoBodyDecay estimate(const std::vector< RefCountedLinearizedTrackState > &linTracks, const TwoBodyDecayParameters &linearizationPoint, const TwoBodyDecayVirtualMeasurement &vm) const
DeepCopyPointerByClone< const TwoBodyDecayLinearizationPointFinder > theLinPointFinder
DeepCopyPointerByClone< const LinearizationPointFinder > theVertexFinder
DeepCopyPointerByClone< const TwoBodyDecayEstimator > theEstimator
virtual GlobalPoint getLinearizationPoint(const std::vector< reco::TransientTrack > &) const =0
RefCountedLinearizedTrackState linearizedTrackState(const GlobalPoint &linP, const reco::TransientTrack &track) const override
LinearizedTrackStateFactory theLinTrackStateFactory
const TwoBodyDecay TwoBodyDecayFitter::estimate ( const std::vector< reco::TransientTrack > &  tracks,
const std::vector< TrajectoryStateOnSurface > &  tsos,
const TwoBodyDecayVirtualMeasurement vm 
) const
virtual

Definition at line 40 of file TwoBodyDecayFitter.cc.

References TwoBodyDecayEstimator::estimate(), LinearizationPointFinder::getLinearizationPoint(), TwoBodyDecayLinearizationPointFinder::getLinearizationPoint(), LinearizedTrackStateFactory::linearizedTrackState(), TwoBodyDecayVirtualMeasurement::primaryMass(), TwoBodyDecayVirtualMeasurement::secondaryMass(), theEstimator, theLinPointFinder, theLinTrackStateFactory, and theVertexFinder.

43 {
44  // get geometrical linearization point
45  std::vector< FreeTrajectoryState > freeTrajStates;
46  freeTrajStates.push_back( *tsos[0].freeState() );
47  freeTrajStates.push_back( *tsos[1].freeState() );
48  GlobalPoint linVertex = theVertexFinder->getLinearizationPoint( freeTrajStates );
49 
50  // create linearized track states
51  std::vector< RefCountedLinearizedTrackState > linTracks;
52  linTracks.push_back( theLinTrackStateFactory.linearizedTrackState( linVertex, tracks[0], tsos[0] ) );
53  linTracks.push_back( theLinTrackStateFactory.linearizedTrackState( linVertex, tracks[1], tsos[1] ) );
54 
55  // get full linearization point (geomatrical & kinematical)
57 
58  // make the fit
59  return theEstimator->estimate( linTracks, linPoint, vm );
60 }
virtual const TwoBodyDecayParameters getLinearizationPoint(const std::vector< RefCountedLinearizedTrackState > &tracks, const double primaryMass, const double secondaryMass) const
virtual TwoBodyDecay estimate(const std::vector< RefCountedLinearizedTrackState > &linTracks, const TwoBodyDecayParameters &linearizationPoint, const TwoBodyDecayVirtualMeasurement &vm) const
DeepCopyPointerByClone< const TwoBodyDecayLinearizationPointFinder > theLinPointFinder
DeepCopyPointerByClone< const LinearizationPointFinder > theVertexFinder
DeepCopyPointerByClone< const TwoBodyDecayEstimator > theEstimator
virtual GlobalPoint getLinearizationPoint(const std::vector< reco::TransientTrack > &) const =0
RefCountedLinearizedTrackState linearizedTrackState(const GlobalPoint &linP, const reco::TransientTrack &track) const override
LinearizedTrackStateFactory theLinTrackStateFactory
const TwoBodyDecayEstimator* TwoBodyDecayFitter::estimator ( void  ) const
inline

Definition at line 44 of file TwoBodyDecayFitter.h.

References theEstimator.

44 { return theEstimator.operator->(); }
DeepCopyPointerByClone< const TwoBodyDecayEstimator > theEstimator
const TwoBodyDecayLinearizationPointFinder* TwoBodyDecayFitter::linearizationPointFinder ( void  ) const
inline

Definition at line 43 of file TwoBodyDecayFitter.h.

References theLinPointFinder.

43 { return theLinPointFinder.operator->(); }
DeepCopyPointerByClone< const TwoBodyDecayLinearizationPointFinder > theLinPointFinder
const LinearizationPointFinder* TwoBodyDecayFitter::vertexFinder ( void  ) const
inline

Definition at line 45 of file TwoBodyDecayFitter.h.

References theVertexFinder.

45 { return theVertexFinder.operator->(); }
DeepCopyPointerByClone< const LinearizationPointFinder > theVertexFinder

Member Data Documentation

DeepCopyPointerByClone< const TwoBodyDecayEstimator > TwoBodyDecayFitter::theEstimator
private

Definition at line 55 of file TwoBodyDecayFitter.h.

Referenced by estimate(), and estimator().

DeepCopyPointerByClone< const TwoBodyDecayLinearizationPointFinder > TwoBodyDecayFitter::theLinPointFinder
private

Definition at line 54 of file TwoBodyDecayFitter.h.

Referenced by estimate(), and linearizationPointFinder().

LinearizedTrackStateFactory TwoBodyDecayFitter::theLinTrackStateFactory
private

Definition at line 57 of file TwoBodyDecayFitter.h.

Referenced by estimate().

DeepCopyPointerByClone< const LinearizationPointFinder > TwoBodyDecayFitter::theVertexFinder
private

Definition at line 53 of file TwoBodyDecayFitter.h.

Referenced by estimate(), and vertexFinder().