CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2_patch1/src/RecoPixelVertexing/PixelVertexFinding/interface/DivisiveVertexFinder.h

Go to the documentation of this file.
00001 #ifndef RecoPixelVertexing_DivisiveVertexFinder_h
00002 #define RecoPixelVertexing_DivisiveVertexFinder_h
00003 
00026 #include <vector>
00027 #include "DataFormats/VertexReco/interface/Vertex.h"
00028 #include "DataFormats/VertexReco/interface/VertexFwd.h"
00029 #include "DataFormats/TrackReco/interface/Track.h"
00030 #include "DataFormats/TrackReco/interface/TrackFwd.h"
00031 //#include "CommonTools/Clustering1D/interface/DivisiveClusterizer1D.h"
00032 #include "RecoPixelVertexing/PixelVertexFinding/interface/DivisiveClusterizer1D.h"
00033 
00034 class DivisiveVertexFinder {
00035  public:
00036   DivisiveVertexFinder(double zOffset=5.0, int ntrkMin=5, bool useError=true, 
00037                        double zSeparation=0.05, bool wtAverage=true, int verbosity=0);
00038   ~DivisiveVertexFinder();
00039   
00041   bool findVertexes(const reco::TrackRefVector &trks,  // input
00042                     reco::VertexCollection &vertexes); // output
00043   bool findVertexesAlt(const reco::TrackRefVector &trks,  // input
00044                        reco::VertexCollection &vertexes, const math::XYZPoint & bs); // output
00045  private:
00047   double zOffset_, zSeparation_;
00048   int ntrkMin_;
00049   bool useError_, wtAverage_;
00050 
00052   pixeltemp::DivisiveClusterizer1D< reco::Track > divmeth_;
00053   //  DivisiveClusterizer1D< reco::Track > divmeth_;
00054 
00055   // How loud should I be?
00056   int verbose_;
00057     
00058 };
00059 #endif