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;
133 if (in_file.is_open()) {
139 while (!in_file.eof()) {
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;
223 generrorVersion = (int)dbobject.
sVector_[index + 21];
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) {
252 s << temp.
c[0] << temp.
c[1] << temp.
c[2] << temp.
c[3];
256 entries[0] = (int)dbobject.
sVector_[index + 3];
257 entries[1] = (
int)(dbobject.
sVector_[index + 4] * dbobject.
sVector_[index + 5]);
260 edm::LogPrint(
"SiPixelGenErrorDBObjectReader") <<
" Header " << std::endl;
262 <<
"\t" << dbobject.
sVector_[index + 3] <<
"\t" << dbobject.
sVector_[index + 4] <<
"\t"
264 <<
"\t" << dbobject.
sVector_[index + 8] <<
"\t" << dbobject.
sVector_[index + 9] <<
"\t"
266 <<
"\t" << dbobject.
sVector_[index + 13] <<
"\t" << dbobject.
sVector_[index + 14] <<
"\t"
267 << dbobject.
sVector_[index + 15] <<
"\t" << dbobject.
sVector_[index + 16] << 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) {
276 <<
"\t" << dbobject.
sVector_[index + 3] <<
"\n"
277 << dbobject.
sVector_[index + 4] <<
"\t" << dbobject.
sVector_[index + 5] <<
"\t"
278 << dbobject.
sVector_[index + 6] <<
"\t" << dbobject.
sVector_[index + 7] <<
"\t"
279 << dbobject.
sVector_[index + 8] <<
"\t" << dbobject.
sVector_[index + 9] <<
"\t"
280 << dbobject.
sVector_[index + 10] <<
"\t" << dbobject.
sVector_[index + 11] <<
"\n"
281 << dbobject.
sVector_[index + 12] <<
"\t" << dbobject.
sVector_[index + 13] <<
"\t"
282 << dbobject.
sVector_[index + 14] <<
"\t" << dbobject.
sVector_[index + 15] <<
"\t"
283 << dbobject.
sVector_[index + 16] <<
"\t" << dbobject.
sVector_[index + 17] <<
"\t"
284 << dbobject.
sVector_[index + 18] << std::endl;
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)
static bool pushfile(int filenum, std::vector< SiPixelGenErrorStore > &pixelTemp, std::string dir="")
#define DEFINE_FWK_MODULE(type)
void analyze(const edm::Event &, const edm::EventSetup &) override
std::ostream & operator<<(std::ostream &out, const ALILine &li)
bool getData(T &iHolder) const
std::vector< float > sVector() const
edm::ESGetToken< SiPixelGenErrorDBObject, SiPixelGenErrorDBObjectRcd > genErrToken_
Abs< T >::type abs(const T &t)
float lorxwidth()
signed lorentz x-width (microns)
Log< level::Warning, true > LogPrint
SiPixelGenErrorDBObjectReader(const edm::ParameterSet &)
const std::map< unsigned int, short > & getGenErrorIDs() const
bool theDetailedGenErrorDBErrorOutput
~SiPixelGenErrorDBObjectReader() override
float lorywidth()
signed lorentz y-width (microns)
std::string theGenErrorCalibrationLocation
std::vector< float > sVector_
bool theFullGenErrorDBOutput