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=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() [1/2]

KinematicParticleFactoryFromTransientTrack::KinematicParticleFactoryFromTransientTrack ( )

◆ KinematicParticleFactoryFromTransientTrack() [2/2]

KinematicParticleFactoryFromTransientTrack::KinematicParticleFactoryFromTransientTrack ( KinematicStatePropagator pr)

Factory constructor taking a KinematicStatePropagator

Definition at line 7 of file KinematicParticleFactoryFromTransientTrack.cc.

References propagator.

◆ ~KinematicParticleFactoryFromTransientTrack()

KinematicParticleFactoryFromTransientTrack::~KinematicParticleFactoryFromTransientTrack ( )
inline

Default destructor

Definition at line 31 of file KinematicParticleFactoryFromTransientTrack.h.

References propagator.

Member Function Documentation

◆ particle() [1/4]

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_2022v12_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 }

◆ particle() [2/4]

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_2022v12_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 }

◆ particle() [3/4]

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_2022v12_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

◆ particle() [4/4]

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 propagator, and HLT_2022v12_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 }
Common base class.

Member Data Documentation

◆ builder

TransientTrackKinematicStateBuilder KinematicParticleFactoryFromTransientTrack::builder
private

Definition at line 83 of file KinematicParticleFactoryFromTransientTrack.h.

Referenced by particle().

◆ propagator

KinematicStatePropagator* KinematicParticleFactoryFromTransientTrack::propagator
private