TrackingTools
RecoGeometry
plugins
GlobalDetLayerGeometryESProducer.cc
Go to the documentation of this file.
1
#include "
TrackingTools/RecoGeometry/plugins/GlobalDetLayerGeometryESProducer.h
"
2
3
#include "
FWCore/Framework/interface/EventSetup.h
"
4
#include "
FWCore/Framework/interface/ESHandle.h
"
5
#include "
FWCore/Framework/interface/ModuleFactory.h
"
6
#include "
FWCore/Framework/interface/ESProducer.h
"
7
8
#include <memory>
9
#include <string>
10
11
using namespace
edm
;
12
13
GlobalDetLayerGeometryESProducer::GlobalDetLayerGeometryESProducer
(
const
edm::ParameterSet
&
p
) {
14
std::string
myName =
p
.getParameter<
std::string
>(
"ComponentName"
);
15
auto
cc
= setWhatProduced(
this
, myName);
16
trackerToken_ =
cc
.consumes();
17
muonToken_ =
cc
.consumes();
18
mtdToken_ =
cc
.consumes();
19
}
20
21
GlobalDetLayerGeometryESProducer::~GlobalDetLayerGeometryESProducer
() {}
22
23
std::unique_ptr<DetLayerGeometry>
GlobalDetLayerGeometryESProducer::produce
(
const
RecoGeometryRecord
& iRecord) {
24
auto
const
&
tracker
= iRecord.
get
(trackerToken_);
25
auto
const
&
muon
= iRecord.
get
(muonToken_);
26
edm::ESHandle<MTDDetLayerGeometry>
mtd
;
27
28
// get the MTD if it is available
29
if
(
auto
mtdRecord = iRecord.
tryToGetRecord
<
MTDRecoGeometryRecord
>()) {
30
mtd
= mtdRecord->getHandle(mtdToken_);
31
if
(!
mtd
.isValid()) {
32
LogInfo
(
"GlobalDetLayergGeometryBuilder"
) <<
"No MTD geometry is available."
;
33
}
34
}
else
{
35
LogInfo
(
"GlobalDetLayerGeometryBuilder"
) <<
"No MTDDigiGeometryRecord is available."
;
36
}
37
38
// if we've got MTD initialize it
39
if
(
mtd
.isValid())
40
return
std::make_unique<GlobalDetLayerGeometry>(&
tracker
, &
muon
,
mtd
.product());
41
42
return
std::make_unique<GlobalDetLayerGeometry>(&
tracker
, &
muon
);
43
}
44
45
DEFINE_FWK_EVENTSETUP_MODULE
(
GlobalDetLayerGeometryESProducer
);
ESHandle.h
muon
Definition:
MuonCocktails.h:17
edm
HLT enums.
Definition:
AlignableModifier.h:19
AlCaHLTBitMon_ParallelJobs.p
p
Definition:
AlCaHLTBitMon_ParallelJobs.py:153
ESProducer.h
edm::LogInfo
Log< level::Info, false > LogInfo
Definition:
MessageLogger.h:125
cc
edm::ESHandle< MTDDetLayerGeometry >
edm::eventsetup::DependentRecordImplementation::get
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const
Definition:
DependentRecordImplementation.h:103
GlobalDetLayerGeometryESProducer
Definition:
GlobalDetLayerGeometryESProducer.h:10
GlobalDetLayerGeometryESProducer::GlobalDetLayerGeometryESProducer
GlobalDetLayerGeometryESProducer(const edm::ParameterSet &p)
Definition:
GlobalDetLayerGeometryESProducer.cc:13
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
PbPb_ZMuSkimMuonDPG_cff.tracker
tracker
Definition:
PbPb_ZMuSkimMuonDPG_cff.py:60
GlobalDetLayerGeometryESProducer::produce
std::unique_ptr< DetLayerGeometry > produce(const RecoGeometryRecord &)
Definition:
GlobalDetLayerGeometryESProducer.cc:23
edm::ParameterSet
Definition:
ParameterSet.h:47
GlobalDetLayerGeometryESProducer::~GlobalDetLayerGeometryESProducer
~GlobalDetLayerGeometryESProducer() override
Definition:
GlobalDetLayerGeometryESProducer.cc:21
GlobalDetLayerGeometryESProducer.h
RecoGeometryRecord
Definition:
RecoGeometryRecord.h:15
MTDRecoGeometryRecord
Definition:
MTDRecoGeometryRecord.h:18
ModuleFactory.h
edm::eventsetup::DependentRecordImplementation::tryToGetRecord
std::optional< DepRecordT > tryToGetRecord() const
Definition:
DependentRecordImplementation.h:68
DEFINE_FWK_EVENTSETUP_MODULE
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
Definition:
ModuleFactory.h:60
EventSetup.h
mtd_digitizer
Definition:
MTDDigitizer.h:35
Generated for CMSSW Reference Manual by
1.8.16