CondTools
CTPPS
plugins
PPSTimingCalibrationWriter.cc
Go to the documentation of this file.
1
/****************************************************************************
2
*
3
* This is a part of TOTEM/PPS offline software.
4
* Author:
5
* Laurent Forthomme (laurent.forthomme@cern.ch)
6
*
7
****************************************************************************/
8
9
#include "
FWCore/Framework/interface/Frameworkfwd.h
"
10
#include "
FWCore/Framework/interface/one/EDAnalyzer.h
"
11
#include "
FWCore/Framework/interface/Event.h
"
12
#include "
FWCore/Framework/interface/EventSetup.h
"
13
#include "
FWCore/Framework/interface/ESHandle.h
"
14
#include "
FWCore/Framework/interface/MakerMacros.h
"
15
16
#include "
FWCore/ParameterSet/interface/ParameterSet.h
"
17
#include "
FWCore/ServiceRegistry/interface/Service.h
"
18
19
#include "
CondCore/DBOutputService/interface/PoolDBOutputService.h
"
20
21
#include "
CondFormats/PPSObjects/interface/PPSTimingCalibration.h
"
22
#include "
CondFormats/DataRecord/interface/PPSTimingCalibrationRcd.h
"
23
24
#include <memory>
25
26
class
PPSTimingCalibrationWriter
:
public
edm::one::EDAnalyzer
<> {
27
public
:
28
explicit
PPSTimingCalibrationWriter
(
const
edm::ParameterSet
&) {}
29
30
private
:
31
void
beginJob
()
override
{}
32
void
analyze
(
const
edm::Event
&,
const
edm::EventSetup
&)
override
;
33
void
endJob
()
override
{}
34
};
35
36
void
PPSTimingCalibrationWriter::analyze
(
const
edm::Event
&
iEvent
,
const
edm::EventSetup
& iSetup) {
37
// get timing calibration parameters
38
edm::ESHandle<PPSTimingCalibration>
hTimingCalib;
39
iSetup.
get
<
PPSTimingCalibrationRcd
>().
get
(hTimingCalib);
40
41
// store the calibration into a DB object
42
edm::Service<cond::service::PoolDBOutputService>
poolDbService;
43
if
(poolDbService.
isAvailable
())
44
poolDbService->
writeOne
(hTimingCalib.
product
(), poolDbService->
currentTime
(),
"PPSTimingCalibrationRcd"
);
45
else
46
throw
cms::Exception
(
"PPSTimingCalibrationWriter"
) <<
"PoolDBService required."
;
47
}
48
49
DEFINE_FWK_MODULE
(
PPSTimingCalibrationWriter
);
edm::ESHandle::product
T const * product() const
Definition:
ESHandle.h:86
EDAnalyzer.h
ESHandle.h
PPSTimingCalibrationWriter::beginJob
void beginJob() override
Definition:
PPSTimingCalibrationWriter.cc:35
PPSTimingCalibrationWriter::analyze
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition:
PPSTimingCalibrationWriter.cc:35
edm::one::EDAnalyzer
Definition:
EDAnalyzer.h:30
edm::Service::isAvailable
bool isAvailable() const
Definition:
Service.h:40
PPSTimingCalibrationWriter::PPSTimingCalibrationWriter
PPSTimingCalibrationWriter(const edm::ParameterSet &)
Definition:
PPSTimingCalibrationWriter.cc:32
MakerMacros.h
PoolDBOutputService.h
edm::EventSetup::get
T get() const
Definition:
EventSetup.h:80
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition:
MakerMacros.h:16
Service.h
edm::ESHandle
Definition:
DTSurvey.h:22
edm::ParameterSet
Definition:
ParameterSet.h:47
PPSTimingCalibrationWriter::endJob
void endJob() override
Definition:
PPSTimingCalibrationWriter.cc:37
Event.h
edm::Service< cond::service::PoolDBOutputService >
iEvent
int iEvent
Definition:
GenABIO.cc:224
PPSTimingCalibrationRcd
EventSetup record for TOTEM/PPS timing calibration information.
Definition:
PPSTimingCalibrationRcd.h:14
edm::EventSetup
Definition:
EventSetup.h:57
get
#define get
PPSTimingCalibration.h
Frameworkfwd.h
Exception
Definition:
hltDiff.cc:246
cond::service::PoolDBOutputService::writeOne
Hash writeOne(const T *payload, Time_t time, const std::string &recordName)
Definition:
PoolDBOutputService.h:63
PPSTimingCalibrationRcd.h
EventSetup.h
PPSTimingCalibrationWriter
Definition:
PPSTimingCalibrationWriter.cc:25
ParameterSet.h
edm::Event
Definition:
Event.h:73
cond::service::PoolDBOutputService::currentTime
cond::Time_t currentTime() const
Definition:
PoolDBOutputService.cc:217
Generated for CMSSW Reference Manual by
1.8.16