|
||||
File indexing completed on 2024-04-06 12:29:10
0001 #ifndef LagrangeParentParticleFitter_H 0002 #define LagrangeParentParticleFitter_H 0003 0004 #include "RecoVertex/KinematicFit/interface/ParentParticleFitter.h" 0005 #include "FWCore/ParameterSet/interface/ParameterSet.h" 0006 0007 /** 0008 * KinematicParticle refit via LMS minimization with Lagrange multipliers 0009 * method. Tunable for number of iterations and stopping condition. 0010 * Every new iteration 0011 * takes the result of previous iteration as a linearization point. 0012 * This is only needed in case of nonlinear constraints. In the 0013 * linear case result will be reached after the first step. 0014 * Stopping condition at the moment: sum of abs. constraint 0015 * equations values at given point 0016 */ 0017 0018 class LagrangeParentParticleFitter : public ParentParticleFitter { 0019 public: 0020 LagrangeParentParticleFitter(); 0021 0022 ~LagrangeParentParticleFitter() override {} 0023 0024 /** 0025 * Configuration through PSet: number of iterations(maxDistance) and 0026 * stopping condition (maxNbrOfIterations) 0027 */ 0028 0029 void setParameters(const edm::ParameterSet& pSet); 0030 0031 /** 0032 * Refit method taking KinematicConstraint and vector 0033 * of trees as imput. Only top particles of corresponding trees are 0034 * refitted, vertex is not created. Number of trees should be one 0035 * (single track refit) or greater (multiple track refit). Some 0036 * constraints may not work with single tracks (back to back for ex.) 0037 */ 0038 std::vector<RefCountedKinematicTree> fit(const std::vector<RefCountedKinematicTree>& trees, 0039 KinematicConstraint* cs) const override; 0040 0041 LagrangeParentParticleFitter* clone() const override { return new LagrangeParentParticleFitter(*this); } 0042 0043 private: 0044 void defaultParameters(); 0045 0046 float theMaxDiff; 0047 int theMaxStep; 0048 }; 0049 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.2.1 LXR engine. The LXR team |