Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-26 05:07:07

0001 // Author: Felice Pantaleo - felice.pantaleo@cern.ch
0002 // Date: 07/2024
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 }  // namespace ticl
0037 
0038 #endif