File indexing completed on 2024-09-26 05:07:07
0001
0002
0003
0004 #ifndef RecoHGCal_TICL_TracksterInferenceAlgo_H__
0005 #define RecoHGCal_TICL_TracksterInferenceAlgo_H__
0006
0007 #include <vector>
0008 #include "DataFormats/HGCalReco/interface/Trackster.h"
0009 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0010 #include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
0011 #include "FWCore/Framework/interface/Event.h"
0012 #include "FWCore/Framework/interface/EventSetup.h"
0013
0014 #include "DataFormats/Candidate/interface/Candidate.h"
0015 #include "DataFormats/VertexReco/interface/Vertex.h"
0016 #include "DataFormats/CaloRecHit/interface/CaloCluster.h"
0017 #include "DataFormats/HGCalReco/interface/TICLCandidate.h"
0018 #include "FWCore/Framework/interface/ConsumesCollector.h"
0019 #include "PhysicsTools/ONNXRuntime/interface/ONNXRuntime.h"
0020 #include "FWCore/PluginManager/interface/PluginFactory.h"
0021
0022 namespace ticl {
0023 class TracksterInferenceAlgoBase {
0024 public:
0025 explicit TracksterInferenceAlgoBase(const edm::ParameterSet& conf)
0026 : algo_verbosity_(conf.getParameter<int>("algo_verbosity")) {}
0027 virtual ~TracksterInferenceAlgoBase() {}
0028
0029 virtual void inputData(const std::vector<reco::CaloCluster>& layerClusters, std::vector<Trackster>& tracksters) = 0;
0030 virtual void runInference(std::vector<Trackster>& tracksters) = 0;
0031 static void fillPSetDescription(edm::ParameterSetDescription& desc) { desc.add<int>("algo_verbosity", 0); };
0032
0033 protected:
0034 int algo_verbosity_;
0035 };
0036 }
0037
0038 #endif