HeterogeneousCore
SonicTriton
interface
TritonEDProducer.h
Go to the documentation of this file.
1
#ifndef HeterogeneousCore_SonicTriton_TritonEDProducer
2
#define HeterogeneousCore_SonicTriton_TritonEDProducer
3
4
//TritonDummyCache include comes first for overload resolution
5
#include "
HeterogeneousCore/SonicTriton/interface/TritonDummyCache.h
"
6
#include "
HeterogeneousCore/SonicCore/interface/SonicEDProducer.h
"
7
#include "
HeterogeneousCore/SonicTriton/interface/TritonClient.h
"
8
#include "
FWCore/ServiceRegistry/interface/Service.h
"
9
#include "
HeterogeneousCore/SonicTriton/interface/TritonService.h
"
10
11
//inherited classes that use a non-default GlobalCache should be sure to call the parent initializeGlobalCache()
12
template
<
typename
G
,
typename
... Capabilities>
13
class
TritonEDProducerT
:
public
SonicEDProducer
<TritonClient, edm::GlobalCache<G>, Capabilities...> {
14
public
:
15
TritonEDProducerT
(
edm::ParameterSet
const
&
cfg
,
const
std::string
& debugName)
16
:
SonicEDProducer
<
TritonClient
,
edm
::
GlobalCache
<
G
>, Capabilities...>(
cfg
, debugName) {}
17
18
//use this function to avoid calling TritonService functions Nstreams times
19
static
std::unique_ptr<G>
initializeGlobalCache
(
edm::ParameterSet
const
&
pset
) {
20
edm::Service<TritonService>
ts;
21
const
auto
& clientPset =
pset
.getParameterSet(
"Client"
);
22
ts->
addModel
(clientPset.getParameter<
std::string
>(
"modelName"
),
23
clientPset.getParameter<
edm::FileInPath
>(
"modelConfigPath"
).
fullPath
());
24
return
nullptr
;
25
}
26
27
static
void
globalEndJob
(
G
*) {}
28
};
29
30
template
<
typename
... Capabilities>
31
using
TritonEDProducer
=
TritonEDProducerT
<
TritonDummyCache
, Capabilities...>;
32
33
#endif
edm
HLT enums.
Definition:
AlignableModifier.h:19
TritonClient.h
SonicEDProducer.h
TritonEDProducerT::initializeGlobalCache
static std::unique_ptr< G > initializeGlobalCache(edm::ParameterSet const &pset)
Definition:
TritonEDProducer.h:19
callgraph.G
G
Definition:
callgraph.py:17
TritonDummyCache
Definition:
TritonDummyCache.h:4
edm::stream::EDProducer< edm::ExternalWork, Capabilities... >::GlobalCache
CacheTypes::GlobalCache GlobalCache
Definition:
EDProducer.h:45
edm::FileInPath
Definition:
FileInPath.h:64
Service.h
TritonEDProducerT
Definition:
TritonEDProducer.h:13
TritonService.h
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
edm::ParameterSet
Definition:
ParameterSet.h:47
TritonService::addModel
void addModel(const std::string &modelName, const std::string &path)
Definition:
TritonService.cc:124
edm::Service
Definition:
Service.h:30
looper.cfg
cfg
Definition:
looper.py:297
TritonEDProducerT::globalEndJob
static void globalEndJob(G *)
Definition:
TritonEDProducer.h:27
SonicEDProducer
Definition:
SonicEDProducer.h:14
TritonDummyCache.h
TritonClient
Definition:
TritonClient.h:18
edm::FileInPath::fullPath
std::string fullPath() const
Definition:
FileInPath.cc:161
muonDTDigis_cfi.pset
pset
Definition:
muonDTDigis_cfi.py:27
TritonEDProducerT::TritonEDProducerT
TritonEDProducerT(edm::ParameterSet const &cfg, const std::string &debugName)
Definition:
TritonEDProducer.h:15
Generated for CMSSW Reference Manual by
1.8.16