CalibMuon
DTCalibration
plugins
DTT0FillDefaultFromDB.cc
Go to the documentation of this file.
1
/*
2
* See header file for a description of this class.
3
*/
4
5
#include "
DTT0FillDefaultFromDB.h
"
6
#include "
FWCore/ParameterSet/interface/ParameterSet.h
"
7
#include "
FWCore/Framework/interface/EventSetup.h
"
8
#include "
FWCore/Framework/interface/ESHandle.h
"
9
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
10
11
#include "
DataFormats/MuonDetId/interface/DTWireId.h
"
12
#include "
CondFormats/DTObjects/interface/DTT0.h
"
13
#include "
CondFormats/DataRecord/interface/DTT0Rcd.h
"
14
15
#include <string>
16
17
using namespace
std
;
18
using namespace
edm
;
19
20
namespace
dtCalibration
{
21
22
DTT0FillDefaultFromDB::DTT0FillDefaultFromDB(
const
ParameterSet
&
pset
,
edm::ConsumesCollector
cc)
23
: t0Token_(cc.
esConsumes
<
edm
::
Transition
::
BeginRun
>()),
24
t0RefToken_(
25
cc.
esConsumes
<
edm
::
Transition
::
BeginRun
>(
edm
::
ESInputTag
(
""
,
pset
.getParameter<
string
>(
"dbLabelRef"
)))) {}
26
27
DTT0FillDefaultFromDB::~DTT0FillDefaultFromDB
() {}
28
29
void
DTT0FillDefaultFromDB::setES
(
const
EventSetup
&
setup
) {
30
// Get t0 record from DB
31
ESHandle<DTT0>
t0H =
setup
.getHandle(
t0Token_
);
32
t0Map_
= &*t0H;
33
LogVerbatim
(
"Calibration"
) <<
"[DTT0FillDefaultFromDB] T0 version: "
<< t0H->
version
();
34
35
// Get reference t0 DB
36
ESHandle<DTT0>
t0RefH =
setup
.getHandle(
t0RefToken_
);
37
t0MapRef_
= &*t0RefH;
38
LogVerbatim
(
"Calibration"
) <<
"[DTT0FillDefaultFromDB] Reference T0 version: "
<< t0RefH->
version
();
39
}
40
41
DTT0Data
DTT0FillDefaultFromDB::correction
(
const
DTWireId
& wireId) {
42
// Try to access value in default DB
43
// If it does not exist return value from reference DB
44
// If it does not exist in reference DB, throw exception
45
// Could also set to default zero value
46
float
t0Mean, t0RMS;
47
int
status
=
t0Map_
->
get
(wireId, t0Mean, t0RMS,
DTTimeUnits::counts
);
48
if
(!
status
) {
49
return
DTT0Data
(t0Mean, t0RMS);
50
}
else
{
51
// Now access reference DB
52
float
t0MeanRef, t0RMSRef;
53
int
statusRef =
t0MapRef_
->
get
(wireId, t0MeanRef, t0RMSRef,
DTTimeUnits::counts
);
54
if
(!statusRef) {
55
return
DTT0Data
(t0MeanRef, t0RMSRef);
56
}
else
{
57
//...
58
throw
cms::Exception
(
"[DTT0FillDefaultFromDB]"
)
59
<<
"Could not find t0 entry in reference DB for"
<< wireId << endl;
60
}
61
}
62
}
63
64
}
// namespace dtCalibration
dtCalibration::DTT0Data
Definition:
DTT0BaseCorrection.h:18
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition:
MessageLogger.h:128
deDxTools::esConsumes
ESGetTokenH3DDVariant esConsumes(std::string const &Record, edm::ConsumesCollector &)
Definition:
DeDxTools.cc:283
Exception
Definition:
hltDiff.cc:245
MessageLogger.h
edm::ESInputTag
Definition:
ESInputTag.h:87
dtCalibration::DTT0FillDefaultFromDB::t0RefToken_
edm::ESGetToken< DTT0, DTT0Rcd > t0RefToken_
Definition:
DTT0FillDefaultFromDB.h:44
dtCalibration
Definition:
DTT0BaseCorrection.h:16
EventSetup.h
muonDTDigis_cfi.pset
pset
Definition:
muonDTDigis_cfi.py:27
std
Definition:
JetResolutionObject.h:76
dtCalibration::DTT0FillDefaultFromDB::setES
void setES(const edm::EventSetup &setup) override
Definition:
DTT0FillDefaultFromDB.cc:29
DTT0Rcd.h
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
dtCalibration::DTT0FillDefaultFromDB::t0MapRef_
const DTT0 * t0MapRef_
Definition:
DTT0FillDefaultFromDB.h:40
ParameterSet.h
dtCalibration::DTT0FillDefaultFromDB::~DTT0FillDefaultFromDB
~DTT0FillDefaultFromDB() override
Definition:
DTT0FillDefaultFromDB.cc:27
edm::ESHandle
Definition:
DTSurvey.h:22
mps_update.status
status
Definition:
mps_update.py:68
ESHandle.h
edm::Transition
Transition
Definition:
Transition.h:12
edm::EventSetup
Definition:
EventSetup.h:59
DTT0FillDefaultFromDB.h
singleTopDQM_cfi.setup
setup
SETUP
Definition:
singleTopDQM_cfi.py:37
DTT0.h
edm::Transition::BeginRun
DTT0::version
const std::string & version() const
access version
Definition:
DTT0.cc:82
DTTimeUnits::counts
Definition:
DTTimeUnits.h:32
DTT0::get
int get(int wheelId, int stationId, int sectorId, int slId, int layerId, int cellId, float &t0mean, float &t0rms, DTTimeUnits::type unit) const
Definition:
DTT0.cc:48
DTWireId.h
edm
HLT enums.
Definition:
AlignableModifier.h:19
dtCalibration::DTT0FillDefaultFromDB::t0Map_
const DTT0 * t0Map_
Definition:
DTT0FillDefaultFromDB.h:41
DTWireId
Definition:
DTWireId.h:12
edm::ParameterSet
Definition:
ParameterSet.h:47
dtCalibration::DTT0FillDefaultFromDB::correction
DTT0Data correction(const DTWireId &) override
Definition:
DTT0FillDefaultFromDB.cc:41
edm::ConsumesCollector
Definition:
ConsumesCollector.h:45
dtCalibration::DTT0FillDefaultFromDB::t0Token_
edm::ESGetToken< DTT0, DTT0Rcd > t0Token_
Definition:
DTT0FillDefaultFromDB.h:43
Generated for CMSSW Reference Manual by
1.8.14