File indexing completed on 2024-10-16 05:03:43
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 #include "CondTools/DT/interface/DTStatusFlagHandler.h"
0014
0015
0016
0017
0018 #include "CondFormats/DTObjects/interface/DTStatusFlag.h"
0019
0020
0021
0022
0023 #include <iostream>
0024 #include <fstream>
0025
0026
0027
0028
0029
0030
0031
0032
0033 DTStatusFlagHandler::DTStatusFlagHandler(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 DTStatusFlagHandler::~DTStatusFlagHandler() {}
0042
0043
0044
0045
0046 void DTStatusFlagHandler::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 if (runNumber <= last) {
0080 std::cout << "More recent data already present - skipped" << std::endl;
0081 return;
0082 }
0083
0084 DTStatusFlag* stFlag = new DTStatusFlag(dataTag);
0085
0086 int status = 0;
0087 std::ifstream ifile(fileName.c_str());
0088 int whe;
0089 int sta;
0090 int sec;
0091 int qua;
0092 int lay;
0093 int cel;
0094 int noiseFlag;
0095 int feMask;
0096 int tdcMask;
0097 int trigMask;
0098 int deadFlag;
0099 int nohvFlag;
0100 while (ifile >> whe >> sta >> sec >> qua >> lay >> cel >> noiseFlag >> feMask >> tdcMask >> trigMask >> deadFlag >>
0101 nohvFlag) {
0102 status = stFlag->set(whe,
0103 sta,
0104 sec,
0105 qua,
0106 lay,
0107 cel,
0108 noiseFlag != 0,
0109 feMask != 0,
0110 tdcMask != 0,
0111 trigMask != 0,
0112 deadFlag != 0,
0113 nohvFlag != 0);
0114 std::cout << whe << " " << sta << " " << sec << " " << qua << " " << lay << " " << cel << " " << noiseFlag << " "
0115 << feMask << " " << tdcMask << " " << trigMask << " " << deadFlag << " " << nohvFlag << " -> ";
0116 std::cout << "insert status: " << status << std::endl;
0117 }
0118
0119
0120
0121
0122
0123
0124
0125
0126
0127
0128
0129 m_to_transfer.emplace_back(stFlag, runNumber);
0130 }
0131
0132 std::string DTStatusFlagHandler::id() const { return dataTag; }