Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:31:00

0001 #ifndef __SimTracker_TrackAssociation_ResolutionModel_h__
0002 #define __SimTracker_TrackAssociation_ResolutionModel_h__
0003 
0004 #include "DataFormats/ParticleFlowReco/interface/PFCluster.h"
0005 #include "DataFormats/TrackReco/interface/Track.h"
0006 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0007 
0008 #include <iostream>
0009 #include <string>
0010 
0011 class ResolutionModel {
0012 public:
0013   ResolutionModel(const edm::ParameterSet &conf) : _modelName(conf.getParameter<std::string>("modelName")) {}
0014   virtual ~ResolutionModel() {}
0015   // get rid of things we should never use...
0016   ResolutionModel(const ResolutionModel &) = delete;
0017   ResolutionModel &operator=(const ResolutionModel &) = delete;
0018 
0019   virtual float getTimeResolution(const reco::Track &) const { return -1.f; }
0020   virtual float getTimeResolution(const reco::PFCluster &) const { return -1.f; }
0021 
0022   const std::string &name() const { return _modelName; }
0023 
0024 private:
0025   const std::string _modelName;
0026 };
0027 
0028 #include "FWCore/PluginManager/interface/PluginFactory.h"
0029 typedef edmplugin::PluginFactory<ResolutionModel *(const edm::ParameterSet &)> ResolutionModelFactory;
0030 
0031 #endif