SiPixelCalibConfigurationReadDb

Line Code
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);