103 const std::string fLabel = (
fIsHLT) ?
"BeamSpotOnlineHLTObjectsRcd" :
"BeamSpotOnlineLegacyObjectsRcd";
105 <<
"Reading " << fLabel <<
" data from text file: " <<
fasciiFileName << std::endl;
108 double x,
y,
z,
sigmaZ,
dxdz,
dydz, beamWidthX, beamWidthY, emittanceX, emittanceY, betastar;
110 int type, lastAnalyzedLumi, firstAnalyzedLumi, lastAnalyzedRun, lastAnalyzedFill;
112 std::time_t lumiRangeBeginTime, lumiRangeEndTime;
115 fasciiFile >> tag >> tag >> tag >> tag >> lumiRangeBeginTime;
116 fasciiFile >> tag >> tag >> tag >> tag >> lumiRangeEndTime;
128 fasciiFile >> tag >> cov[0][0] >> cov[0][1] >> cov[0][2] >> cov[0][3] >> cov[0][4] >> cov[0][5] >> cov[0][6];
129 fasciiFile >> tag >> cov[1][0] >> cov[1][1] >> cov[1][2] >> cov[1][3] >> cov[1][4] >> cov[1][5] >> cov[1][6];
130 fasciiFile >> tag >> cov[2][0] >> cov[2][1] >> cov[2][2] >> cov[2][3] >> cov[2][4] >> cov[2][5] >> cov[2][6];
131 fasciiFile >> tag >> cov[3][0] >> cov[3][1] >> cov[3][2] >> cov[3][3] >> cov[3][4] >> cov[3][5] >> cov[3][6];
132 fasciiFile >> tag >> cov[4][0] >> cov[4][1] >> cov[4][2] >> cov[4][3] >> cov[4][4] >> cov[4][5] >> cov[4][6];
133 fasciiFile >> tag >> cov[5][0] >> cov[5][1] >> cov[5][2] >> cov[5][3] >> cov[5][4] >> cov[5][5] >> cov[5][6];
134 fasciiFile >> tag >> cov[6][0] >> cov[6][1] >> cov[6][2] >> cov[6][3] >> cov[6][4] >> cov[6][5] >> cov[6][6];
139 lastAnalyzedFill = -999;
142 if (std::fabs(x) > 1000. || std::fabs(x) < 1.
e-20 || std::fabs(y) > 1000. || std::fabs(y) < 1.
e-20 ||
143 std::fabs(z) > 1000. || std::fabs(z) < 1.
e-20) {
145 <<
" !!! Error in parsing input file, parsed BS (x,y,z): (" << x <<
"," << y <<
"," << z <<
") !!!";
148 edm::LogPrint(
"BeamSpotOnlineRecordsWriter") <<
"---- Parsed these parameters from input txt file ----";
149 edm::LogPrint(
"BeamSpotOnlineRecordsWriter") <<
" lastAnalyzedRun : " << lastAnalyzedRun;
150 edm::LogPrint(
"BeamSpotOnlineRecordsWriter") <<
" lastAnalyzedFill : " << lastAnalyzedFill;
151 edm::LogPrint(
"BeamSpotOnlineRecordsWriter") <<
" firstAnalyzedLumi : " << firstAnalyzedLumi;
152 edm::LogPrint(
"BeamSpotOnlineRecordsWriter") <<
" lastAnalyzedLumi : " << lastAnalyzedLumi;
153 edm::LogPrint(
"BeamSpotOnlineRecordsWriter") <<
" lumiRangeBeginTime: " << lumiRangeBeginTime;
154 edm::LogPrint(
"BeamSpotOnlineRecordsWriter") <<
" lumiRangeEndTime : " << lumiRangeEndTime;
162 edm::LogPrint(
"BeamSpotOnlineRecordsWriter") <<
" beamWidthX : " << beamWidthX;
163 edm::LogPrint(
"BeamSpotOnlineRecordsWriter") <<
" beamWidthY : " << beamWidthY;
165 <<
" Cov(0,j) : " << cov[0][0] <<
" " << cov[0][1] <<
" " << cov[0][2] <<
" " << cov[0][3] <<
" "
166 << cov[0][4] <<
" " << cov[0][5] <<
" " << cov[0][6];
168 <<
" Cov(1,j) : " << cov[1][0] <<
" " << cov[1][1] <<
" " << cov[1][2] <<
" " << cov[1][3] <<
" "
169 << cov[1][4] <<
" " << cov[1][5] <<
" " << cov[1][6];
171 <<
" Cov(2,j) : " << cov[2][0] <<
" " << cov[2][1] <<
" " << cov[2][2] <<
" " << cov[2][3] <<
" "
172 << cov[2][4] <<
" " << cov[2][5] <<
" " << cov[2][6];
174 <<
" Cov(3,j) : " << cov[3][0] <<
" " << cov[3][1] <<
" " << cov[3][2] <<
" " << cov[3][3] <<
" "
175 << cov[3][4] <<
" " << cov[3][5] <<
" " << cov[3][6];
177 <<
" Cov(4,j) : " << cov[4][0] <<
" " << cov[4][1] <<
" " << cov[4][2] <<
" " << cov[4][3] <<
" "
178 << cov[4][4] <<
" " << cov[4][5] <<
" " << cov[4][6];
180 <<
" Cov(5,j) : " << cov[5][0] <<
" " << cov[5][1] <<
" " << cov[5][2] <<
" " << cov[5][3] <<
" "
181 << cov[5][4] <<
" " << cov[5][5] <<
" " << cov[5][6];
183 <<
" Cov(6,j) : " << cov[6][0] <<
" " << cov[6][1] <<
" " << cov[6][2] <<
" " << cov[6][3] <<
" "
184 << cov[6][4] <<
" " << cov[6][5] <<
" " << cov[6][6];
185 edm::LogPrint(
"BeamSpotOnlineRecordsWriter") <<
" emittanceX : " << emittanceX;
186 edm::LogPrint(
"BeamSpotOnlineRecordsWriter") <<
" emittanceY : " << emittanceY;
187 edm::LogPrint(
"BeamSpotOnlineRecordsWriter") <<
" betastar : " << betastar;
188 edm::LogPrint(
"BeamSpotOnlineRecordsWriter") <<
"-----------------------------------------------------";
190 std::unique_ptr<BeamSpotOnlineObjects> abeam = std::make_unique<BeamSpotOnlineObjects>();
192 abeam->SetLastAnalyzedLumi(lastAnalyzedLumi);
193 abeam->SetLastAnalyzedRun(lastAnalyzedRun);
194 abeam->SetLastAnalyzedFill(lastAnalyzedFill);
195 abeam->SetStartTimeStamp(lumiRangeBeginTime);
196 abeam->SetEndTimeStamp(lumiRangeEndTime);
197 abeam->SetType(type);
198 abeam->SetPosition(x, y, z);
199 abeam->SetSigmaZ(sigmaZ);
200 abeam->Setdxdz(dxdz);
201 abeam->Setdydz(dydz);
202 abeam->SetBeamWidthX(beamWidthX);
203 abeam->SetBeamWidthY(beamWidthY);
204 abeam->SetEmittanceX(emittanceX);
205 abeam->SetEmittanceY(emittanceY);
206 abeam->SetBetaStar(betastar);
208 for (
int i = 0;
i < 7; ++
i) {
209 for (
int j = 0;
j < 7; ++
j) {
210 abeam->SetCovariance(
i,
j, cov[
i][
j]);
219 edm::LogPrint(
"BeamSpotOnlineRecordsWriter") <<
" Writing results to DB...";
223 edm::LogPrint(
"BeamSpotOnlineRecordsWriter") <<
"poolDBService available";
225 edm::LogPrint(
"BeamSpotOnlineRecordsWriter") <<
"new tag requested";
232 edm::LogPrint(
"BeamSpotOnlineRecordsWriter") <<
"no new tag requested";
240 edm::LogPrint(
"BeamSpotOnlineRecordsWriter") <<
"[BeamSpotOnlineRecordsWriter] endJob done \n";
void createOneIOV(const T &payload, cond::Time_t firstSinceTime, const std::string &recordName)
void appendOneIOV(const T &payload, cond::Time_t sinceTime, const std::string &recordName)
std::string fasciiFileName
bool isNewTagRequest(const std::string &recordName)
cond::Time_t beginOfTime() const
Log< level::Warning, true > LogPrint
Log< level::Info, false > LogInfo
cond::Time_t currentTime() const