Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-04-04 01:26:24

0001 #include <memory>
0002 
0003 // user include files
0004 #include "FWCore/Framework/interface/Frameworkfwd.h"
0005 
0006 #include "FWCore/Framework/interface/Event.h"
0007 #include "FWCore/Framework/interface/MakerMacros.h"
0008 
0009 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0010 //
0011 // class decleration
0012 //
0013 #include "CondTools/RPC/interface/RPCDBPerformanceHandler.h"
0014 #include <iostream>
0015 #include <fstream>
0016 
0017 #include "DataFormats/Common/interface/Handle.h"
0018 #include "FWCore/Framework/interface/ESHandle.h"
0019 #include "Geometry/Records/interface/MuonGeometryRecord.h"
0020 #include "DataFormats/Common/interface/Handle.h"
0021 #include "FWCore/Framework/interface/ESHandle.h"
0022 #include "Geometry/Records/interface/MuonGeometryRecord.h"
0023 #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h"
0024 #include "FWCore/AbstractServices/interface/RandomNumberGenerator.h"
0025 #include "FWCore/ServiceRegistry/interface/Service.h"
0026 #include "FWCore/Framework/interface/Event.h"
0027 #include "FWCore/Framework/interface/EventSetup.h"
0028 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0029 #include "SimDataFormats/TrackingHit/interface/PSimHitContainer.h"
0030 
0031 #include "CondTools/RPC/interface/RPCDBSimSetUp.h"
0032 
0033 #include "DataFormats/MuonDetId/interface/RPCDetId.h"
0034 #include "CondFormats/RPCObjects/interface/RPCStripNoises.h"
0035 #include "CondFormats/DataRecord/interface/RPCStripNoisesRcd.h"
0036 
0037 #include <cmath>
0038 #include <cmath>
0039 #include <fstream>
0040 #include <sstream>
0041 #include <iostream>
0042 #include <cstring>
0043 #include <string>
0044 #include <vector>
0045 #include <cstdlib>
0046 #include <utility>
0047 #include <map>
0048 
0049 using namespace edm;
0050 
0051 RPCDBPerformanceHandler::RPCDBPerformanceHandler(const edm::ParameterSet& pset)
0052     : m_since(pset.getUntrackedParameter<int>("firstSince")), dataTag(pset.getParameter<std::string>("tag")) {
0053   theRPCSimSetUp = new RPCDBSimSetUp(pset);
0054 }
0055 
0056 RPCDBPerformanceHandler::~RPCDBPerformanceHandler() {}
0057 
0058 void RPCDBPerformanceHandler::getNewObjects() {
0059   std::cout << " - > getNewObjects\n"
0060             <<
0061       //check whats already inside of database
0062       "got offlineInfo" << tagInfo().name << ", size " << tagInfo().size << ", last object valid since "
0063             << tagInfo().lastInterval.since << std::endl;
0064 
0065   RPCStripNoises* obj = new RPCStripNoises();
0066 
0067   std::map<int, std::vector<double> >::iterator itc;
0068   for (itc = (theRPCSimSetUp->_clsMap).begin(); itc != (theRPCSimSetUp->_clsMap).end(); ++itc) {
0069     for (unsigned int n = 0; n < (itc->second).size(); ++n) {
0070       (obj->v_cls).push_back((itc->second)[n]);
0071     }
0072   }
0073 
0074   RPCStripNoises::NoiseItem tipoprova;
0075 
0076   for (std::map<uint32_t, std::vector<float> >::iterator it = (theRPCSimSetUp->_mapDetIdNoise).begin();
0077        it != (theRPCSimSetUp->_mapDetIdNoise).end();
0078        it++) {
0079     tipoprova.dpid = it->first;
0080     tipoprova.time = theRPCSimSetUp->getTime(it->first);
0081 
0082     for (unsigned int k = 0; k < 96; ++k) {
0083       tipoprova.noise = ((it->second))[k];
0084       tipoprova.eff = (theRPCSimSetUp->getEff(it->first))[k];
0085       (obj->v_noises).push_back(tipoprova);
0086     }
0087 
0088     edm::LogError("RPCStripNoisesBuilder") << "[RPCStripNoisesBuilder::analyze] detid already exists" << std::endl;
0089   }
0090 
0091   // prepare for transfer:
0092   m_to_transfer.push_back(std::make_pair((RPCStripNoises*)obj, m_since));
0093 }
0094 
0095 std::string RPCDBPerformanceHandler::id() const { return dataTag; }