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 std::vector< TrajectoryStateOnSurface > &tsos, const TwoBodyDecayVirtualMeasurement &vm) const
 
virtual const TwoBodyDecay estimate (const std::vector< reco::TransientTrack > &tracks, 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 21 of file TwoBodyDecayFitter.h.

Member Typedef Documentation

◆ RefCountedLinearizedTrackState

Definition at line 48 of file TwoBodyDecayFitter.h.

Constructor & Destructor Documentation

◆ TwoBodyDecayFitter() [1/2]

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

◆ TwoBodyDecayFitter() [2/2]

TwoBodyDecayFitter::TwoBodyDecayFitter ( const edm::ParameterSet config,
const LinearizationPointFinder vf,
const TwoBodyDecayLinearizationPointFinder lpf,
const TwoBodyDecayEstimator est 
)

Definition at line 8 of file TwoBodyDecayFitter.cc.

12  : theVertexFinder(vf->clone()), theLinPointFinder(lpf->clone()), theEstimator(est->clone()) {}

◆ ~TwoBodyDecayFitter()

TwoBodyDecayFitter::~TwoBodyDecayFitter ( void  )
virtual

Definition at line 14 of file TwoBodyDecayFitter.cc.

14 {}

Member Function Documentation

◆ clone()

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

Definition at line 45 of file TwoBodyDecayFitter.h.

45 { return new TwoBodyDecayFitter(*this); }

References TwoBodyDecayFitter().

◆ estimate() [1/2]

const TwoBodyDecay TwoBodyDecayFitter::estimate ( const std::vector< reco::TransientTrack > &  tracks,
const std::vector< TrajectoryStateOnSurface > &  tsos,
const TwoBodyDecayVirtualMeasurement vm 
) const
virtual

Definition at line 34 of file TwoBodyDecayFitter.cc.

36  {
37  // get geometrical linearization point
38  std::vector<FreeTrajectoryState> freeTrajStates;
39  freeTrajStates.push_back(*tsos[0].freeState());
40  freeTrajStates.push_back(*tsos[1].freeState());
41  GlobalPoint linVertex = theVertexFinder->getLinearizationPoint(freeTrajStates);
42 
43  // create linearized track states
44  std::vector<RefCountedLinearizedTrackState> linTracks;
45  linTracks.push_back(theLinTrackStateFactory.linearizedTrackState(linVertex, tracks[0], tsos[0]));
46  linTracks.push_back(theLinTrackStateFactory.linearizedTrackState(linVertex, tracks[1], tsos[1]));
47 
48  // get full linearization point (geomatrical & kinematical)
49  const TwoBodyDecayParameters linPoint =
51 
52  // make the fit
53  return theEstimator->estimate(linTracks, linPoint, vm);
54 }

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

◆ estimate() [2/2]

const TwoBodyDecay TwoBodyDecayFitter::estimate ( const std::vector< reco::TransientTrack > &  tracks,
const TwoBodyDecayVirtualMeasurement vm 
) const
virtual

Definition at line 16 of file TwoBodyDecayFitter.cc.

17  {
18  // get geometrical linearization point
20 
21  // create linearized track states
22  std::vector<RefCountedLinearizedTrackState> linTracks;
23  linTracks.push_back(theLinTrackStateFactory.linearizedTrackState(linVertex, tracks[0]));
24  linTracks.push_back(theLinTrackStateFactory.linearizedTrackState(linVertex, tracks[1]));
25 
26  // get full linearization point (geomatrical & kinematical)
27  const TwoBodyDecayParameters linPoint =
29 
30  // make the fit
31  return theEstimator->estimate(linTracks, linPoint, vm);
32 }

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

Referenced by TwoBodyDecayConstraintProducer::produce(), TwoBodyDecayMomConstraintProducer::produce(), and TwoBodyDecayTrajectoryFactory::trajectories().

◆ estimator()

const TwoBodyDecayEstimator* TwoBodyDecayFitter::estimator ( void  ) const
inline

Definition at line 42 of file TwoBodyDecayFitter.h.

42 { return theEstimator.operator->(); }

References theEstimator.

◆ linearizationPointFinder()

const TwoBodyDecayLinearizationPointFinder* TwoBodyDecayFitter::linearizationPointFinder ( void  ) const
inline

Definition at line 39 of file TwoBodyDecayFitter.h.

39  {
40  return theLinPointFinder.operator->();
41  }

References theLinPointFinder.

◆ vertexFinder()

const LinearizationPointFinder* TwoBodyDecayFitter::vertexFinder ( void  ) const
inline

Definition at line 43 of file TwoBodyDecayFitter.h.

43 { return theVertexFinder.operator->(); }

References theVertexFinder.

Member Data Documentation

◆ theEstimator

DeepCopyPointerByClone<const TwoBodyDecayEstimator> TwoBodyDecayFitter::theEstimator
private

Definition at line 52 of file TwoBodyDecayFitter.h.

Referenced by estimate(), and estimator().

◆ theLinPointFinder

DeepCopyPointerByClone<const TwoBodyDecayLinearizationPointFinder> TwoBodyDecayFitter::theLinPointFinder
private

Definition at line 51 of file TwoBodyDecayFitter.h.

Referenced by estimate(), and linearizationPointFinder().

◆ theLinTrackStateFactory

LinearizedTrackStateFactory TwoBodyDecayFitter::theLinTrackStateFactory
private

Definition at line 54 of file TwoBodyDecayFitter.h.

Referenced by estimate().

◆ theVertexFinder

DeepCopyPointerByClone<const LinearizationPointFinder> TwoBodyDecayFitter::theVertexFinder
private

Definition at line 50 of file TwoBodyDecayFitter.h.

Referenced by estimate(), and vertexFinder().

TwoBodyDecayLinearizationPointFinder
Definition: TwoBodyDecayLinearizationPointFinder.h:15
TwoBodyDecayEstimator::estimate
virtual TwoBodyDecay estimate(const std::vector< RefCountedLinearizedTrackState > &linTracks, const TwoBodyDecayParameters &linearizationPoint, const TwoBodyDecayVirtualMeasurement &vm) const
Definition: TwoBodyDecayEstimator.cc:20
TwoBodyDecayFitter::TwoBodyDecayFitter
TwoBodyDecayFitter(const edm::ParameterSet &config)
Definition: TwoBodyDecayFitter.cc:3
LinearizedTrackStateFactory::linearizedTrackState
RefCountedLinearizedTrackState linearizedTrackState(const GlobalPoint &linP, const reco::TransientTrack &track) const override
Definition: LinearizedTrackStateFactory.cc:9
config
Definition: config.py:1
Point3DBase< float, GlobalTag >
TwoBodyDecayFitter::theLinTrackStateFactory
LinearizedTrackStateFactory theLinTrackStateFactory
Definition: TwoBodyDecayFitter.h:54
TwoBodyDecayFitter::theLinPointFinder
DeepCopyPointerByClone< const TwoBodyDecayLinearizationPointFinder > theLinPointFinder
Definition: TwoBodyDecayFitter.h:51
tracks
const uint32_t *__restrict__ const HitContainer *__restrict__ TkSoA *__restrict__ tracks
Definition: CAHitNtupletGeneratorKernelsImpl.h:159
TwoBodyDecayLinearizationPointFinder::getLinearizationPoint
virtual const TwoBodyDecayParameters getLinearizationPoint(const std::vector< RefCountedLinearizedTrackState > &tracks, const double primaryMass, const double secondaryMass) const
Definition: TwoBodyDecayLinearizationPointFinder.cc:6
TwoBodyDecayParameters
Definition: TwoBodyDecayParameters.h:14
TwoBodyDecayFitter::theEstimator
DeepCopyPointerByClone< const TwoBodyDecayEstimator > theEstimator
Definition: TwoBodyDecayFitter.h:52
DefaultLinearizationPointFinder
Definition: DefaultLinearizationPointFinder.h:13
TwoBodyDecayEstimator::clone
virtual TwoBodyDecayEstimator * clone(void) const
Definition: TwoBodyDecayEstimator.h:34
TwoBodyDecayVirtualMeasurement::primaryMass
const double & primaryMass(void) const
Definition: TwoBodyDecayVirtualMeasurement.h:36
LinearizationPointFinder::clone
virtual LinearizationPointFinder * clone() const =0
TwoBodyDecayVirtualMeasurement::secondaryMass
const double & secondaryMass(void) const
Definition: TwoBodyDecayVirtualMeasurement.h:38
TwoBodyDecayFitter::theVertexFinder
DeepCopyPointerByClone< const LinearizationPointFinder > theVertexFinder
Definition: TwoBodyDecayFitter.h:50
LinearizationPointFinder::getLinearizationPoint
virtual GlobalPoint getLinearizationPoint(const std::vector< reco::TransientTrack > &) const =0
TwoBodyDecayEstimator
Definition: TwoBodyDecayEstimator.h:20
TwoBodyDecayLinearizationPointFinder::clone
virtual TwoBodyDecayLinearizationPointFinder * clone(void) const
Definition: TwoBodyDecayLinearizationPointFinder.h:27