CondTools
CTPPS
src
WriteCTPPSPixelAnalysisMask.cc
Go to the documentation of this file.
1
/****************************************************************************
2
*
3
* Offline analyzer for writing CTPPS Analysis Mask sqlite file
4
* H. Malbouisson
5
* based on TOTEM code from Jan Kašpar (jan.kaspar@gmail.com)
6
*
7
****************************************************************************/
8
9
#include "
FWCore/Framework/interface/one/EDAnalyzer.h
"
10
#include "
FWCore/Framework/interface/Event.h
"
11
#include "
FWCore/ParameterSet/interface/ParameterSet.h
"
12
#include "
FWCore/Framework/interface/EventSetup.h
"
13
#include "
FWCore/Framework/interface/MakerMacros.h
"
14
#include "
FWCore/Framework/interface/ESHandle.h
"
15
#include "
CondCore/CondDB/interface/Time.h
"
16
17
#include "
FWCore/Framework/interface/Frameworkfwd.h
"
18
#include "
FWCore/Framework/interface/EDProducer.h
"
19
20
#include "
FWCore/ServiceRegistry/interface/Service.h
"
21
#include "
CondCore/DBOutputService/interface/PoolDBOutputService.h
"
22
23
#include "
CondFormats/DataRecord/interface/CTPPSPixelDAQMappingRcd.h
"
24
#include "
CondFormats/DataRecord/interface/CTPPSPixelAnalysisMaskRcd.h
"
25
#include "
CondFormats/PPSObjects/interface/CTPPSPixelDAQMapping.h
"
26
#include "
CondFormats/PPSObjects/interface/CTPPSPixelAnalysisMask.h
"
27
28
#include <cstdint>
29
30
//----------------------------------------------------------------------------------------------------
31
35
class
WriteCTPPSPixelAnalysisMask
:
public
edm::one::EDAnalyzer
<> {
36
public
:
37
WriteCTPPSPixelAnalysisMask
(
const
edm::ParameterSet
&ps);
38
~WriteCTPPSPixelAnalysisMask
()
override
{}
39
40
private
:
41
void
analyze
(
const
edm::Event
&
e
,
const
edm::EventSetup
&es)
override
;
42
cond::Time_t
analysismaskiov_
;
43
std::string
record_
;
44
std::string
label_
;
45
};
46
47
using namespace
std
;
48
using namespace
edm
;
49
50
//----------------------------------------------------------------------------------------------------
51
52
WriteCTPPSPixelAnalysisMask::WriteCTPPSPixelAnalysisMask
(
const
edm::ParameterSet
&ps)
53
: analysismaskiov_(ps.getParameter<unsigned long long>(
"analysismaskiov"
)),
54
record_(ps.getParameter<
string
>(
"record"
)),
55
label_(ps.getParameter<
string
>(
"label"
)) {}
56
57
void
WriteCTPPSPixelAnalysisMask::analyze
(
const
edm::Event
&,
edm::EventSetup
const
&es) {
58
// get analysis mask to mask channels
59
ESHandle<CTPPSPixelAnalysisMask>
analysisMask;
60
es.
get
<
CTPPSPixelAnalysisMaskRcd
>().
get
(
label_
, analysisMask);
61
62
/*// print analysisMask
63
printf("* mask\n");
64
for (const auto &p : analysisMask->analysisMask)
65
cout << " " << p.first
66
<< ": fullMask=" << p.second.fullMask
67
<< ", number of masked channels " << p.second.maskedPixels.size() << endl;
68
*/
69
70
// Write Analysis Mask to sqlite file:
71
const
CTPPSPixelAnalysisMask
*pCTPPSPixelAnalysisMask = analysisMask.
product
();
// Analysis Mask
72
edm::Service<cond::service::PoolDBOutputService>
poolDbService;
73
if
(poolDbService.
isAvailable
()) {
74
poolDbService->
writeOne
(pCTPPSPixelAnalysisMask,
analysismaskiov_
,
/*m_record*/
record_
);
75
}
76
}
77
78
//----------------------------------------------------------------------------------------------------
79
80
DEFINE_FWK_MODULE
(
WriteCTPPSPixelAnalysisMask
);
edm::ESHandle::product
T const * product() const
Definition:
ESHandle.h:86
CTPPSPixelAnalysisMaskRcd.h
EDAnalyzer.h
WriteCTPPSPixelAnalysisMask::record_
std::string record_
Definition:
WriteCTPPSPixelAnalysisMask.cc:47
CTPPSPixelDAQMappingRcd.h
EDProducer.h
ESHandle.h
edm
HLT enums.
Definition:
AlignableModifier.h:19
edm::one::EDAnalyzer
Definition:
EDAnalyzer.h:30
edm::Service::isAvailable
bool isAvailable() const
Definition:
Service.h:40
MakerMacros.h
WriteCTPPSPixelAnalysisMask::analyze
void analyze(const edm::Event &e, const edm::EventSetup &es) override
Definition:
WriteCTPPSPixelAnalysisMask.cc:56
CTPPSPixelAnalysisMask
Channel-mask mapping.
Definition:
CTPPSPixelAnalysisMask.h:34
PoolDBOutputService.h
edm::EventSetup::get
T get() const
Definition:
EventSetup.h:73
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition:
MakerMacros.h:16
Service.h
edm::ESHandle
Definition:
DTSurvey.h:22
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
CTPPSPixelAnalysisMaskRcd
Definition:
CTPPSPixelAnalysisMaskRcd.h:23
CTPPSPixelAnalysisMask.h
Time.h
edm::ParameterSet
Definition:
ParameterSet.h:36
Event.h
WriteCTPPSPixelAnalysisMask::analysismaskiov_
cond::Time_t analysismaskiov_
Definition:
WriteCTPPSPixelAnalysisMask.cc:46
cond::Time_t
unsigned long long Time_t
Definition:
Time.h:14
edm::Service< cond::service::PoolDBOutputService >
edm::EventSetup
Definition:
EventSetup.h:57
get
#define get
WriteCTPPSPixelAnalysisMask::WriteCTPPSPixelAnalysisMask
WriteCTPPSPixelAnalysisMask(const edm::ParameterSet &ps)
Definition:
WriteCTPPSPixelAnalysisMask.cc:51
std
Definition:
JetResolutionObject.h:76
CTPPSPixelDAQMapping.h
WriteCTPPSPixelAnalysisMask::~WriteCTPPSPixelAnalysisMask
~WriteCTPPSPixelAnalysisMask() override
Definition:
WriteCTPPSPixelAnalysisMask.cc:42
Frameworkfwd.h
cond::service::PoolDBOutputService::writeOne
Hash writeOne(const T *payload, Time_t time, const std::string &recordName)
Definition:
PoolDBOutputService.h:57
WriteCTPPSPixelAnalysisMask::label_
std::string label_
Definition:
WriteCTPPSPixelAnalysisMask.cc:48
EventSetup.h
ParameterSet.h
edm::Event
Definition:
Event.h:73
WriteCTPPSPixelAnalysisMask
Prints the Analysis Mask loaded by TotemDAQMappingESSourceXML.
Definition:
WriteCTPPSPixelAnalysisMask.cc:34
MillePedeFileConverter_cfg.e
e
Definition:
MillePedeFileConverter_cfg.py:37
Generated for CMSSW Reference Manual by
1.8.16