diff --git a/README.md b/README.md index 8a68d2b..8d3691b 100644 --- a/README.md +++ b/README.md @@ -8,18 +8,18 @@ For the moment this repository is used to store streamer files that are needed a Currently the unitTest that make use of input streamer files are: * the `onlinebeammonitor_dqm_sourceclient_cfg.py` client, it reads the `streamDQM` (prepared such that only the hltOnlineBeamSpot is present in the file) streamer files regenerated from run 381594 (from 2024E pp run [OMS link](https://cmsoms.cern.ch/cms/runs/report?cms_run=381594&cms_run_sequence=GLOBAL-RUN)): ``` - run381594_ls1000_streamDQM_pid1388480.dat - run381594_ls1000_streamDQM_pid1388480.jsn + run381594/run381594_ls1000_streamDQM_pid1388480.dat + run381594/run381594_ls1000_streamDQM_pid1388480.jsn ``` * the `beamhlt_dqm_sourceclient-live_cfg.py` client, it reads the `streamDQMOnlineBeamspot` streamer files regenerated from run 381594 (from 2024E pp run [OMS link](https://cmsoms.cern.ch/cms/runs/report?cms_run=381594&cms_run_sequence=GLOBAL-RUN)): ``` - run381594_ls1000_streamDQMOnlineBeamspot_pid1752643.dat - run381594_ls1000_streamDQMOnlineBeamspot_pid1752643.jsn + run381594/run381594_ls1000_streamDQMOnlineBeamspot_pid1752643.dat + run381594/run381594_ls1000_streamDQMOnlineBeamspot_pid1752643.jsn ``` -* the `ecalgpu_dqm_sourceclient-live_cfg.py`, `hcalgpu_dqm_sourceclient-live_cfg.py`, `pixelgpu_dqm_sourceclient-live_cfg.py` and `pfgpu_dqm_sourceclient-live_cfg.py` read the `streamDQMGPUvsCPU` streamer files regenerated from run 381594 (from Run2024E pp run [OMS link](https://cmsoms.cern.ch/cms/runs/report?cms_run=381594&cms_run_sequence=GLOBAL-RUN)): +* the `ecalgpu_dqm_sourceclient-live_cfg.py`, `hcalgpu_dqm_sourceclient-live_cfg.py`, `pixelgpu_dqm_sourceclient-live_cfg.py` and `pfgpu_dqm_sourceclient-live_cfg.py` read the `streamDQMGPUvsCPU` streamer files regenerated from run 397813 (from Run2025G pp run [OMS link](https://cmsoms.cern.ch/cms/runs/report?cms_run=397813&cms_run_sequence=GLOBAL-RUN)): ``` - run381594/run381594_ls1000_streamDQMGPUvsCPU_pid1801423.dat - run381594/run381594_ls1000_streamDQMGPUvsCPU_pid1801423.jsn + run397813/run397813_ls0131_streamDQMGPUvsCPU.dat + run397813/run397813_ls0131_streamDQMGPUvsCPU.jsn ``` * the `sistrip_approx_dqm_sourceclient-live_cfg.py` reads the `streamDQM` streamer files regenerated from run 362321 (from 2022 HI run, [OMS link](https://cmsoms.cern.ch/cms/runs/report?cms_run=362321&cms_run_sequence=GLOBAL-RUN), though they have been re-HLT'ed, see for more details at [CMSHLT-2884](https://its.cern.ch/jira/browse/CMSHLT-2884)): ``` @@ -190,6 +190,77 @@ mkdir -p prepared cat run392642/run392642_ls0000_streamDQMOnlineScouting_pid${job_pid}.ini run392642/run392642_ls0174_streamDQMOnlineScouting_pid${job_pid}.dat > prepared/run392642_ls0174_streamDQMOnlineScouting_pid${job_pid}.dat ``` +The streamer files for the `streamDQMGPUVsCPU` were prepared using the following script: +```bash +#!/bin/bash -ex +RUNNUMBER=397813 +LUMISECTION=131 + +# cmsrel CMSSW_15_1_X_2025-10-22-2300 +# cd CMSSW_15_1_X_2025-10-22-2300/src/ +# cmsenv +# git cms-addpkg DataFormats/TrackSoA DataFormats/TrackingRecHitSoA DQM/Integration +# git remote add AdrianoDee git@github.com:AdrianoDee/cmssw.git; git fetch AdrianoDee +# git cherry-pick 1eb24e6536182945d6f7ac55fedc023a9f0d4410 +# git cherry-pick 9a3ef9ae14f452aa15d3f868b97c63f6b996b1dc +# cmsenv +# scram b + +INPUTFILE=root://eoscms.cern.ch//eos/cms/store/express/Run2025F/ExpressPhysics/FEVT/Express-v2/000/397/813/00000/f95a79f9-18ef-48f1-951a-2ae78c1a107f.root +rm -rf run${RUNNUMBER}* + +# run on 100 events of LS 131, with 100 events per input file +convertToRaw -f 100 -l 100 -r ${RUNNUMBER}:${LUMISECTION} -o . -- "${INPUTFILE}" + +tmpfile=$(mktemp) +hltConfigFromDB --configName /users/musich/tests/dev/CMSSW_15_1_0/CMSHLT-3147/GRun > "${tmpfile}" +cat <<@EOF >> "${tmpfile}" +process.load("run${RUNNUMBER}_cff") + +# to run without any HLT prescales +del process.PrescaleService +del process.MessageLogger +process.load('FWCore.MessageLogger.MessageLogger_cfi') + +process.options.numberOfThreads = 32 +process.options.numberOfStreams = 32 + +process.options.wantSummary = True +process.GlobalTag.globaltag = cms.string( "150X_dataRun3_HLT_v1" ) +# # to run using the same HLT prescales as used online in LS 1000 +# process.PrescaleService.forceDefault = True + +from HLTrigger.Configuration.common import * +def customizeHLTFor49149(process): + ca_producers_pp = ['CAHitNtupletAlpakaPhase1@alpaka','alpaka_serial_sync::CAHitNtupletAlpakaPhase1'] + for ca_producer in ca_producers_pp: + for prod in producers_by_type(process, ca_producer): + if hasattr(prod, 'geometry'): + g = getattr(prod, 'geometry') + g.startingPairs = cms.vuint32( [i for i in range(8)] + [i for i in range(13,19)]) + setattr(prod, 'geometry', g) + return process + +process = customizeHLTFor49149(process) +@EOF +edmConfigDump "${tmpfile}" > hlt.py + +cmsRun hlt.py &> hlt.log + +bash -c 'echo $$ > cmsrun.pid; exec cmsRun hlt.py &> hlt.log' +job_pid=$(cat cmsrun.pid) +echo "cmsRun is running with PID: $job_pid" + +# remove input files to save space +rm -f run397813/run397813_ls0*_index*.* + +# prepare the files by concatenating the .ini and .dat files +mkdir -p prepared +cat run397813/run397813_ls0000_streamDQMGPUvsCPU_pid${job_pid}.ini run397813/run397813_ls0131_streamDQMGPUvsCPU_pid${job_pid}.dat > prepared/run397813_ls0131_streamDQMGPUvsCPU_pid${job_pid}.dat +cp run397813/run397813_ls0131_streamDQMGPUvsCPU_pid${job_pid}.jsn prepared/run397813_ls0131_streamDQMGPUvsCPU_pid${job_pid}.jsn +# manually edit to remove the extra 0 in the json file. +``` + ## Possible extenstions There are two more clients for which the unitTets could be activated in the future, namely: diff --git a/run381594/run381594_ls1000_streamDQMGPUvsCPU_pid1801423.jsn b/run381594/run381594_ls1000_streamDQMGPUvsCPU_pid1801423.jsn deleted file mode 100644 index 1e38939..0000000 --- a/run381594/run381594_ls1000_streamDQMGPUvsCPU_pid1801423.jsn +++ /dev/null @@ -1,16 +0,0 @@ -{ - "data" : [ - "300", - "244", - "0", - "run381594_ls1000_streamDQMGPUvsCPU_pid1801423.dat", - "75258329", - "", - "3959900531", - "", - "DAT", - "0" - ], - "definition" : "./run381594/output_1801423.jsd", - "source" : "lxplus800.cern.ch_1801423" -} diff --git a/run381594/run381594_ls1000_streamDQMGPUvsCPU_pid1801423.dat b/run397813/run397813_ls0131_streamDQMGPUvsCPU.dat similarity index 76% rename from run381594/run381594_ls1000_streamDQMGPUvsCPU_pid1801423.dat rename to run397813/run397813_ls0131_streamDQMGPUvsCPU.dat index e793cb5..890b911 100644 Binary files a/run381594/run381594_ls1000_streamDQMGPUvsCPU_pid1801423.dat and b/run397813/run397813_ls0131_streamDQMGPUvsCPU.dat differ diff --git a/run397813/run397813_ls0131_streamDQMGPUvsCPU.jsn b/run397813/run397813_ls0131_streamDQMGPUvsCPU.jsn new file mode 100644 index 0000000..6c40c14 --- /dev/null +++ b/run397813/run397813_ls0131_streamDQMGPUvsCPU.jsn @@ -0,0 +1,16 @@ +{ + "data" : [ + "50", + "47", + "0", + "run397813_ls0131_streamDQMGPUvsCPU.dat", + "89202210", + "", + "1791405916", + "", + "DAT", + "0" + ], + "definition" : "./run397813/output_3376147.jsd", + "source" : "lxplus801.cern.ch_3376147" +}