CMS 3D CMS Logo

CandKinematicVertexFitter.h
Go to the documentation of this file.
1 #ifndef RecoCandUtils_CandKinematicVertexFitter_h
2 #define RecoCandUtils_CandKinematicVertexFitter_h
3 /* \class CandKinematicVertexFitter
4  *
5  * \author Luca Lista, INFN
6  *
7  */
8 
17 #include <vector>
18 
19 class MagneticField;
20 namespace reco {
21  class VertexCompositeCandidate;
22 }
23 
25 public:
28  : bField_(nullptr), pdt_(nullptr), fitter_(), fitters_(new std::vector<CandKinematicVertexFitter>) {}
31  void set(const MagneticField *bField) { bField_ = bField; }
32  void set(const ParticleDataTable *pdt) { pdt_ = pdt; }
33  void set(reco::VertexCompositeCandidate &) const;
34  bool fit(const std::vector<RefCountedKinematicParticle> &tracks) const;
36  tree_->movePointerToTheTop();
37  return tree_->currentParticle();
38  }
39 
40 private:
43  void fill(std::vector<RefCountedKinematicParticle> &,
44  std::vector<reco::Candidate *> &,
45  std::vector<reco::RecoCandidate::TrackType> &,
46  reco::Candidate &) const;
54  mutable double chi2_;
56  mutable double ndof_;
60  std::shared_ptr<std::vector<CandKinematicVertexFitter> > fitters_;
61 };
62 
63 #endif
CandKinematicVertexFitter(const CandKinematicVertexFitter &o)
RefCountedKinematicTree tree_
fit tree
CandKinematicVertexFitter(const edm::ParameterSet &cfg)
HepPDT::ParticleDataTable ParticleDataTable
double ndof_
number of degrees of freedom
std::shared_ptr< std::vector< CandKinematicVertexFitter > > fitters_
fitters used for recursive calls
RefCountedKinematicParticle currentParticle() const
KinematicParticleVertexFitter fitter_
fitter
math::Error< dimension >::type CovarianceMatrix
covariance error matrix (3x3)
Definition: Vertex.h:46
bool fit(const std::vector< RefCountedKinematicParticle > &tracks) const
reco::Vertex::CovarianceMatrix CovarianceMatrix
CovarianceMatrix cov_
covariance matrix (3x3)
void fill(std::vector< RefCountedKinematicParticle > &, std::vector< reco::Candidate *> &, std::vector< reco::RecoCandidate::TrackType > &, reco::Candidate &) const
auto const & tracks
cannot be loose
fixed size matrix
KinematicParticleFactoryFromTransientTrack factory_
particle factor
const ParticleDataTable * pdt_