Skip to content

Commit

Permalink
Merge pull request cms-sw#32415 from MilanoBicocca-pix/BSforOnlineHLT…
Browse files Browse the repository at this point in the history
…_PR4_fix2_backport_11_2

BeamSpotOnline updates - backport to 11_2_X
  • Loading branch information
cmsbuild authored Dec 16, 2020
2 parents d57bc72 + 8e3ca49 commit 51383fd
Show file tree
Hide file tree
Showing 6 changed files with 145 additions and 77 deletions.
10 changes: 6 additions & 4 deletions DQM/BeamMonitor/plugins/BeamMonitor.cc
Original file line number Diff line number Diff line change
Expand Up @@ -519,7 +519,7 @@ void BeamMonitor::beginLuminosityBlock(const LuminosityBlock& lumiSeg, const Eve
DBloggerReturn_ = 0;
if (onlineDbService_.isAvailable()) {
onlineDbService_->logger().start();
onlineDbService_->logger().logInfo() << "BeamMonitor::beginLuminosityBlock";
onlineDbService_->logger().logInfo() << "BeamMonitor::beginLuminosityBlock - LS: " << lumiSeg.luminosityBlock();
}

int nthlumi = lumiSeg.luminosityBlock();
Expand Down Expand Up @@ -1394,16 +1394,16 @@ void BeamMonitor::FitAndFill(const LuminosityBlock& lumiSeg, int& lastlumi, int&
<< " [epoch in microseconds]";
try {
onlineDbService_->writeForNextLumisection(BSOnline, recordName_);
onlineDbService_->logger().logInfo()
<< "BeamMonitor::FitAndFill - [PayloadCreation] writeForNextLumisection executed correctly";
} catch (const std::exception& e) {
onlineDbService_->logger().logError() << "BeamMonitor - Error writing record: " << recordName_
<< " for Run: " << frun << " - Lumi: " << fitLS.second;
onlineDbService_->logger().logError() << "Error is: " << e.what();
onlineDbService_->logger().logError() << "RESULTS OF DEFAULT FIT WAS:";
onlineDbService_->logger().logError() << "\n" << bs;
DBloggerReturn_ = -1;
DBloggerReturn_ = 2;
}
onlineDbService_->logger().logInfo()
<< "BeamMonitor::FitAndFill - [PayloadCreation] writeForNextLumisection executed correctly";
}
edm::LogInfo("BeamMonitor") << "FitAndFill::[PayloadCreation] BeamSpotOnline payload created \n" << std::endl;

Expand All @@ -1418,6 +1418,7 @@ void BeamMonitor::FitAndFill(const LuminosityBlock& lumiSeg, int& lastlumi, int&
onlineDbService_->logger().logInfo() << "BeamMonitor::FitAndFill - Beam fit fails!!!";
onlineDbService_->logger().logInfo() << "BeamMonitor::FitAndFill - Output beam spot for DIP";
onlineDbService_->logger().logInfo() << "\n" << bs;
DBloggerReturn_ = 2;
}

hs[k_sigmaX0_lumi]->ShiftFillLast(bs.BeamWidthX(), bs.BeamWidthXError(), fitNLumi_);
Expand All @@ -1444,6 +1445,7 @@ void BeamMonitor::FitAndFill(const LuminosityBlock& lumiSeg, int& lastlumi, int&
onlineDbService_->logger().logInfo() << "BeamMonitor::FitAndFill - No fitting";
onlineDbService_->logger().logInfo() << "BeamMonitor::FitAndFill - Output fake beam spot for DIP";
onlineDbService_->logger().logInfo() << "\n" << bs;
DBloggerReturn_ = 2;
}

hs[k_sigmaX0_lumi]->ShiftFillLast(bs.BeamWidthX(), bs.BeamWidthXError(), fitNLumi_);
Expand Down
8 changes: 4 additions & 4 deletions DQM/BeamMonitor/plugins/FakeBeamMonitor.cc
Original file line number Diff line number Diff line change
Expand Up @@ -513,7 +513,7 @@ void FakeBeamMonitor::beginLuminosityBlock(const LuminosityBlock& lumiSeg, const
DBloggerReturn_ = 0;
if (onlineDbService_.isAvailable()) {
onlineDbService_->logger().start();
onlineDbService_->logger().logInfo() << "FakeBeamMonitor::beginLuminosityBlock";
onlineDbService_->logger().logInfo() << "FakeBeamMonitor::beginLuminosityBlock - LS: " << lumiSeg.luminosityBlock();
}

int nthlumi = lumiSeg.luminosityBlock();
Expand Down Expand Up @@ -1416,16 +1416,16 @@ void FakeBeamMonitor::FitAndFill(const LuminosityBlock& lumiSeg, int& lastlumi,
<< creationTime << " [epoch in microseconds]";
try {
onlineDbService_->writeForNextLumisection(BSOnline, recordName_);
onlineDbService_->logger().logInfo()
<< "FakeBeamMonitor::FitAndFill - [PayloadCreation] writeForNextLumisection executed correctly";
} catch (const std::exception& e) {
onlineDbService_->logger().logError() << "FakeBeamMonitor - Error writing record: " << recordName_
<< " for Run: " << frun << " - Lumi: " << fitLS.second;
onlineDbService_->logger().logError() << "Error is: " << e.what();
onlineDbService_->logger().logError() << "RESULTS OF DEFAULT FIT WAS:";
onlineDbService_->logger().logError() << "\n" << bs;
DBloggerReturn_ = -1;
DBloggerReturn_ = 2;
}
onlineDbService_->logger().logInfo()
<< "FakeBeamMonitor::FitAndFill - [PayloadCreation] writeForNextLumisection executed correctly";
}
edm::LogInfo("FakeBeamMonitor") << "FitAndFill::[PayloadCreation] BeamSpotOnline payload created \n" << std::endl;

Expand Down
98 changes: 61 additions & 37 deletions DQM/Integration/python/clients/beam_dqm_sourceclient-live_cfg.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,20 @@
# Define here the BeamSpotOnline record name,
# it will be used both in BeamMonitor setup and in payload creation/upload
BSOnlineRecordName = 'BeamSpotOnlineLegacyObjectsRcd'
BSOnlineTag = 'BeamSpotOnlineTestLegacy'
BSOnlineJobName = 'BeamSpotOnlineTestLegacy'

#from Configuration.Eras.Era_Run2_2018_cff import Run2_2018
#process = cms.Process("BeamMonitor", Run2_2018) FIXME
import sys
from Configuration.Eras.Era_Run2_2018_pp_on_AA_cff import Run2_2018_pp_on_AA
process = cms.Process("BeamMonitor", Run2_2018_pp_on_AA)

# Configure tag and jobName if running Playback system
if "dqm_cmssw/playback" in str(sys.argv[1]):
BSOnlineTag = BSOnlineTag + 'Playback'
BSOnlineJobName = BSOnlineJobName + 'Playback'

#
process.MessageLogger = cms.Service("MessageLogger",
debugModules = cms.untracked.vstring('*'),
Expand All @@ -28,12 +35,6 @@
live=False
unitTest=True

# Switch to veto the upload of the BeamSpot conditions to the DB
# when False it performs the upload
noDB = True
if 'noDB=False' in sys.argv:
noDB=False

#---------------
# Input sources
if unitTest:
Expand Down Expand Up @@ -68,10 +69,12 @@
# Conditions
if (live):
process.load("DQM.Integration.config.FrontierCondition_GT_cfi")
process.GlobalTag.DBParameters.authenticationPath = cms.untracked.string('.')
else:
process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
from Configuration.AlCa.GlobalTag import GlobalTag as gtCustomise
process.GlobalTag = gtCustomise(process.GlobalTag, 'auto:run2_data', '')
process.GlobalTag.DBParameters.authenticationPath = cms.untracked.string('.')
# you may need to set manually the GT in the line below
#process.GlobalTag.globaltag = '100X_upgrade2018_realistic_v10'

Expand Down Expand Up @@ -352,37 +355,58 @@

#---------
# Upload BeamSpotOnlineObject (LegacyRcd) to CondDB
process.OnlineDBOutputService = cms.Service("OnlineDBOutputService",

DBParameters = cms.PSet(
messageLevel = cms.untracked.int32(0),
authenticationPath = cms.untracked.string('.')
),

# Upload to CondDB
connect = cms.string('oracle://cms_orcoff_prep/CMS_CONDITIONS'),
preLoadConnectionString = cms.untracked.string('frontier://FrontierPrep/CMS_CONDITIONS'),

runNumber = cms.untracked.uint64(options.runNumber),
lastLumiFile = cms.untracked.string(''),
writeTransactionDelay = cms.untracked.uint32(options.transDelay),
latency = cms.untracked.uint32(2),
autoCommit = cms.untracked.bool(True),
saveLogsOnDB = cms.untracked.bool(True),
jobName = cms.untracked.string("BeamSpotOnlineLegacyTest"), # name of the DB log record
toPut = cms.VPSet(cms.PSet(
record = cms.string(BSOnlineRecordName),
tag = cms.string('BSOnlineLegacy_tag'),
timetype = cms.untracked.string('Lumi'),
onlyAppendUpdatePolicy = cms.untracked.bool(True)
))
)

# If not live or noDB: produce a (local) SQLITE file
if not live or noDB:
process.OnlineDBOutputService.connect = cms.string('sqlite_file:BeamSpotOnlineLegacy.db')
process.OnlineDBOutputService.preLoadConnectionString = cms.untracked.string('sqlite_file:BeamSpotOnlineLegacy.db')
process.OnlineDBOutputService.saveLogsOnDB = cms.untracked.bool(False)
if unitTest == False:
process.OnlineDBOutputService = cms.Service("OnlineDBOutputService",

DBParameters = cms.PSet(
messageLevel = cms.untracked.int32(0),
authenticationPath = cms.untracked.string('.')
),

# Upload to CondDB
connect = cms.string('oracle://cms_orcon_prod/CMS_CONDITIONS'),
preLoadConnectionString = cms.untracked.string('frontier://FrontierProd/CMS_CONDITIONS'),

runNumber = cms.untracked.uint64(options.runNumber),
#lastLumiFile = cms.untracked.string('last_lumi.txt'),
#lastLumiUrl = cms.untracked.string('http://ru-c2e14-11-01.cms:11100/urn:xdaq-application:lid=52/getLatestLumiSection'),
omsServiceUrl = cms.untracked.string('http://cmsoms-services.cms:9949/urn:xdaq-application:lid=100/getRunAndLumiSection'),
writeTransactionDelay = cms.untracked.uint32(options.transDelay),
latency = cms.untracked.uint32(2),
autoCommit = cms.untracked.bool(True),
saveLogsOnDB = cms.untracked.bool(True),
jobName = cms.untracked.string(BSOnlineJobName), # name of the DB log record
toPut = cms.VPSet(cms.PSet(
record = cms.string(BSOnlineRecordName),
tag = cms.string(BSOnlineTag),
timetype = cms.untracked.string('Lumi'),
onlyAppendUpdatePolicy = cms.untracked.bool(True)
))
)
else:
process.OnlineDBOutputService = cms.Service("OnlineDBOutputService",

DBParameters = cms.PSet(
messageLevel = cms.untracked.int32(0),
authenticationPath = cms.untracked.string('.')
),

# Upload to CondDB
connect = cms.string('sqlite_file:BeamSpotOnlineLegacy.db'),
preLoadConnectionString = cms.untracked.string('sqlite_file:BeamSpotOnlineLegacy.db'),
runNumber = cms.untracked.uint64(options.runNumber),
lastLumiFile = cms.untracked.string('last_lumi.txt'),
#lastLumiUrl = cms.untracked.string('http://ru-c2e14-11-01.cms:11100/urn:xdaq-application:lid=52/getLatestLumiSection'),
writeTransactionDelay = cms.untracked.uint32(options.transDelay),
latency = cms.untracked.uint32(2),
autoCommit = cms.untracked.bool(True),
toPut = cms.VPSet(cms.PSet(
record = cms.string(BSOnlineRecordName),
tag = cms.string(BSOnlineTag),
timetype = cms.untracked.string('Lumi'),
onlyAppendUpdatePolicy = cms.untracked.bool(True)
))
)

#---------
# Final path
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,18 @@
# Define here the BeamSpotOnline record name,
# it will be used both in FakeBeamMonitor setup and in payload creation/upload
BSOnlineRecordName = 'BeamSpotOnlineLegacyObjectsRcd'
BSOnlineTag = 'BeamSpotOnlineTestLegacy'
BSOnlineJobName = 'BeamSpotOnlineTestLegacy'

import sys
from Configuration.Eras.Era_Run2_2018_cff import Run2_2018
process = cms.Process("FakeBeamMonitor", Run2_2018)

# Configure tag and jobName if running Playback system
if "dqm_cmssw/playback" in str(sys.argv[1]):
BSOnlineTag = BSOnlineTag + 'Playback'
BSOnlineJobName = BSOnlineJobName + 'Playback'

#
process.MessageLogger = cms.Service("MessageLogger",
debugModules = cms.untracked.vstring('*'),
Expand Down Expand Up @@ -142,15 +149,16 @@

runNumber = cms.untracked.uint64(options.runNumber),
#lastLumiFile = cms.untracked.string('last_lumi.txt'),
lastLumiUrl = cms.untracked.string('http://ru-c2e14-11-01.cms:11100/urn:xdaq-application:lid=52/getLatestLumiSection'),
#lastLumiUrl = cms.untracked.string('http://ru-c2e14-11-01.cms:11100/urn:xdaq-application:lid=52/getLatestLumiSection'),
omsServiceUrl = cms.untracked.string('http://cmsoms-services.cms:9949/urn:xdaq-application:lid=100/getRunAndLumiSection'),
writeTransactionDelay = cms.untracked.uint32(options.transDelay),
latency = cms.untracked.uint32(2),
autoCommit = cms.untracked.bool(True),
saveLogsOnDB = cms.untracked.bool(True),
jobName = cms.untracked.string("BeamSpotOnlineLegacyTest"), # name of the DB log record
jobName = cms.untracked.string(BSOnlineJobName), # name of the DB log record
toPut = cms.VPSet(cms.PSet(
record = cms.string(BSOnlineRecordName),
tag = cms.string('BeamSpotOnlineTestLegacy'),
tag = cms.string(BSOnlineTag),
timetype = cms.untracked.string('Lumi'),
onlyAppendUpdatePolicy = cms.untracked.bool(True)
))
Expand All @@ -174,7 +182,7 @@
autoCommit = cms.untracked.bool(True),
toPut = cms.VPSet(cms.PSet(
record = cms.string(BSOnlineRecordName),
tag = cms.string('BeamSpotOnlineTestLegacy'),
tag = cms.string(BSOnlineTag),
timetype = cms.untracked.string('Lumi'),
onlyAppendUpdatePolicy = cms.untracked.bool(True)
))
Expand Down
74 changes: 50 additions & 24 deletions DQM/Integration/python/clients/beamhlt_dqm_sourceclient-live_cfg.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,20 @@
# Define once the BeamSpotOnline record name,
# will be used both in BeamMonitor setup and in payload creation/upload
BSOnlineRecordName = 'BeamSpotOnlineHLTObjectsRcd'
BSOnlineTag = 'BeamSpotOnlineTestHLT'
BSOnlineJobName = 'BeamSpotOnlineTestHLT'

#from Configuration.Eras.Era_Run2_2018_cff import Run2_2018
#process = cms.Process("BeamMonitor", Run2_2018) # FIMXE
import sys
from Configuration.Eras.Era_Run2_2018_pp_on_AA_cff import Run2_2018_pp_on_AA
process = cms.Process("BeamMonitor", Run2_2018_pp_on_AA)

# Configure tag and jobName if running Playback system
if "dqm_cmssw/playback" in str(sys.argv[1]):
BSOnlineTag = BSOnlineTag + 'Playback'
BSOnlineJobName = BSOnlineJobName + 'Playback'

# Message logger
#process.load("FWCore.MessageLogger.MessageLogger_cfi")
#process.MessageLogger = cms.Service("MessageLogger",
Expand All @@ -25,28 +32,28 @@
# destinations = cms.untracked.vstring('cerr'),
#)

unitTest=False
# switch
live = True # FIXME
unitTest = False

if 'unitTest=True' in sys.argv:
live=False
unitTest=True

# Switch to veto the upload of the BeamSpot conditions to the DB
# when False it performs the upload
noDB = True
if 'noDB=False' in sys.argv:
noDB=False

# Common part for PP and H.I Running
#-----------------------------
if unitTest:
process.load("DQM.Integration.config.unittestinputsource_cfi")
from DQM.Integration.config.unittestinputsource_cfi import options
else:
elif live:
# for live online DQM in P5
process.load("DQM.Integration.config.inputsource_cfi")
from DQM.Integration.config.inputsource_cfi import options

# new stream label
process.source.streamLabel = cms.untracked.string('streamDQMOnlineBeamspot')
else:
process.load("DQM.Integration.config.fileinputsource_cfi")
from DQM.Integration.config.fileinputsource_cfi import options

# for testing in lxplus
#process.load("DQM.Integration.config.fileinputsource_cfi")
Expand Down Expand Up @@ -79,7 +86,8 @@
# Calibration
#---------------
# Condition for P5 cluster
#process.load("DQM.Integration.config.FrontierCondition_GT_cfi")
process.load("DQM.Integration.config.FrontierCondition_GT_cfi")
process.GlobalTag.DBParameters.authenticationPath = cms.untracked.string('.')
# Condition for lxplus: change and possibly customise the GT
#from Configuration.AlCa.GlobalTag import GlobalTag as gtCustomise
#process.GlobalTag = gtCustomise(process.GlobalTag, 'auto:run2_data', '')
Expand Down Expand Up @@ -156,37 +164,55 @@

#---------
# Upload BeamSpotOnlineObject (HLTRcd) to CondDB
process.OnlineDBOutputService = cms.Service("OnlineDBOutputService",

if unitTest == False:
process.OnlineDBOutputService = cms.Service("OnlineDBOutputService",
DBParameters = cms.PSet(
messageLevel = cms.untracked.int32(0),
authenticationPath = cms.untracked.string('.')
),

# Upload to CondDB
connect = cms.string('oracle://cms_orcoff_prep/CMS_CONDITIONS'),
preLoadConnectionString = cms.untracked.string('frontier://FrontierPrep/CMS_CONDITIONS'),

connect = cms.string('oracle://cms_orcon_prod/CMS_CONDITIONS'),
preLoadConnectionString = cms.untracked.string('frontier://FrontierProd/CMS_CONDITIONS'),
runNumber = cms.untracked.uint64(options.runNumber),
lastLumiFile = cms.untracked.string(''),
#lastLumiFile = cms.untracked.string('last_lumi.txt'),
#lastLumiUrl = cms.untracked.string('http://ru-c2e14-11-01.cms:11100/urn:xdaq-application:lid=52/getLatestLumiSection'),
omsServiceUrl = cms.untracked.string('http://cmsoms-services.cms:9949/urn:xdaq-application:lid=100/getRunAndLumiSection'),
writeTransactionDelay = cms.untracked.uint32(options.transDelay),
latency = cms.untracked.uint32(2),
autoCommit = cms.untracked.bool(True),
saveLogsOnDB = cms.untracked.bool(True),
jobName = cms.untracked.string("BeamSpotOnlineHLTTest"), # name of the DB log record
jobName = cms.untracked.string(BSOnlineJobName), # name of the DB log record
toPut = cms.VPSet(cms.PSet(
record = cms.string(BSOnlineRecordName),
tag = cms.string('BSOnlineHLT_tag'),
tag = cms.string(BSOnlineTag),
timetype = cms.untracked.string('Lumi'),
onlyAppendUpdatePolicy = cms.untracked.bool(True)
))
)
)
else:
process.OnlineDBOutputService = cms.Service("OnlineDBOutputService",
DBParameters = cms.PSet(
messageLevel = cms.untracked.int32(0),
authenticationPath = cms.untracked.string('.')
),

# If not live or noDB: produce a (local) SQLITE file
if unitTest or noDB:
process.OnlineDBOutputService.connect = cms.string('sqlite_file:BeamSpotOnlineHLT.db')
process.OnlineDBOutputService.preLoadConnectionString = cms.untracked.string('sqlite_file:BeamSpotOnlineHLT.db')
process.OnlineDBOutputService.saveLogsOnDB = cms.untracked.bool(False)
# Upload to CondDB
connect = cms.string('sqlite_file:BeamSpotOnlineHLT.db'),
preLoadConnectionString = cms.untracked.string('sqlite_file:BeamSpotOnlineHLT.db'),
runNumber = cms.untracked.uint64(options.runNumber),
lastLumiFile = cms.untracked.string('last_lumi.txt'),
#lastLumiUrl = cms.untracked.string('http://ru-c2e14-11-01.cms:11100/urn:xdaq-application:lid=52/getLatestLumiSection'),
writeTransactionDelay = cms.untracked.uint32(options.transDelay),
latency = cms.untracked.uint32(2),
autoCommit = cms.untracked.bool(True),
toPut = cms.VPSet(cms.PSet(
record = cms.string(BSOnlineRecordName),
tag = cms.string(BSOnlineTag),
timetype = cms.untracked.string('Lumi'),
onlyAppendUpdatePolicy = cms.untracked.bool(True)
))
)

process.p = cms.Path( process.hltTriggerTypeFilter
* process.dqmcommon
Expand Down
Loading

0 comments on commit 51383fd

Please sign in to comment.