File indexing completed on 2024-04-06 12:02:47
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 #include "CondTools/DT/interface/DTReadOutMappingHandler.h"
0014
0015
0016
0017
0018 #include "CondFormats/DTObjects/interface/DTReadOutMapping.h"
0019
0020
0021
0022
0023 #include <iostream>
0024 #include <fstream>
0025
0026
0027
0028
0029
0030
0031
0032
0033 DTReadOutMappingHandler::DTReadOutMappingHandler(const edm::ParameterSet& ps)
0034 : dataTag(ps.getParameter<std::string>("tag")),
0035 fileName(ps.getParameter<std::string>("file")),
0036 runNumber(ps.getParameter<unsigned int>("run")) {}
0037
0038
0039
0040
0041 DTReadOutMappingHandler::~DTReadOutMappingHandler() {}
0042
0043
0044
0045
0046 void DTReadOutMappingHandler::getNewObjects() {
0047
0048 cond::TagInfo_t const& ti = tagInfo();
0049 cond::Time_t last = ti.lastInterval.since;
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073
0074
0075
0076
0077
0078
0079
0080 std::string robMap(dataTag);
0081 std::string rosMap(dataTag);
0082 robMap += "_ROB";
0083 rosMap += "_ROS";
0084 DTReadOutMapping* ro_map = new DTReadOutMapping(robMap, rosMap);
0085
0086 int status = 0;
0087 std::ifstream ifile(fileName.c_str());
0088 int ddu;
0089 int ros;
0090 int rob;
0091 int tdc;
0092 int cha;
0093 int whe;
0094 int sta;
0095 int sec;
0096 int qua;
0097 int lay;
0098 int cel;
0099 while (ifile >> ddu >> ros >> rob >> tdc >> cha >> whe >> sta >> sec >> qua >> lay >> cel) {
0100 status = ro_map->insertReadOutGeometryLink(ddu, ros, rob, tdc, cha, whe, sta, sec, qua, lay, cel);
0101 std::cout << ddu << " " << ros << " " << rob << " " << tdc << " " << cha << " " << whe << " " << sta << " " << sec
0102 << " " << qua << " " << lay << " " << cel << " -> ";
0103 std::cout << "insert status: " << status << std::endl;
0104 }
0105
0106
0107
0108
0109
0110
0111
0112
0113
0114
0115
0116 cond::Time_t snc = runNumber;
0117 if (runNumber > last)
0118 m_to_transfer.push_back(std::make_pair(ro_map, snc));
0119 else {
0120 std::cout << "More recent data already present - skipped" << std::endl;
0121 delete ro_map;
0122 }
0123
0124 return;
0125 }
0126
0127 std::string DTReadOutMappingHandler::id() const { return dataTag; }