Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:25:11

0001 // Definition of objects placed in the edm::GlobalCache.
0002 
0003 #ifndef RecoHGCal_TICL_GlobalCache_H__
0004 #define RecoHGCal_TICL_GlobalCache_H__
0005 
0006 #include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
0007 #include "PhysicsTools/TensorFlow/interface/TensorFlow.h"
0008 
0009 namespace ticl {
0010   // base class across ticl for objects hold in the edm::GlobalCache by plugins
0011   class CacheBase {
0012   public:
0013     CacheBase(const edm::ParameterSet& params) {}
0014 
0015     virtual ~CacheBase() {}
0016   };
0017 
0018   // data structure hold by TrackstersProducer to store the TF graph for energy regression and ID
0019   class TrackstersCache : public CacheBase {
0020   public:
0021     TrackstersCache(const edm::ParameterSet& params) : CacheBase(params), eidGraphDef(nullptr) {}
0022 
0023     ~TrackstersCache() override {}
0024 
0025     std::atomic<tensorflow::GraphDef*> eidGraphDef;
0026   };
0027 }  // namespace ticl
0028 
0029 #endif  // RecoHGCal_TICL_GlobalCache_H__