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
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