diff --git a/CondTools/BeamSpot/plugins/BeamSpotOnlineFromOfflineConverter.cc b/CondTools/BeamSpot/plugins/BeamSpotOnlineFromOfflineConverter.cc index 18fc03ba9246a..bb2df56d1db45 100644 --- a/CondTools/BeamSpot/plugins/BeamSpotOnlineFromOfflineConverter.cc +++ b/CondTools/BeamSpot/plugins/BeamSpotOnlineFromOfflineConverter.cc @@ -58,27 +58,40 @@ class BeamSpotOnlineFromOfflineConverter : public edm::one::EDAnalyzer<> { // ----------member data --------------------------- const edm::ESGetToken bsToken_; + // parameters that can't be copied from the BeamSpotObject + const int lastAnalyzedLumi_, lastAnalyzedRun_, lastAnalyzedFill_; + const int numTracks_, numPVs_, numUsedEvents_, numMaxPVs_; + const float meanPVs_, meanPVError_, rmsPV_, rmsPVError_; + const std::string startTime_, endTime_, lumiRange_; + // IoV-structure - bool fIsHLT_; + const bool fIsHLT_; uint32_t fIOVStartRun_; uint32_t fIOVStartLumi_; cond::Time_t fnewSince_; bool fuseNewSince_; - - // parameters that can't be copied from the BeamSpotObject - int lastAnalyzedLumi_, lastAnalyzedRun_, lastAnalyzedFill_; }; // // constructors and destructor // BeamSpotOnlineFromOfflineConverter::BeamSpotOnlineFromOfflineConverter(const edm::ParameterSet& iConfig) - : bsToken_(esConsumes()) { - lastAnalyzedLumi_ = iConfig.getParameter("lastAnalyzedLumi"); - lastAnalyzedRun_ = iConfig.getParameter("lastAnalyzedRun"); - lastAnalyzedFill_ = iConfig.getParameter("lastAnalyzedFill"); - - fIsHLT_ = iConfig.getParameter("isHLT"); + : bsToken_(esConsumes()), + lastAnalyzedLumi_(iConfig.getParameter("lastAnalyzedLumi")), + lastAnalyzedRun_(iConfig.getParameter("lastAnalyzedRun")), + lastAnalyzedFill_(iConfig.getParameter("lastAnalyzedFill")), + numTracks_(iConfig.getParameter("numTracks")), + numPVs_(iConfig.getParameter("numPVs")), + numUsedEvents_(iConfig.getParameter("numUsedEvents")), + numMaxPVs_(iConfig.getParameter("numMaxPVs")), + meanPVs_(iConfig.getParameter("meanPVs")), + meanPVError_(iConfig.getParameter("meanPVError")), + rmsPV_(iConfig.getParameter("rmsPVs")), + rmsPVError_(iConfig.getParameter("rmsPVError")), + startTime_(iConfig.getParameter("startTime")), + endTime_(iConfig.getParameter("endTime")), + lumiRange_(iConfig.getParameter("lumiRange")), + fIsHLT_(iConfig.getParameter("isHLT")) { if (iConfig.exists("IOVStartRun") && iConfig.exists("IOVStartLumi")) { fIOVStartRun_ = iConfig.getUntrackedParameter("IOVStartRun"); fIOVStartLumi_ = iConfig.getUntrackedParameter("IOVStartLumi"); @@ -106,28 +119,23 @@ void BeamSpotOnlineFromOfflineConverter::analyze(const edm::Event& iEvent, const const BeamSpotObjects* inputSpot = &iSetup.getData(bsToken_); BeamSpotOnlineObjects abeam; - + abeam.copyFromBeamSpotObject(*inputSpot); abeam.setLastAnalyzedLumi(lastAnalyzedLumi_); abeam.setLastAnalyzedRun(lastAnalyzedRun_); abeam.setLastAnalyzedFill(lastAnalyzedFill_); abeam.setStartTimeStamp(std::time(nullptr)); abeam.setEndTimeStamp(std::time(nullptr)); - abeam.setType(inputSpot->beamType()); - abeam.setPosition(inputSpot->x(), inputSpot->y(), inputSpot->z()); - abeam.setSigmaZ(inputSpot->sigmaZ()); - abeam.setdxdz(inputSpot->dxdz()); - abeam.setdydz(inputSpot->dydz()); - abeam.setBeamWidthX(inputSpot->beamWidthX()); - abeam.setBeamWidthY(inputSpot->beamWidthY()); - abeam.setEmittanceX(inputSpot->emittanceX()); - abeam.setEmittanceY(inputSpot->emittanceY()); - abeam.setBetaStar(inputSpot->betaStar()); - - for (int i = 0; i < 7; ++i) { - for (int j = 0; j < 7; ++j) { - abeam.setCovariance(i, j, inputSpot->covariance(i, j)); - } - } + abeam.setNumTracks(numTracks_); + abeam.setNumPVs(numPVs_); + abeam.setUsedEvents(numUsedEvents_); + abeam.setMaxPVs(numMaxPVs_); + abeam.setMeanPV(meanPVs_); + abeam.setMeanErrorPV(meanPVError_); + abeam.setRmsPV(rmsPV_); + abeam.setRmsErrorPV(rmsPVError_); + abeam.setStartTime(startTime_); + abeam.setEndTime(endTime_); + abeam.setLumiRange(lumiRange_); // Set the creation time of the payload to the current time auto creationTime = @@ -135,6 +143,7 @@ void BeamSpotOnlineFromOfflineConverter::analyze(const edm::Event& iEvent, const abeam.setCreationTime(creationTime); edm::LogPrint("BeamSpotOnlineFromOfflineConverter") << " Writing results to DB..."; + edm::LogPrint("BeamSpotOnlineFromOfflineConverter") << abeam; edm::Service poolDbService; if (poolDbService.isAvailable()) { @@ -155,7 +164,7 @@ void BeamSpotOnlineFromOfflineConverter::analyze(const edm::Event& iEvent, const poolDbService->appendOneIOV(abeam, poolDbService->currentTime(), fLabel); } } - edm::LogPrint("BeamSpotOnlineFromOfflineConverter") << "[BeamSpotOnlineFromOfflineConverter] endJob done \n"; + edm::LogPrint("BeamSpotOnlineFromOfflineConverter") << "[BeamSpotOnlineFromOfflineConverter] analyze done \n"; } // ------------ method fills 'descriptions' with the allowed parameters for the module ------------ @@ -167,6 +176,17 @@ void BeamSpotOnlineFromOfflineConverter::fillDescriptions(edm::ConfigurationDesc desc.add("lastAnalyzedLumi", 1000); desc.add("lastAnalyzedRun", 1); desc.add("lastAnalyzedFill", -999); + desc.add("numTracks", 0); + desc.add("numPVs", 0); + desc.add("numUsedEvents", 0); + desc.add("numMaxPVs", 0); + desc.add("meanPVs", 0.); + desc.add("meanPVError", 0.); + desc.add("rmsPVs", 0.); + desc.add("rmsPVError", 0.); + desc.add("startTime", std::string("")); + desc.add("endTime", std::string("")); + desc.add("lumiRange", std::string("")); descriptions.addWithDefaultLabel(desc); }