CMS 3D CMS Logo

Public Member Functions | Private Types | Private Attributes

TwoBodyDecayFitter Class Reference

#include <TwoBodyDecayFitter.h>

List of all members.

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
TwoBodyDecayLinearizationPointFinder
linearizationPointFinder (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
TwoBodyDecayEstimator
theEstimator
DeepCopyPointerByClone< const
TwoBodyDecayLinearizationPointFinder
theLinPointFinder
LinearizedTrackStateFactory theLinTrackStateFactory
DeepCopyPointerByClone< const
LinearizationPointFinder
theVertexFinder

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)
TwoBodyDecayFitter::TwoBodyDecayFitter ( const edm::ParameterSet config,
const LinearizationPointFinder vf,
const TwoBodyDecayLinearizationPointFinder lpf,
const TwoBodyDecayEstimator est 
)

Definition at line 9 of file TwoBodyDecayFitter.cc.

                                                                           :
  theVertexFinder( vf->clone() ),
  theLinPointFinder( lpf->clone() ),
  theEstimator( est->clone() ) {}
TwoBodyDecayFitter::~TwoBodyDecayFitter ( void  ) [virtual]

Definition at line 18 of file TwoBodyDecayFitter.cc.

{}

Member Function Documentation

virtual TwoBodyDecayFitter* TwoBodyDecayFitter::clone ( void  ) const [inline, virtual]

Definition at line 47 of file TwoBodyDecayFitter.h.

References TwoBodyDecayFitter().

{ return new TwoBodyDecayFitter( *this ); }
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 LinearizedTrackStateFactory::linearizedTrackState(), TwoBodyDecayVirtualMeasurement::primaryMass(), TwoBodyDecayVirtualMeasurement::secondaryMass(), theEstimator, theLinPointFinder, theLinTrackStateFactory, and theVertexFinder.

{
  // get geometrical linearization point
  std::vector< FreeTrajectoryState > freeTrajStates;
  freeTrajStates.push_back( *tsos[0].freeState() );
  freeTrajStates.push_back( *tsos[1].freeState() );
  GlobalPoint linVertex = theVertexFinder->getLinearizationPoint( freeTrajStates );

  // create linearized track states
  std::vector< RefCountedLinearizedTrackState > linTracks;
  linTracks.push_back( theLinTrackStateFactory.linearizedTrackState( linVertex, tracks[0], tsos[0] ) );
  linTracks.push_back( theLinTrackStateFactory.linearizedTrackState( linVertex, tracks[1], tsos[1] ) );

  // get full linearization point (geomatrical & kinematical)
  const TwoBodyDecayParameters linPoint = theLinPointFinder->getLinearizationPoint( linTracks, vm.primaryMass(), vm.secondaryMass() );

  // make the fit
  return theEstimator->estimate( linTracks, linPoint, vm );
}
const TwoBodyDecay TwoBodyDecayFitter::estimate ( const std::vector< reco::TransientTrack > &  tracks,
const TwoBodyDecayVirtualMeasurement vm 
) const [virtual]

Definition at line 21 of file TwoBodyDecayFitter.cc.

References LinearizedTrackStateFactory::linearizedTrackState(), TwoBodyDecayVirtualMeasurement::primaryMass(), TwoBodyDecayVirtualMeasurement::secondaryMass(), theEstimator, theLinPointFinder, theLinTrackStateFactory, and theVertexFinder.

Referenced by TwoBodyDecayTrajectoryFactory::trajectories().

{
  // get geometrical linearization point
  GlobalPoint linVertex = theVertexFinder->getLinearizationPoint( tracks );

  // create linearized track states
  std::vector< RefCountedLinearizedTrackState > linTracks;
  linTracks.push_back( theLinTrackStateFactory.linearizedTrackState( linVertex, tracks[0] ) );
  linTracks.push_back( theLinTrackStateFactory.linearizedTrackState( linVertex, tracks[1] ) );

  // get full linearization point (geomatrical & kinematical)
  const TwoBodyDecayParameters linPoint = theLinPointFinder->getLinearizationPoint( linTracks, vm.primaryMass(), vm.secondaryMass() );

  // make the fit
  return theEstimator->estimate( linTracks, linPoint, vm );
}
const TwoBodyDecayEstimator* TwoBodyDecayFitter::estimator ( void  ) const [inline]

Definition at line 44 of file TwoBodyDecayFitter.h.

References theEstimator.

{ return theEstimator.operator->(); }
const TwoBodyDecayLinearizationPointFinder* TwoBodyDecayFitter::linearizationPointFinder ( void  ) const [inline]

Definition at line 43 of file TwoBodyDecayFitter.h.

References theLinPointFinder.

{ return theLinPointFinder.operator->(); }
const LinearizationPointFinder* TwoBodyDecayFitter::vertexFinder ( void  ) const [inline]

Definition at line 45 of file TwoBodyDecayFitter.h.

References theVertexFinder.

{ return theVertexFinder.operator->(); }

Member Data Documentation

Definition at line 55 of file TwoBodyDecayFitter.h.

Referenced by estimate(), and estimator().

Definition at line 54 of file TwoBodyDecayFitter.h.

Referenced by estimate(), and linearizationPointFinder().

Definition at line 57 of file TwoBodyDecayFitter.h.

Referenced by estimate().

Definition at line 53 of file TwoBodyDecayFitter.h.

Referenced by estimate(), and vertexFinder().