1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
// -*- C++ -*-
//
// Package: SiPixelCalibConfigurationReadDb
// Class: SiPixelCalibConfigurationReadDb
//
/**\class SiPixelCalibConfigurationReadDb SiPixelCalibConfigurationReadDb.cc CalibTracker/SiPixelTools/plugins/SiPixelCalibConfigurationReadDb.cc
Description: <one line class summary>
Implementation:
<Notes on implementation>
*/
//
// Original Author: Freya Blekman
// Created: Thu Sep 20 12:13:20 CEST 2007
// $Id: SiPixelCalibConfigurationReadDb.cc,v 1.2 2009/02/10 09:27:50 fblekman Exp $
//
//
// system include files
#include <memory>
// user include files
#include "FWCore/Framework/interface/one/EDAnalyzer.h"
#include "FWCore/Framework/interface/EventSetup.h"
#include "FWCore/Framework/interface/MakerMacros.h"
#include "CondFormats/SiPixelObjects/interface/SiPixelCalibConfiguration.h"
#include "FWCore/Framework/interface/ESHandle.h"
#include "CondFormats/DataRecord/interface/SiPixelCalibConfigurationRcd.h"
#include <iostream>
//
// class decleration
//
class SiPixelCalibConfigurationReadDb : public edm::one::EDAnalyzer<> {
public:
explicit SiPixelCalibConfigurationReadDb(const edm::ParameterSet&);
~SiPixelCalibConfigurationReadDb() override;
private:
const edm::ESGetToken<SiPixelCalibConfiguration, SiPixelCalibConfigurationRcd> calibConfigToken;
void analyze(const edm::Event&, const edm::EventSetup&) override;
// ----------member data ---------------------------
bool verbose_;
};
//
// constants, enums and typedefs
//
//
// static data member definitions
//
//
// constructors and destructor
//
SiPixelCalibConfigurationReadDb::SiPixelCalibConfigurationReadDb(const edm::ParameterSet& iConfig)
: calibConfigToken(esConsumes()), verbose_(iConfig.getParameter<bool>("verbosity")) {
//now do what ever initialization is needed
}
SiPixelCalibConfigurationReadDb::~SiPixelCalibConfigurationReadDb() = default;
//
// member functions
//
// ------------ method called to for each event ------------
void SiPixelCalibConfigurationReadDb::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) {
using namespace edm;
LogInfo("") << " examining SiPixelCalibConfiguration database object..." << std::endl;
const SiPixelCalibConfiguration* calib = &iSetup.getData(calibConfigToken);
edm::LogPrint("SiPixelCalibConfigurationReadDb") << "calibration type: " << calib->getCalibrationMode() << std::endl;
edm::LogPrint("SiPixelCalibConfigurationReadDb") << "number of triggers: " << calib->getNTriggers() << std::endl;
std::vector<short> vcalvalues = calib->getVCalValues();
edm::LogPrint("SiPixelCalibConfigurationReadDb") << "number of VCAL: " << vcalvalues.size() << std::endl;
int ngoodcols = 0;
int ngoodrows = 0;
for (uint32_t i = 0; i < vcalvalues.size(); ++i) {
if (verbose_) {
edm::LogPrint("SiPixelCalibConfigurationReadDb")
<< "Vcal values " << i << "," << i + 1 << " : " << vcalvalues[i] << ",";
}
++i;
if (verbose_) {
if (i < vcalvalues.size())
edm::LogPrint("SiPixelCalibConfigurationReadDb") << vcalvalues[i];
edm::LogPrint("SiPixelCalibConfigurationReadDb") << std::endl;
}
}
if (verbose_)
edm::LogPrint("SiPixelCalibConfigurationReadDb") << "column patterns:" << std::endl;
for (uint32_t i = 0; i < calib->getColumnPattern().size(); ++i) {
if (calib->getColumnPattern()[i] != -1) {
if (verbose_)
edm::LogPrint("SiPixelCalibConfigurationReadDb") << calib->getColumnPattern()[i];
ngoodcols++;
}
if (verbose_) {
if (i != 0)
edm::LogPrint("SiPixelCalibConfigurationReadDb") << " ";
if (calib->getColumnPattern()[i] == -1)
edm::LogPrint("SiPixelCalibConfigurationReadDb") << "- ";
}
}
if (verbose_) {
edm::LogPrint("SiPixelCalibConfigurationReadDb") << std::endl;
edm::LogPrint("SiPixelCalibConfigurationReadDb") << "row patterns:" << std::endl;
}
for (uint32_t i = 0; i < calib->getRowPattern().size(); ++i) {
if (calib->getRowPattern()[i] != -1) {
if (verbose_)
edm::LogPrint("SiPixelCalibConfigurationReadDb") << calib->getRowPattern()[i];
ngoodrows++;
}
if (verbose_) {
if (i != 0)
edm::LogPrint("SiPixelCalibConfigurationReadDb") << " ";
if (calib->getRowPattern()[i] == -1)
edm::LogPrint("SiPixelCalibConfigurationReadDb") << "- ";
}
}
if (verbose_) {
edm::LogPrint("SiPixelCalibConfigurationReadDb") << std::endl;
edm::LogPrint("SiPixelCalibConfigurationReadDb") << "number of row patterns: " << ngoodrows << std::endl;
edm::LogPrint("SiPixelCalibConfigurationReadDb") << "number of column patterns: " << ngoodcols << std::endl;
}
edm::LogPrint("SiPixelCalibConfigurationReadDb")
<< "this payload is designed to run on " << vcalvalues.size() * ngoodcols * ngoodrows * calib->getNTriggers()
<< " events." << std::endl;
}
//define this as a plug-in
DEFINE_FWK_MODULE(SiPixelCalibConfigurationReadDb);
|