File indexing completed on 2024-04-06 12:02:27
0001 #include "FWCore/ServiceRegistry/interface/Service.h"
0002 #include "CondFormats/PhysicsToolsObjects/test/SiStripDeDxMipBuilder.h"
0003 #include "CondFormats/PhysicsToolsObjects/interface/Histogram2D.h"
0004 #include "CondCore/DBOutputService/interface/PoolDBOutputService.h"
0005
0006
0007 #include <iostream>
0008 #include <fstream>
0009
0010 SiStripDeDxMipBuilder::SiStripDeDxMipBuilder(const edm::ParameterSet& iConfig) {}
0011
0012
0013
0014 void SiStripDeDxMipBuilder::analyze(const edm::Event& evt, const edm::EventSetup& iSetup) {
0015 unsigned int run = evt.id().run();
0016
0017 edm::LogInfo("SiStripDeDxMipBuilder")
0018 << "... creating dummy PhysicsToolsObjects::Calibration::HistogramD2D Data for Run " << run << "\n " << std::endl;
0019
0020
0021 PhysicsTools::Calibration::HistogramD2D obj(300, 0., 3., 1000, 0., 1000.);
0022
0023 for (int ix = 0; ix < 300; ix++) {
0024 for (int iy = 0; iy < 1000; iy++) {
0025 obj.setBinContent(ix, iy, iy / 999.);
0026 }
0027 }
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054 edm::Service<cond::service::PoolDBOutputService> mydbservice;
0055
0056 if (mydbservice.isAvailable()) {
0057 if (mydbservice->isNewTagRequest("SiStripDeDxMipRcd")) {
0058 mydbservice->createOneIOV<PhysicsTools::Calibration::HistogramD2D>(
0059 obj, mydbservice->beginOfTime(), "SiStripDeDxMipRcd");
0060 } else {
0061 mydbservice->appendOneIOV<PhysicsTools::Calibration::HistogramD2D>(
0062 obj, mydbservice->currentTime(), "SiStripDeDxMipRcd");
0063 }
0064 } else {
0065 edm::LogError("SiStripDeDxMipBuilder") << "Service is unavailable" << std::endl;
0066 }
0067 }
0068
0069 #include "FWCore/PluginManager/interface/ModuleDef.h"
0070 #include "FWCore/Framework/interface/MakerMacros.h"
0071
0072 DEFINE_FWK_MODULE(SiStripDeDxMipBuilder);