CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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=nullptr) const
 
 ~KinematicParticleFactoryFromTransientTrack ()
 

Private Attributes

TransientTrackKinematicStateBuilder builder
 
KinematicStatePropagatorpropagator
 

Detailed Description

.Factory for KinematicParticle RefCountedPointers

Definition at line 16 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.

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

Default destructor

Definition at line 31 of file KinematicParticleFactoryFromTransientTrack.h.

References 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 15 of file KinematicParticleFactoryFromTransientTrack.cc.

References builder, propagator, and HLT_FULL_cff::track.

Referenced by BPHKinematicFit::addParticles(), KineExample::analyze(), PFTau3ProngReco::produce(), and ConversionVertexFinder::run().

20  {
21  // cout<<"calling the state builder"<<endl;
22  KinematicState initState = builder(initialTrack, massGuess, m_sigma);
23  const reco::TransientTrack* track = &initialTrack;
24  KinematicConstraint* lastConstraint = nullptr;
25  ReferenceCountingPointer<KinematicParticle> previousParticle = nullptr;
27  initState, chiSquared, degreesOfFr, lastConstraint, previousParticle, propagator, track));
28 }
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 30 of file KinematicParticleFactoryFromTransientTrack.cc.

References builder, propagator, and HLT_FULL_cff::track.

36  {
37  // cout<<"calling the state builder"<<endl;
38  KinematicState initState = builder(freestate, massGuess, m_sigma);
39  const reco::TransientTrack* track = &initialTrack;
40  KinematicConstraint* lastConstraint = nullptr;
41  ReferenceCountingPointer<KinematicParticle> previousParticle = nullptr;
43  initState, chiSquared, degreesOfFr, lastConstraint, previousParticle, propagator, track));
44 }
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 46 of file KinematicParticleFactoryFromTransientTrack.cc.

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

52  {
53  // FreeTrajectoryState st(initialTrack.impactPointTSCP().theState());
54  KinematicState initState = builder(initialTrack.impactPointTSCP().theState(), massGuess, m_sigma, expPoint);
55  const reco::TransientTrack* track = &initialTrack;
56  KinematicConstraint* lastConstraint = nullptr;
57  ReferenceCountingPointer<KinematicParticle> previousParticle = nullptr;
59  initState, chiSquared, degreesOfFr, lastConstraint, previousParticle, propagator, track));
60 }
TrajectoryStateClosestToPoint impactPointTSCP() const
const FreeTrajectoryState & theState() const
RefCountedKinematicParticle KinematicParticleFactoryFromTransientTrack::particle ( const KinematicState kineState,
float &  chiSquared,
float &  ndf,
ReferenceCountingPointer< KinematicParticle previousParticle,
KinematicConstraint lastConstraint = nullptr 
) 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 62 of file KinematicParticleFactoryFromTransientTrack.cc.

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

67  {
69  KinematicParticle* prp = &(*previousParticle);
70  // FIXME
71  // if(previousParticle.isValid()){
73  if (pr == nullptr) {
74  throw VertexException(
75  "KinematicParticleFactoryFromTransientTrack::Previous particle passed is not TransientTrack based!");
76  } else {
77  track = pr->initialTransientTrack();
78  }
79  // }else{track = 0;}
81  kineState, 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 83 of file KinematicParticleFactoryFromTransientTrack.h.

Referenced by particle().

KinematicStatePropagator* KinematicParticleFactoryFromTransientTrack::propagator
private