Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:29:10

0001 #ifndef ParentParticleFitter_H
0002 #define ParentParticleFitter_H
0003 
0004 #include "RecoVertex/KinematicFitPrimitives/interface/RefCountedKinematicParticle.h"
0005 #include "RecoVertex/KinematicFitPrimitives/interface/RefCountedKinematicTree.h"
0006 #include "RecoVertex/KinematicFitPrimitives/interface/KinematicConstraint.h"
0007 
0008 /**
0009  * Abstract Base class for mechanism
0010  * updating top tree particle with given 
0011  * constraint. To be used by KinematicParticleFitter
0012  * only.
0013  */
0014 
0015 class ParentParticleFitter {
0016 public:
0017   ParentParticleFitter() {}
0018 
0019   virtual ~ParentParticleFitter() {}
0020   /**
0021  * Takes a kinematic tree as an input
0022  * The top tree particle get constrained
0023  */
0024   // virtual RefCountedKinematicTree  fit(RefCountedKinematicTree tree, KinematicConstraint * cs) const =0;
0025 
0026   virtual std::vector<RefCountedKinematicTree> fit(const std::vector<RefCountedKinematicTree> &trees,
0027                                                    KinematicConstraint *cs) const = 0;
0028 
0029   /**
0030  * Clone method
0031  */
0032   virtual ParentParticleFitter *clone() const = 0;
0033 
0034 private:
0035 };
0036 
0037 #endif