File indexing completed on 2023-03-17 10:47:50
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
0080 DTStatusFlag* stFlag = new DTStatusFlag(dataTag);
0081
0082 int status = 0;
0083 std::ifstream ifile(fileName.c_str());
0084 int whe;
0085 int sta;
0086 int sec;
0087 int qua;
0088 int lay;
0089 int cel;
0090 int noiseFlag;
0091 int feMask;
0092 int tdcMask;
0093 int trigMask;
0094 int deadFlag;
0095 int nohvFlag;
0096 while (ifile >> whe >> sta >> sec >> qua >> lay >> cel >> noiseFlag >> feMask >> tdcMask >> trigMask >> deadFlag >>
0097 nohvFlag) {
0098 status = stFlag->set(whe,
0099 sta,
0100 sec,
0101 qua,
0102 lay,
0103 cel,
0104 noiseFlag != 0,
0105 feMask != 0,
0106 tdcMask != 0,
0107 trigMask != 0,
0108 deadFlag != 0,
0109 nohvFlag != 0);
0110 std::cout << whe << " " << sta << " " << sec << " " << qua << " " << lay << " " << cel << " " << noiseFlag << " "
0111 << feMask << " " << tdcMask << " " << trigMask << " " << deadFlag << " " << nohvFlag << " -> ";
0112 std::cout << "insert status: " << status << std::endl;
0113 }
0114
0115
0116
0117
0118
0119
0120
0121
0122
0123
0124
0125 cond::Time_t snc = runNumber;
0126 if (runNumber > last)
0127 m_to_transfer.push_back(std::make_pair(stFlag, snc));
0128 else
0129 std::cout << "More recent data already present - skipped" << std::endl;
0130
0131 return;
0132 }
0133
0134 std::string DTStatusFlagHandler::id() const { return dataTag; }