49 : theGenErrorCalibrationLocation(iConfig.getParameter<
std::
string>(
"siPixelGenErrorCalibrationLocation")),
50 theDetailedGenErrorDBErrorOutput(iConfig.getParameter<
bool>(
"wantDetailedGenErrorDBErrorOutput")),
51 theFullGenErrorDBOutput(iConfig.getParameter<
bool>(
"wantFullGenErrorDBOutput")),
59 edm::LogPrint(
"SiPixelGenErrorDBObjectReader") <<
"\nLoading ... " << std::endl;
66 <<
" DBObject version " << dbobject.
version() <<
" index " << dbobject.
index() <<
" max " << dbobject.
maxIndex()
67 <<
" fail " << dbobject.
fail() <<
" numOfTeml " << dbobject.
numOfTempl() << std::endl;
70 edm::LogPrint(
"SiPixelGenErrorDBObjectReader") <<
"Map info" << std::endl;
71 std::vector<short> tempMapId;
72 std::map<unsigned int, short> templMap = dbobject.
getGenErrorIDs();
73 for (std::map<unsigned int, short>::const_iterator
it = templMap.begin();
it != templMap.end(); ++
it) {
74 if (tempMapId.empty())
75 tempMapId.push_back(
it->second);
76 for (
unsigned int i = 0;
i < tempMapId.size(); ++
i) {
77 if (tempMapId[
i] ==
it->second)
79 else if (
i == tempMapId.size() - 1) {
80 tempMapId.push_back(
it->second);
85 edm::LogPrint(
"SiPixelGenErrorDBObjectReader") <<
"DetId: " <<
it->first <<
" GenErrorID: " <<
it->second <<
"\n";
88 edm::LogPrint(
"SiPixelGenErrorDBObjectReader") <<
"\nMap stores GenError Id(s): ";
89 for (
unsigned int vindex = 0; vindex < tempMapId.size(); ++vindex)
90 edm::LogPrint(
"SiPixelGenErrorDBObjectReader") << tempMapId[vindex] <<
" ";
97 <<
" no file for camparison defined, comparison will be skipped " << std::endl;
104 float tempnum = 0,
diff = 0;
106 bool givenErrorMsg =
false;
109 <<
"\nChecking GenError DB object version " << dbobject.
version() <<
" containing " << numOfTempl
110 <<
" calibration(s) at " << dbobject.
sVector()[
index + 22] <<
"T\n";
112 for (
int i = 0;
i < numOfTempl; ++
i) {
119 <<
"Calibration " <<
i + 1 <<
" of " << numOfTempl <<
", with GenError ID " << dbobject.
sVector()[
index]
120 <<
"\tand Version " << dbobject.
sVector()[
index + 1] <<
"\t-------- " << std::endl;
123 std::ostringstream tout;
125 << std::right << dbobject.
sVector()[
index] <<
".out" << std::ends;
131 <<
" open file " << tout.str() <<
" " <<
in_file.is_open() << std::endl;
147 edm::LogPrint(
"SiPixelGenErrorDBObjectReader") <<
"does NOT match\n";
150 givenErrorMsg =
true;
154 <<
"from file = " << tempnum <<
"\t from dbobject = " << dbobject.
sVector()[
index]
155 <<
"\tdiff = " <<
diff <<
"\t db index = " <<
index << std::endl;
164 edm::LogPrint(
"SiPixelGenErrorDBObjectReader") <<
"MATCHES\n";
167 <<
" ERROR: cannot open file, comparison will be stopped" << std::endl;
171 givenErrorMsg =
false;
177 <<
"\nThe were differences found between the files and the database.\n" 178 <<
"If you would like more detailed information please set\n" 179 <<
"wantDetailedOutput = True in the cfg file. If you would like a\n" 180 <<
"full output of the contents of the database file please set\n" 181 <<
"wantFullOutput = True. Make sure that you pipe the output to a\n" 182 <<
"log file. This could take a few minutes.\n\n";
187 std::vector<SiPixelGenErrorStore> thePixelGenError;
190 <<
" status = " <<
status <<
" size = " << thePixelGenError.size() << std::endl;
195 <<
" some values " << genError.
lorxwidth() <<
" " << genError.
lorywidth() <<
" " << std::endl;
199 edm::LogPrint(
"SiPixelGenErrorDBObjectReader") << dbobject << std::endl;
210 int txsize[4] = {7, 13, 0, 0};
211 int tysize[4] = {21, 21, 0, 0};
213 int entries[4] = {0};
215 int i,
j,
k,
l,
m,
n, entry_it;
217 int sizeSetter = 1, generrorVersion = 0;
219 edm::LogPrint(
"SiPixelGenErrorDBObjectReader") <<
"\n\nDBobject version: " << dbobject.
version() << std::endl;
225 edm::LogPrint(
"SiPixelGenErrorDBObjectReader") <<
" GenError version " << generrorVersion <<
" " <<
m << std::endl;
227 if (generrorVersion <= 10) {
229 <<
"*****WARNING***** This code will not format this GenError version properly *****WARNING*****\n";
231 }
else if (generrorVersion <= 16)
235 <<
"*****WARNING***** This code has not been tested at formatting this version *****WARNING*****\n";
238 <<
"\n\n*********************************************************************************************" 241 <<
"*************** Reading GenError ID " << dbobject.
sVector_[
index + 20] <<
"\t(" <<
m + 1
242 <<
"/" << dbobject.
numOfTempl_ <<
") ***************" << std::endl;
244 <<
"*********************************************************************************************\n\n" 248 edm::LogPrint(
"SiPixelGenErrorDBObjectReader") <<
" Header Title" << std::endl;
250 for (
n = 0;
n < 20; ++
n) {
260 edm::LogPrint(
"SiPixelGenErrorDBObjectReader") <<
" Header " << std::endl;
271 edm::LogPrint(
"SiPixelGenErrorDBObjectReader") <<
" ByBxFyFx" << std::endl;
272 for (entry_it = 0; entry_it < 4; ++entry_it) {
274 for (
i = 0;
i < entries[entry_it]; ++
i) {
287 edm::LogPrint(
"SiPixelGenErrorDBObjectReader") <<
" YPar" << std::endl;
288 for (
j = 0;
j < 2; ++
j) {
289 for (
k = 0;
k < 5; ++
k) {
296 edm::LogPrint(
"SiPixelGenErrorDBObjectReader") <<
" YTemp" << std::endl;
297 for (
j = 0;
j < 9; ++
j) {
298 for (
k = 0;
k < tysize[sizeSetter]; ++
k) {
305 edm::LogPrint(
"SiPixelGenErrorDBObjectReader") <<
" XPar" << std::endl;
306 for (
j = 0;
j < 2; ++
j) {
307 for (
k = 0;
k < 5; ++
k) {
314 edm::LogPrint(
"SiPixelGenErrorDBObjectReader") <<
" Xtemp" << std::endl;
315 for (
j = 0;
j < 9; ++
j) {
316 for (
k = 0;
k < txsize[sizeSetter]; ++
k) {
323 edm::LogPrint(
"SiPixelGenErrorDBObjectReader") <<
" Y average reco params " << std::endl;
324 for (
j = 0;
j < 4; ++
j) {
325 for (
k = 0;
k < 4; ++
k) {
332 edm::LogPrint(
"SiPixelGenErrorDBObjectReader") <<
" Yflar " << std::endl;
333 for (
j = 0;
j < 4; ++
j) {
334 for (
k = 0;
k < 6; ++
k) {
341 edm::LogPrint(
"SiPixelGenErrorDBObjectReader") <<
" X average reco params" << std::endl;
342 for (
j = 0;
j < 4; ++
j) {
343 for (
k = 0;
k < 4; ++
k) {
350 edm::LogPrint(
"SiPixelGenErrorDBObjectReader") <<
" Xflar" << std::endl;
351 for (
j = 0;
j < 4; ++
j) {
352 for (
k = 0;
k < 6; ++
k) {
359 edm::LogPrint(
"SiPixelGenErrorDBObjectReader") <<
" XY chi2" << std::endl;
360 for (
j = 0;
j < 4; ++
j) {
361 for (
k = 0;
k < 2; ++
k) {
362 for (
l = 0;
l < 2; ++
l) {
370 edm::LogPrint(
"SiPixelGenErrorDBObjectReader") <<
" Y chi2" << std::endl;
371 for (
j = 0;
j < 4; ++
j) {
372 for (
k = 0;
k < 4; ++
k) {
379 edm::LogPrint(
"SiPixelGenErrorDBObjectReader") <<
" X chi2" << std::endl;
380 for (
j = 0;
j < 4; ++
j) {
381 for (
k = 0;
k < 4; ++
k) {
388 edm::LogPrint(
"SiPixelGenErrorDBObjectReader") <<
" Y reco params for generic" << std::endl;
389 for (
j = 0;
j < 4; ++
j) {
390 for (
k = 0;
k < 4; ++
k) {
397 edm::LogPrint(
"SiPixelGenErrorDBObjectReader") <<
" X reco params for generic" << std::endl;
398 for (
j = 0;
j < 4; ++
j) {
399 for (
k = 0;
k < 4; ++
k) {
406 edm::LogPrint(
"SiPixelGenErrorDBObjectReader") <<
" Spare " << std::endl;
407 for (
j = 0;
j < 20; ++
j) {
410 if (
j == 9 ||
j == 19)
std::ostream & operator<<(std::ostream &s, const SiPixelGenErrorDBObject &dbobject)
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
static bool pushfile(int filenum, std::vector< SiPixelGenErrorStore > &pixelTemp, std::string dir="")
void analyze(const edm::Event &, const edm::EventSetup &) override
edm::ESGetToken< SiPixelGenErrorDBObject, SiPixelGenErrorDBObjectRcd > genErrToken_
Abs< T >::type abs(const T &t)
#define DEFINE_FWK_MODULE(type)
float lorxwidth()
signed lorentz x-width (microns)
Log< level::Warning, true > LogPrint
SiPixelGenErrorDBObjectReader(const edm::ParameterSet &)
std::vector< float > sVector() const
bool theDetailedGenErrorDBErrorOutput
~SiPixelGenErrorDBObjectReader() override
float lorywidth()
signed lorentz y-width (microns)
std::string theGenErrorCalibrationLocation
const std::map< unsigned int, short > & getGenErrorIDs() const
std::vector< float > sVector_
bool theFullGenErrorDBOutput