L1TriggerConfig
GMTConfigProducers
src
L1MuGMTParametersOnlineProducer.cc
Go to the documentation of this file.
1
//-------------------------------------------------
2
//
3
// \class L1MuGMTParametersOnlineProducer
4
//
5
// Description: A class to produce the L1 GMT emulator Parameters record in the event setup
6
// by reading them from the online database.
7
//
8
//
9
// Author :
10
// Thomas Themel
11
//
12
//--------------------------------------------------
13
#include "
L1TriggerConfig/GMTConfigProducers/interface/L1MuGMTParametersOnlineProducer.h
"
14
15
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
16
#include "
FWCore/Framework/interface/EventSetup.h
"
17
18
/* Define this to see debug output from the record parsing layer. */
19
//#define RECORDHELPER_DEBUG
20
21
#include "
L1TriggerConfig/GMTConfigProducers/interface/RecordHelper.h
"
22
#include "
L1TriggerConfig/GMTConfigProducers/interface/GTRecordGroup.h
"
23
#include "
CondTools/L1Trigger/interface/Exception.h
"
24
25
using namespace
std
;
26
using
coral::AttributeList;
27
28
RH_ASSIGN_GROUP
(
L1MuGMTParameters
, TGlobalTriggerGroup)
29
30
34
std
::
unique_ptr
<
L1MuGMTParameters
>
L1MuGMTParametersOnlineProducer
::newObject(
const
std
::
string
& objectKey) {
35
RecordHelper<L1MuGMTParameters>
helper
;
36
37
// Copy data members from L1MuGMTParameters,
38
// and M-x replace-regexp RET .*m_\([a-z:_]*\) RET ADD_FIELD(helper, L1MuGMTParameters, \1) RET
39
40
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
EtaWeight_barrel
);
41
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
PhiWeight_barrel
);
42
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
EtaPhiThreshold_barrel
);
43
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
EtaWeight_endcap
);
44
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
PhiWeight_endcap
);
45
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
EtaPhiThreshold_endcap
);
46
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
EtaWeight_COU
);
47
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
PhiWeight_COU
);
48
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
EtaPhiThreshold_COU
);
49
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
CaloTrigger
);
50
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
IsolationCellSizeEta
);
51
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
IsolationCellSizePhi
);
52
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
DoOvlRpcAnd
);
53
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
PropagatePhi
);
54
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
MergeMethodPhiBrl
);
55
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
MergeMethodPhiFwd
);
56
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
MergeMethodEtaBrl
);
57
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
MergeMethodEtaFwd
);
58
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
MergeMethodPtBrl
);
59
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
MergeMethodPtFwd
);
60
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
MergeMethodChargeBrl
);
61
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
MergeMethodChargeFwd
);
62
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
MergeMethodMIPBrl
);
63
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
MergeMethodMIPFwd
);
64
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
MergeMethodMIPSpecialUseANDBrl
);
65
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
MergeMethodMIPSpecialUseANDFwd
);
66
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
MergeMethodISOBrl
);
67
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
MergeMethodISOFwd
);
68
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
MergeMethodISOSpecialUseANDBrl
);
69
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
MergeMethodISOSpecialUseANDFwd
);
70
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
MergeMethodSRKBrl
);
71
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
MergeMethodSRKFwd
);
72
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
HaloOverwritesMatchedBrl
);
73
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
HaloOverwritesMatchedFwd
);
74
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
SortRankOffsetBrl
);
75
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
SortRankOffsetFwd
);
76
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
CDLConfigWordDTCSC
);
77
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
CDLConfigWordCSCDT
);
78
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
CDLConfigWordbRPCCSC
);
79
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
CDLConfigWordfRPCDT
);
80
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
VersionSortRankEtaQLUT
);
81
ADD_FIELD
(
helper
,
L1MuGMTParameters
,
VersionLUTs
);
82
83
auto
ptrResult = std::make_unique<L1MuGMTParameters>();
84
85
std::vector<std::string> resultColumns =
helper
.getColumnList();
86
resultColumns.push_back(
"CMSSW_VERSION"
);
87
88
l1t::OMDSReader::QueryResults
resultLines = m_omdsReader.basicQuery(
89
// SELECTed columns
90
resultColumns,
91
// schema name
92
"CMS_GMT"
,
93
// table name
94
"GMT_SOFTWARE_CONFIG"
,
95
// WHERE lhs
96
"GMT_SOFTWARE_CONFIG.KEY"
,
97
// WHERE rhs
98
m_omdsReader.singleAttribute(objectKey));
99
100
if
(resultLines.
numberRows
() == 1) {
101
const
AttributeList& resultRecord = resultLines.
attributeLists
().front();
102
checkCMSSWVersion(resultRecord);
103
helper
.extractRecord(resultRecord, *ptrResult);
104
return
ptrResult;
105
}
106
107
throw
cond::Exception
(
"Couldn't find GMT_SOFTWARE_CONFIG record for GMT key `"
+ objectKey +
"'"
);
108
}
109
110
void
L1MuGMTParametersOnlineProducer::checkCMSSWVersion
(
const
coral::AttributeList& configRecord) {
111
const
coral::Attribute&
version
= configRecord[
"CMSSW_VERSION"
];
112
113
/* If the DB field is unset, take any. */
114
if
(
version
.isNull()) {
115
edm::LogInfo
(
"No CMSSW version set in database, accepting "
PROJECT_VERSION);
116
return
;
117
}
118
119
/* Else make sure we have the correct version. */
120
const
std::string
& versionString =
version
.data<
string
>();
121
122
/* PROJECT_VERSION is passed as a -D #define from scramv1 (eg CMSSW_2_1_0) */
123
if
(versionString != PROJECT_VERSION) {
124
std::string
errMsg =
125
"CMSSW version mismatch: Configuration requires "
+ versionString +
", but this is "
+ PROJECT_VERSION +
"!"
;
126
127
if
(ignoreVersionMismatch_) {
128
edm::LogWarning
(errMsg +
" (will continue because ignoreVersionMismatch is set)"
);
129
}
else
{
130
throw
cond::Exception
(errMsg);
131
}
132
}
133
}
134
135
L1MuGMTParametersOnlineProducer::L1MuGMTParametersOnlineProducer
(
const
edm::ParameterSet
& ps)
136
:
L1ConfigOnlineProdBase
<
L1MuGMTParametersRcd
,
L1MuGMTParameters
>(ps) {
137
ignoreVersionMismatch_
= ps.
getParameter
<
bool
>(
"ignoreVersionMismatch"
);
138
}
139
140
L1MuGMTParametersOnlineProducer::~L1MuGMTParametersOnlineProducer
() {}
141
142
DEFINE_FWK_EVENTSETUP_MODULE
(
L1MuGMTParametersOnlineProducer
);
l1t::OMDSReader::QueryResults
Definition:
OMDSReader.h:49
L1MuGMTParameters_cfi.MergeMethodSRKFwd
MergeMethodSRKFwd
Definition:
L1MuGMTParameters_cfi.py:36
L1MuGMTParameters_cfi.SortRankOffsetFwd
SortRankOffsetFwd
Definition:
L1MuGMTParameters_cfi.py:40
MessageLogger.h
Exception.h
L1MuGMTParameters_cfi.MergeMethodISOBrl
MergeMethodISOBrl
Definition:
L1MuGMTParameters_cfi.py:31
L1MuGMTParametersOnlineProducer.h
L1MuGMTParameters_cfi.EtaPhiThreshold_endcap
EtaPhiThreshold_endcap
Definition:
L1MuGMTParameters_cfi.py:9
L1MuGMTParameters_cfi.PhiWeight_barrel
PhiWeight_barrel
Definition:
L1MuGMTParameters_cfi.py:5
edm::LogInfo
Definition:
MessageLogger.h:254
L1MuGMTParameters_cfi.MergeMethodChargeFwd
MergeMethodChargeFwd
Definition:
L1MuGMTParameters_cfi.py:26
L1MuGMTParameters_cfi.SortRankOffsetBrl
SortRankOffsetBrl
Definition:
L1MuGMTParameters_cfi.py:39
ADD_FIELD
#define ADD_FIELD(HELPER, OUTPUT_NAME, FIELD_NAME)
Definition:
RecordHelper.h:192
L1MuGMTParameters_cfi.MergeMethodMIPBrl
MergeMethodMIPBrl
Definition:
L1MuGMTParameters_cfi.py:27
L1ConfigOnlineProdBase
Definition:
L1ConfigOnlineProdBase.h:52
RecordHelper.h
RecordHelper
Definition:
RecordHelper.h:145
L1MuGMTParameters_cfi.MergeMethodISOFwd
MergeMethodISOFwd
Definition:
L1MuGMTParameters_cfi.py:32
L1MuGMTParameters_cfi.CDLConfigWordfRPCDT
CDLConfigWordfRPCDT
Definition:
L1MuGMTParameters_cfi.py:45
L1MuGMTParameters_cfi.MergeMethodISOSpecialUseANDBrl
MergeMethodISOSpecialUseANDBrl
Definition:
L1MuGMTParameters_cfi.py:33
watchdog.const
const
Definition:
watchdog.py:83
L1MuGMTParametersOnlineProducer::~L1MuGMTParametersOnlineProducer
~L1MuGMTParametersOnlineProducer() override
Definition:
L1MuGMTParametersOnlineProducer.cc:140
L1MuGMTParameters_cfi.MergeMethodPhiFwd
MergeMethodPhiFwd
Definition:
L1MuGMTParameters_cfi.py:20
L1MuGMTParameters_cfi.MergeMethodEtaBrl
MergeMethodEtaBrl
Definition:
L1MuGMTParameters_cfi.py:21
L1MuGMTParameters_cfi.CDLConfigWordDTCSC
CDLConfigWordDTCSC
Definition:
L1MuGMTParameters_cfi.py:42
GTRecordGroup.h
L1MuGMTParameters_cfi.EtaWeight_endcap
EtaWeight_endcap
Definition:
L1MuGMTParameters_cfi.py:7
L1MuGMTParameters_cfi.MergeMethodSRKBrl
MergeMethodSRKBrl
Definition:
L1MuGMTParameters_cfi.py:35
L1MuGMTParametersOnlineProducer::L1MuGMTParametersOnlineProducer
L1MuGMTParametersOnlineProducer(const edm::ParameterSet &)
Definition:
L1MuGMTParametersOnlineProducer.cc:135
L1MuGMTParameters_cfi.CaloTrigger
CaloTrigger
Definition:
L1MuGMTParameters_cfi.py:13
L1MuGMTParameters_cfi.MergeMethodMIPFwd
MergeMethodMIPFwd
Definition:
L1MuGMTParameters_cfi.py:28
L1MuGMTParameters_cfi.PhiWeight_endcap
PhiWeight_endcap
Definition:
L1MuGMTParameters_cfi.py:8
L1MuGMTParameters_cfi.MergeMethodPtBrl
MergeMethodPtBrl
Definition:
L1MuGMTParameters_cfi.py:23
L1MuGMTParameters_cfi.PropagatePhi
PropagatePhi
Definition:
L1MuGMTParameters_cfi.py:18
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
L1MuGMTParameters_cfi.CDLConfigWordCSCDT
CDLConfigWordCSCDT
Definition:
L1MuGMTParameters_cfi.py:43
edm::LogWarning
Definition:
MessageLogger.h:141
edm::ParameterSet
Definition:
ParameterSet.h:36
L1MuGMTParametersOnlineProducer::ignoreVersionMismatch_
bool ignoreVersionMismatch_
Definition:
L1MuGMTParametersOnlineProducer.h:42
L1MuGMTParameters_cfi.EtaWeight_COU
EtaWeight_COU
Definition:
L1MuGMTParameters_cfi.py:10
L1MuGMTParameters_cfi.MergeMethodEtaFwd
MergeMethodEtaFwd
Definition:
L1MuGMTParameters_cfi.py:22
L1MuGMTParametersRcd
Definition:
L1MuGMTParametersRcd.h:12
L1MuGMTParameters_cfi.VersionLUTs
VersionLUTs
Definition:
L1MuGMTParameters_cfi.py:56
helper
Definition:
helper.py:1
L1MuGMTParameters_cfi.MergeMethodPhiBrl
MergeMethodPhiBrl
Definition:
L1MuGMTParameters_cfi.py:19
l1t::OMDSReader::QueryResults::numberRows
int numberRows() const
Definition:
OMDSReader.h:60
cond::Exception
persistency::Exception Exception
Definition:
Exception.h:25
L1MuGMTParameters_cfi.MergeMethodISOSpecialUseANDFwd
MergeMethodISOSpecialUseANDFwd
Definition:
L1MuGMTParameters_cfi.py:34
L1MuGMTParameters_cfi.CDLConfigWordbRPCCSC
CDLConfigWordbRPCCSC
Definition:
L1MuGMTParameters_cfi.py:44
L1MuGMTParameters_cfi.MergeMethodChargeBrl
MergeMethodChargeBrl
Definition:
L1MuGMTParameters_cfi.py:25
cms::cuda::device::unique_ptr
std::unique_ptr< T, impl::DeviceDeleter > unique_ptr
Definition:
device_unique_ptr.h:33
L1MuGMTParameters_cfi.HaloOverwritesMatchedBrl
HaloOverwritesMatchedBrl
Definition:
L1MuGMTParameters_cfi.py:37
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
std
Definition:
JetResolutionObject.h:76
L1MuGMTParameters_cfi.EtaPhiThreshold_COU
EtaPhiThreshold_COU
Definition:
L1MuGMTParameters_cfi.py:12
L1MuGMTParameters_cfi.EtaWeight_barrel
EtaWeight_barrel
Definition:
L1MuGMTParameters_cfi.py:4
L1MuGMTParametersOnlineProducer
Definition:
L1MuGMTParametersOnlineProducer.h:29
L1MuGMTParametersOnlineProducer::checkCMSSWVersion
void checkCMSSWVersion(const coral::AttributeList &configRecord)
Definition:
L1MuGMTParametersOnlineProducer.cc:110
L1MuGMTParameters_cfi.EtaPhiThreshold_barrel
EtaPhiThreshold_barrel
Definition:
L1MuGMTParameters_cfi.py:6
DEFINE_FWK_EVENTSETUP_MODULE
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
Definition:
ModuleFactory.h:60
EventSetup.h
L1MuGMTParameters_cfi.VersionSortRankEtaQLUT
VersionSortRankEtaQLUT
Definition:
L1MuGMTParameters_cfi.py:52
L1MuGMTParameters_cfi.MergeMethodMIPSpecialUseANDFwd
MergeMethodMIPSpecialUseANDFwd
Definition:
L1MuGMTParameters_cfi.py:30
L1MuGMTParameters_cfi.HaloOverwritesMatchedFwd
HaloOverwritesMatchedFwd
Definition:
L1MuGMTParameters_cfi.py:38
L1MuGMTParameters_cfi.MergeMethodPtFwd
MergeMethodPtFwd
Definition:
L1MuGMTParameters_cfi.py:24
L1MuGMTParameters_cfi.MergeMethodMIPSpecialUseANDBrl
MergeMethodMIPSpecialUseANDBrl
Definition:
L1MuGMTParameters_cfi.py:29
L1MuGMTParameters
Definition:
L1MuGMTParameters.h:25
RH_ASSIGN_GROUP
#define RH_ASSIGN_GROUP(TOutput, TGroup)
Definition:
RecordHelper.h:124
BeamSplash_cfg.version
version
Definition:
BeamSplash_cfg.py:45
L1MuGMTParameters_cfi.IsolationCellSizePhi
IsolationCellSizePhi
Definition:
L1MuGMTParameters_cfi.py:15
L1MuGMTParameters_cfi.DoOvlRpcAnd
DoOvlRpcAnd
Definition:
L1MuGMTParameters_cfi.py:16
l1t::OMDSReader::QueryResults::attributeLists
const std::vector< coral::AttributeList > & attributeLists() const
Definition:
OMDSReader.h:58
L1MuGMTParameters_cfi.IsolationCellSizeEta
IsolationCellSizeEta
Definition:
L1MuGMTParameters_cfi.py:14
L1MuGMTParameters_cfi.PhiWeight_COU
PhiWeight_COU
Definition:
L1MuGMTParameters_cfi.py:11
Generated for CMSSW Reference Manual by
1.8.16