CMS 3D CMS Logo

Classes | Functions
SiPixelTemplateDBObjectReader.cc File Reference
#include <cmath>
#include <fstream>
#include <iomanip>
#include <iostream>
#include <memory>
#include "CalibTracker/Records/interface/SiPixelTemplateDBObjectESProducerRcd.h"
#include "CondFormats/DataRecord/interface/SiPixelTemplateDBObjectRcd.h"
#include "CondFormats/SiPixelObjects/interface/SiPixelTemplateDBObject.h"
#include "FWCore/Framework/interface/ConsumesCollector.h"
#include "FWCore/Framework/interface/ESHandle.h"
#include "FWCore/Framework/interface/ESWatcher.h"
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/EventSetup.h"
#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "FWCore/Framework/interface/MakerMacros.h"
#include "FWCore/Framework/interface/one/EDAnalyzer.h"
#include "FWCore/ParameterSet/interface/FileInPath.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/Utilities/interface/ESGetToken.h"
#include "Geometry/Records/interface/TrackerDigiGeometryRecord.h"
#include "MagneticField/Engine/interface/MagneticField.h"

Go to the source code of this file.

Classes

class  SiPixelTemplateDBObjectReader
 

Functions

std::ostream & operator<< (std::ostream &s, const SiPixelTemplateDBObject &dbobject)
 
static const edm::ParameterSetDescriptionFillerPluginFactory::PMaker< edm::ParameterSetDescriptionFiller< SiPixelTemplateDBObjectReader > > s_filler_0__LINE__ ("SiPixelTemplateDBObjectReader")
 
static const edm::MakerPluginFactory ::PMaker< edm::WorkerMaker< SiPixelTemplateDBObjectReader > > s_maker__LINE__ ("SiPixelTemplateDBObjectReader")
 

Function Documentation

◆ operator<<()

std::ostream& operator<< ( std::ostream &  s,
const SiPixelTemplateDBObject dbobject 
)

-index to keep track of where we are in the object

-these are modifiable parameters for the extended templates

-entries takes the number of entries in By,Bx,Fy,Fx from the object

-local indicies for loops

-changes the size of the templates based on the version

Definition at line 197 of file SiPixelTemplateDBObjectReader.cc.

References mps_fire::i, ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::if(), createfilelist::int, dqmiolumiharvest::j, isotrackApplyRegressor::k, MainPageGenerator::l, visualization-live-secondInstance_cfg::m, create_idmaps::n, SiPixelTemplateDBObject::numOfTempl(), SiPixelTemplateDBObject::numOfTempl_, alignCSCRings::s, SiPixelTemplateDBObject::sVector_, groupFilesInBlocks::temp, and SiPixelTemplateDBObject::version().

197  {
199  int index = 0;
201  int txsize[4] = {7, 13, 0, 0};
202  int tysize[4] = {21, 21, 0, 0};
204  int entries[4] = {0};
206  int i, j, k, l, m, n, entry_it;
208  int sizeSetter = 0, templateVersion = 0;
209 
210  edm::LogPrint("SiPixelTemplateDBObjectReader") << "\n\nDBobject version: " << dbobject.version() << std::endl;
211 
212  for (m = 0; m < dbobject.numOfTempl(); ++m) {
213  //To change the size of the output based on which template version we are using"
214  templateVersion = (int)dbobject.sVector_[index + 21];
215  if (templateVersion <= 10) {
216  edm::LogPrint("SiPixelTemplateDBObjectReader")
217  << "*****WARNING***** This code will not format this template version properly *****WARNING*****\n";
218  sizeSetter = 0;
219  } else if (templateVersion <= 16)
220  sizeSetter = 1;
221  else
222  edm::LogPrint("SiPixelTemplateDBObjectReader")
223  << "*****WARNING***** This code has not been tested at formatting this version *****WARNING*****\n";
224 
225  edm::LogPrint("SiPixelTemplateDBObjectReader")
226  << "\n\n*********************************************************************************************"
227  << std::endl;
228  edm::LogPrint("SiPixelTemplateDBObjectReader")
229  << "*************** Reading Template ID " << dbobject.sVector_[index + 20] << "\t(" << m + 1
230  << "/" << dbobject.numOfTempl_ << ") ***************" << std::endl;
231  edm::LogPrint("SiPixelTemplateDBObjectReader")
232  << "*********************************************************************************************\n\n"
233  << std::endl;
234 
235  //Header Title
237  for (n = 0; n < 20; ++n) {
238  temp.f = dbobject.sVector_[index];
239  s << temp.c[0] << temp.c[1] << temp.c[2] << temp.c[3];
240  ++index;
241  }
242 
243  entries[0] = (int)dbobject.sVector_[index + 3]; // Y
244  entries[1] = (int)(dbobject.sVector_[index + 4] * dbobject.sVector_[index + 5]); // X
245 
246  //Header
247  s << dbobject.sVector_[index] << "\t" << dbobject.sVector_[index + 1] << "\t" << dbobject.sVector_[index + 2]
248  << "\t" << dbobject.sVector_[index + 3] << "\t" << dbobject.sVector_[index + 4] << "\t"
249  << dbobject.sVector_[index + 5] << "\t" << dbobject.sVector_[index + 6] << "\t" << dbobject.sVector_[index + 7]
250  << "\t" << dbobject.sVector_[index + 8] << "\t" << dbobject.sVector_[index + 9] << "\t"
251  << dbobject.sVector_[index + 10] << "\t" << dbobject.sVector_[index + 11] << "\t" << dbobject.sVector_[index + 12]
252  << "\t" << dbobject.sVector_[index + 13] << "\t" << dbobject.sVector_[index + 14] << "\t"
253  << dbobject.sVector_[index + 15] << "\t" << dbobject.sVector_[index + 16] << std::endl;
254  index += 17;
255 
256  //Loop over By,Bx,Fy,Fx
257  for (entry_it = 0; entry_it < 4; ++entry_it) {
258  //Run,costrk,qavg,...,clslenx
259  for (i = 0; i < entries[entry_it]; ++i) {
260  s << dbobject.sVector_[index] << "\t" << dbobject.sVector_[index + 1] << "\t" << dbobject.sVector_[index + 2]
261  << "\t" << dbobject.sVector_[index + 3] << "\n"
262  << dbobject.sVector_[index + 4] << "\t" << dbobject.sVector_[index + 5] << "\t"
263  << dbobject.sVector_[index + 6] << "\t" << dbobject.sVector_[index + 7] << "\t"
264  << dbobject.sVector_[index + 8] << "\t" << dbobject.sVector_[index + 9] << "\t"
265  << dbobject.sVector_[index + 10] << "\t" << dbobject.sVector_[index + 11] << "\n"
266  << dbobject.sVector_[index + 12] << "\t" << dbobject.sVector_[index + 13] << "\t"
267  << dbobject.sVector_[index + 14] << "\t" << dbobject.sVector_[index + 15] << "\t"
268  << dbobject.sVector_[index + 16] << "\t" << dbobject.sVector_[index + 17] << "\t"
269  << dbobject.sVector_[index + 18] << std::endl;
270  index += 19;
271  //YPar
272  for (j = 0; j < 2; ++j) {
273  for (k = 0; k < 5; ++k) {
274  s << dbobject.sVector_[index] << "\t";
275  ++index;
276  }
277  s << std::endl;
278  }
279  //YTemp
280  for (j = 0; j < 9; ++j) {
281  for (k = 0; k < tysize[sizeSetter]; ++k) {
282  s << dbobject.sVector_[index] << "\t";
283  ++index;
284  }
285  s << std::endl;
286  }
287  //XPar
288  for (j = 0; j < 2; ++j) {
289  for (k = 0; k < 5; ++k) {
290  s << dbobject.sVector_[index] << "\t";
291  ++index;
292  }
293  s << std::endl;
294  }
295  //XTemp
296  for (j = 0; j < 9; ++j) {
297  for (k = 0; k < txsize[sizeSetter]; ++k) {
298  s << dbobject.sVector_[index] << "\t";
299  ++index;
300  }
301  s << std::endl;
302  }
303  //Y average reco params
304  for (j = 0; j < 4; ++j) {
305  for (k = 0; k < 4; ++k) {
306  s << dbobject.sVector_[index] << "\t";
307  ++index;
308  }
309  s << std::endl;
310  }
311  //Yflpar
312  for (j = 0; j < 4; ++j) {
313  for (k = 0; k < 6; ++k) {
314  s << dbobject.sVector_[index] << "\t";
315  ++index;
316  }
317  s << std::endl;
318  }
319  //X average reco params
320  for (j = 0; j < 4; ++j) {
321  for (k = 0; k < 4; ++k) {
322  s << dbobject.sVector_[index] << "\t";
323  ++index;
324  }
325  s << std::endl;
326  }
327  //Xflpar
328  for (j = 0; j < 4; ++j) {
329  for (k = 0; k < 6; ++k) {
330  s << dbobject.sVector_[index] << "\t";
331  ++index;
332  }
333  s << std::endl;
334  }
335  //Chi2X,Y
336  for (j = 0; j < 4; ++j) {
337  for (k = 0; k < 2; ++k) {
338  for (l = 0; l < 2; ++l) {
339  s << dbobject.sVector_[index] << "\t";
340  ++index;
341  }
342  }
343  s << std::endl;
344  }
345  //Y average Chi2 params
346  for (j = 0; j < 4; ++j) {
347  for (k = 0; k < 4; ++k) {
348  s << dbobject.sVector_[index] << "\t";
349  ++index;
350  }
351  s << std::endl;
352  }
353  //X average Chi2 params
354  for (j = 0; j < 4; ++j) {
355  for (k = 0; k < 4; ++k) {
356  s << dbobject.sVector_[index] << "\t";
357  ++index;
358  }
359  s << std::endl;
360  }
361  //Y average reco params for CPE Generic
362  for (j = 0; j < 4; ++j) {
363  for (k = 0; k < 4; ++k) {
364  s << dbobject.sVector_[index] << "\t";
365  ++index;
366  }
367  s << std::endl;
368  }
369  //X average reco params for CPE Generic
370  for (j = 0; j < 4; ++j) {
371  for (k = 0; k < 4; ++k) {
372  s << dbobject.sVector_[index] << "\t";
373  ++index;
374  }
375  s << std::endl;
376  }
377  //SpareX,Y
378  for (j = 0; j < 20; ++j) {
379  s << dbobject.sVector_[index] << "\t";
380  ++index;
381  if (j == 9 || j == 19)
382  s << std::endl;
383  }
384  }
385  }
386  }
387  return s;
388 }
Log< level::Warning, true > LogPrint
if(threadIdxLocalY==0 &&threadIdxLocalX==0)

◆ s_filler_0__LINE__()

static const edm::ParameterSetDescriptionFillerPluginFactory::PMaker<edm::ParameterSetDescriptionFiller< SiPixelTemplateDBObjectReader > > s_filler_0__LINE__ ( "SiPixelTemplateDBObjectReader"  )
static

◆ s_maker__LINE__()

static const edm::MakerPluginFactory ::PMaker< edm::WorkerMaker< SiPixelTemplateDBObjectReader > > s_maker__LINE__ ( "SiPixelTemplateDBObjectReader"  )
static