Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef GsfVertexMerger_H
0002 #define GsfVertexMerger_H
0003 
0004 #include "TrackingTools/GsfTools/interface/MultiGaussianStateMerger.h"
0005 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0006 #include "DataFormats/GeometryCommonDetAlgo/interface/DeepCopyPointerByClone.h"
0007 #include "RecoVertex/VertexPrimitives/interface/CachingVertex.h"
0008 
0009 /** 
0010  * Class which controls the reduction of vertex state components after
0011  * a GSF update.
0012  */
0013 class VertexState;
0014 
0015 class GsfVertexMerger {
0016 public:
0017   GsfVertexMerger(const edm::ParameterSet& pSet);
0018   ~GsfVertexMerger() {}
0019 
0020   CachingVertex<5> merge(const CachingVertex<5>& vertex) const;
0021 
0022   VertexState merge(const VertexState& vertex) const;
0023 
0024   GsfVertexMerger* clone() const { return new GsfVertexMerger(*this); }
0025 
0026 private:
0027   DeepCopyPointerByClone<MultiGaussianStateMerger<3> > merger;
0028   unsigned int maxComponents;
0029 };
0030 
0031 #endif