File indexing completed on 2023-03-17 11:23:22
0001 #ifndef KinematicConstrainedVertexFitter_H
0002 #define KinematicConstrainedVertexFitter_H
0003
0004 #include "RecoVertex/KinematicFitPrimitives/interface/RefCountedKinematicTree.h"
0005 #include "RecoVertex/KinematicFitPrimitives/interface/MultiTrackKinematicConstraint.h"
0006 #include "RecoVertex/VertexTools/interface/LinearizationPointFinder.h"
0007 #include "RecoVertex/KinematicFit/interface/KinematicConstrainedVertexUpdator.h"
0008 #include "RecoVertex/KinematicFit/interface/VertexKinematicConstraint.h"
0009 #include "RecoVertex/KinematicFit/interface/ConstrainedTreeBuilder.h"
0010 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 class KinematicConstrainedVertexFitter {
0022 public:
0023
0024
0025
0026 KinematicConstrainedVertexFitter();
0027
0028
0029
0030
0031 KinematicConstrainedVertexFitter(const LinearizationPointFinder &fnd);
0032
0033 ~KinematicConstrainedVertexFitter();
0034
0035
0036
0037
0038
0039
0040 void setParameters(const edm::ParameterSet &pSet);
0041
0042
0043
0044
0045
0046 RefCountedKinematicTree fit(const std::vector<RefCountedKinematicParticle> &part) {
0047 return fit(part, nullptr, nullptr);
0048 }
0049
0050
0051
0052
0053 RefCountedKinematicTree fit(const std::vector<RefCountedKinematicParticle> &part, MultiTrackKinematicConstraint *cs) {
0054 return fit(part, cs, nullptr);
0055 };
0056
0057
0058
0059
0060 RefCountedKinematicTree fit(const std::vector<RefCountedKinematicParticle> &part,
0061 MultiTrackKinematicConstraint *cs,
0062 GlobalPoint *pt);
0063
0064
0065 int getNit() const;
0066
0067 float getCSum() const;
0068
0069 private:
0070 void defaultParameters();
0071
0072 float theMaxDelta;
0073 int theMaxStep;
0074 float theMaxReducedChiSq;
0075 float theMinChiSqImprovement;
0076 LinearizationPointFinder *finder;
0077 KinematicConstrainedVertexUpdator *updator;
0078 VertexKinematicConstraint *vCons;
0079 ConstrainedTreeBuilder *tBuilder;
0080 int iterations;
0081 float csum;
0082 };
0083
0084 #endif