CMS 3D CMS Logo

ConfigurableVertexReconstructor.cc
Go to the documentation of this file.
4 
5 using namespace std;
6 
7 namespace {
8  void errorNoReconstructor(const string& finder) {
9  edm::LogError("ConfigurableVertexReconstructor") << "got no reconstructor for \"" << finder << "\"";
10  vector<string> valid = VertexRecoManager::Instance().getNames();
11  cout << " Valid reconstructors are:";
12  for (const auto& i : valid) {
13  cout << " " << i;
14  }
15  cout << endl;
16  throw std::string(finder + " not available!");
17  }
18 } // namespace
19 
21  string finder = p.getParameter<string>("finder");
23  if (!theRector) {
24  errorNoReconstructor(finder);
25  }
27  // theRector = theRector->clone();
28  // theRector = new ReconstructorFromFitter ( KalmanVertexFitter() );
29 }
30 
32 
34  : theRector(o.theRector->clone()) {}
35 
37  return new ConfigurableVertexReconstructor(*this);
38 }
39 
40 vector<TransientVertex> ConfigurableVertexReconstructor::vertices(const std::vector<reco::TransientTrack>& prims,
41  const std::vector<reco::TransientTrack>& secs,
42  const reco::BeamSpot& s) const {
43  return theRector->vertices(prims, secs, s);
44 }
45 
46 vector<TransientVertex> ConfigurableVertexReconstructor::vertices(const std::vector<reco::TransientTrack>& t,
47  const reco::BeamSpot& s) const {
48  return theRector->vertices(t, s);
49 }
50 
51 vector<TransientVertex> ConfigurableVertexReconstructor::vertices(const std::vector<reco::TransientTrack>& t) const {
52  return theRector->vertices(t);
53 }
virtual void configure(const edm::ParameterSet &)=0
virtual std::vector< TransientVertex > vertices(const std::vector< reco::TransientTrack > &) const =0
static VertexRecoManager & Instance()
std::unique_ptr< AbstractConfReconstructor > get(const std::string &) const
Log< level::Error, false > LogError
std::vector< TransientVertex > vertices(const std::vector< reco::TransientTrack > &) const override
std::vector< std::string > getNames() const
ConfigurableVertexReconstructor * clone() const override
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
Definition: eve_macros.cc:135
ConfigurableVertexReconstructor(const edm::ParameterSet &)