CMS 3D CMS Logo

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

#include <KinematicParticleFactoryFromTransientTrack.h>

Public Member Functions

 KinematicParticleFactoryFromTransientTrack ()
 
 KinematicParticleFactoryFromTransientTrack (KinematicStatePropagator *pr)
 
RefCountedKinematicParticle particle (const reco::TransientTrack &initialTrack, const ParticleMass &massGuess, float chiSquared, float degreesOfFr, float &m_sigma) const
 
RefCountedKinematicParticle particle (const reco::TransientTrack &initialTrack, const ParticleMass &massGuess, float chiSquared, float degreesOfFr, float &m_sigma, const FreeTrajectoryState &freestate) const
 
RefCountedKinematicParticle particle (const reco::TransientTrack &initialTrack, const ParticleMass &massGuess, float chiSquared, float degreesOfFr, const GlobalPoint &expPoint, float m_sigma) const
 
RefCountedKinematicParticle particle (const KinematicState &kineState, float &chiSquared, float &ndf, ReferenceCountingPointer< KinematicParticle > previousParticle, KinematicConstraint *lastConstraint=0) const
 
 ~KinematicParticleFactoryFromTransientTrack ()
 

Private Attributes

TransientTrackKinematicStateBuilder builder
 
KinematicStatePropagatorpropagator
 

Detailed Description

.Factory for KinematicParticle RefCountedPointers

Definition at line 17 of file KinematicParticleFactoryFromTransientTrack.h.

Constructor & Destructor Documentation

KinematicParticleFactoryFromTransientTrack::KinematicParticleFactoryFromTransientTrack ( )
KinematicParticleFactoryFromTransientTrack::KinematicParticleFactoryFromTransientTrack ( KinematicStatePropagator pr)

Factory constructor taking a KinematicStatePropagator

Definition at line 7 of file KinematicParticleFactoryFromTransientTrack.cc.

References KinematicStatePropagator::clone(), and propagator.

8 {
9  if(pr != nullptr)
10  {
11  propagator = pr->clone();
12  }else{
14  }
15 }
virtual KinematicStatePropagator * clone() const =0
KinematicParticleFactoryFromTransientTrack::~KinematicParticleFactoryFromTransientTrack ( )
inline

Default destructor

Definition at line 34 of file KinematicParticleFactoryFromTransientTrack.h.

References particle(), and propagator.

Member Function Documentation

RefCountedKinematicParticle KinematicParticleFactoryFromTransientTrack::particle ( const reco::TransientTrack initialTrack,
const ParticleMass massGuess,
float  chiSquared,
float  degreesOfFr,
float &  m_sigma 
) const

Particle constructed out of corresponding TransientTrack, mass guess and sigma, chi2 and ndf. KinematicState is created at the point where TransientTrack is defined.

Definition at line 17 of file KinematicParticleFactoryFromTransientTrack.cc.

References builder, propagator, and HiIsolationCommonParameters_cff::track.

Referenced by KineExample::analyze(), BPHKinematicFit::buildParticles(), PFTau3ProngReco::produce(), ConversionVertexFinder::run(), and ~KinematicParticleFactoryFromTransientTrack().

22 {
23 // cout<<"calling the state builder"<<endl;
24  KinematicState initState = builder(initialTrack,massGuess, m_sigma);
25  const reco::TransientTrack * track = &initialTrack;
26  KinematicConstraint * lastConstraint = nullptr;
27  ReferenceCountingPointer<KinematicParticle> previousParticle = nullptr;
29  chiSquared,degreesOfFr, lastConstraint, previousParticle, propagator, track));
30 }
RefCountedKinematicParticle KinematicParticleFactoryFromTransientTrack::particle ( const reco::TransientTrack initialTrack,
const ParticleMass massGuess,
float  chiSquared,
float  degreesOfFr,
float &  m_sigma,
const FreeTrajectoryState freestate 
) const

Particle constructed out of corresponding TransientTrack, mass guess and sigma, chi2 and ndf. KinematicState is created from the given FreeTrajectoryState

Definition at line 32 of file KinematicParticleFactoryFromTransientTrack.cc.

References builder, propagator, and HiIsolationCommonParameters_cff::track.

38 {
39 // cout<<"calling the state builder"<<endl;
40  KinematicState initState = builder(freestate,massGuess, m_sigma);
41  const reco::TransientTrack * track = &initialTrack;
42  KinematicConstraint * lastConstraint = nullptr;
43  ReferenceCountingPointer<KinematicParticle> previousParticle = nullptr;
45  chiSquared,degreesOfFr, lastConstraint, previousParticle, propagator, track));
46 }
RefCountedKinematicParticle KinematicParticleFactoryFromTransientTrack::particle ( const reco::TransientTrack initialTrack,
const ParticleMass massGuess,
float  chiSquared,
float  degreesOfFr,
const GlobalPoint expPoint,
float  m_sigma 
) const

Particle is constructed out of corresponding TransientTrack, mass_guess and sigma, chi2 and ndf. KinematicState is then propagated to the given point

Definition at line 48 of file KinematicParticleFactoryFromTransientTrack.cc.

References builder, reco::TransientTrack::impactPointTSCP(), propagator, TrajectoryStateClosestToPoint::theState(), and HiIsolationCommonParameters_cff::track.

54 {
55 // FreeTrajectoryState st(initialTrack.impactPointTSCP().theState());
56  KinematicState initState = builder(initialTrack.impactPointTSCP().theState(), massGuess, m_sigma, expPoint);
57  const reco::TransientTrack * track = &initialTrack;
58  KinematicConstraint * lastConstraint = nullptr;
59  ReferenceCountingPointer<KinematicParticle> previousParticle = nullptr;
61  chiSquared,degreesOfFr, lastConstraint, previousParticle, propagator, track));
62 }
TrajectoryStateClosestToPoint impactPointTSCP() const
const FreeTrajectoryState & theState() const
RefCountedKinematicParticle KinematicParticleFactoryFromTransientTrack::particle ( const KinematicState kineState,
float &  chiSquared,
float &  ndf,
ReferenceCountingPointer< KinematicParticle previousParticle,
KinematicConstraint lastConstraint = 0 
) const

Particle is consructed directly from its KinematicState, chi2 and related information. If no previous provided, initial and currnt kinemtic states of the particle will match, othereise, initial state will be taken from previous particle.

Definition at line 65 of file KinematicParticleFactoryFromTransientTrack.cc.

References TransientTrackKinematicParticle::initialTransientTrack(), propagator, and HiIsolationCommonParameters_cff::track.

70 {
72  KinematicParticle * prp = &(*previousParticle);
73 // FIXME
74 // if(previousParticle.isValid()){
76  if(pr == nullptr){
77  throw VertexException("KinematicParticleFactoryFromTransientTrack::Previous particle passed is not TransientTrack based!");
78  }else{track = pr->initialTransientTrack();}
79 // }else{track = 0;}
81  chiSquared, degreesOfFr, lastConstraint, previousParticle, propagator, track));
82 }
const reco::TransientTrack * initialTransientTrack() const
Common base class.

Member Data Documentation

TransientTrackKinematicStateBuilder KinematicParticleFactoryFromTransientTrack::builder
private

Definition at line 86 of file KinematicParticleFactoryFromTransientTrack.h.

Referenced by particle().

KinematicStatePropagator* KinematicParticleFactoryFromTransientTrack::propagator
private