Skip to content

Commit

Permalink
renaming gtStage2Digis according to PR review; unit test refreshed
Browse files Browse the repository at this point in the history
  • Loading branch information
grzankatest committed Feb 22, 2024
1 parent b031e8e commit 671fafa
Show file tree
Hide file tree
Showing 8 changed files with 102 additions and 75 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
'keep recoForwardProtons_ctppsProtonsAlCaRecoProducer_*_*',

# HLT info
'keep *_hltGtStage2Digis_*_*',
'keep *_gtStage2DigisAlCaRecoProducer_*_*',
'keep edmTriggerResults_*_*_*',
'keep triggerTriggerEvent_*_*_*'
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,13 @@
ctppsDiamondRawToDigiAlCaRecoProducer = _ctppsDiamondRawToDigi.clone(rawDataTag = 'hltPPSCalibrationRaw')
totemTimingRawToDigiAlCaRecoProducer = _totemTimingRawToDigi.clone(rawDataTag = 'hltPPSCalibrationRaw')
ctppsPixelDigisAlCaRecoProducer = _ctppsPixelDigis.clone(inputLabel = 'hltPPSCalibrationRaw')
hltGtStage2Digis = _gtStage2Digis.clone(InputLabel="hltFEDSelectorL1")
gtStage2DigisAlCaRecoProducer = _gtStage2Digis.clone(InputLabel="hltFEDSelectorL1")

ctppsRawToDigiTaskAlCaRecoProducer = cms.Task(
ctppsDiamondRawToDigiAlCaRecoProducer,
totemTimingRawToDigiAlCaRecoProducer,
ctppsPixelDigisAlCaRecoProducer,
hltGtStage2Digis
gtStage2DigisAlCaRecoProducer
)

ALCARECOPPSCalMaxTracksRaw2Digi = cms.Sequence(ctppsRawToDigiTaskAlCaRecoProducer)
Expand Down Expand Up @@ -105,4 +105,4 @@
# 6. master sequence object
#------------------------------------------------------

seqALCARECOPPSCalMaxTracksReco = cms.Sequence( ALCARECOPPSCalMaxTracksFilter + ALCARECOPPSCalMaxTracksRaw2Digi + recoPPSSequenceAlCaRecoProducer)
seqALCARECOPPSCalMaxTracksReco = cms.Sequence( ALCARECOPPSCalMaxTracksFilter + ALCARECOPPSCalMaxTracksRaw2Digi + recoPPSSequenceAlCaRecoProducer)
Original file line number Diff line number Diff line change
@@ -1,30 +1,32 @@
#!/bin/bash
function die { echo $1: status $2; exit $2; }

customise_commands="process.GlobalTag.toGet = cms.VPSet()\
\nprocess.GlobalTag.toGet.append(cms.PSet(record = cms.string(\"AlCaRecoTriggerBitsRcd\"),tag = cms.string(\"AlCaRecoHLTpaths_PPS2022_express_v1\"), connect = cms.string(\"frontier://FrontierProd/CMS_CONDITIONS\")))\
\nprocess.GlobalTag.toGet.append(cms.PSet(record = cms.string(\"PPSTimingCalibrationLUTRcd\"),tag = cms.string(\"PPSDiamondTimingCalibrationLUT_test\"), connect = cms.string(\"frontier://FrontierProd/CMS_CONDITIONS\")))\
\nprocess.ALCARECOPPSCalMaxTracksFilter.TriggerResultsTag = cms.InputTag(\"TriggerResults\",\"\",\"HLTX\")\
\nprocess.hltGtStage2Digis.InputLabel = cms.InputTag(\"hltFEDSelectorL1\",\"\",\"HLTX\")"
# customisation command needed for all tests cases
COMMON_CUSTOM="process.ALCARECOPPSCalMaxTracksFilter.TriggerResultsTag = cms.InputTag(\"TriggerResults\",\"\",\"HLTX\")"

INPUTFILE="/store/group/alca_global/pps_alcareco_producer_tests/outputALCAPPS_single.root"
COMMMAND=`xrdfs cms-xrd-global.cern.ch locate $INPUTFILE`
STATUS=$?
echo "xrdfs command status = "$STATUS
if [ $STATUS -eq 0 ]; then
echo "Using file ${INPUTFILE}. Running in ${SCRAM_TEST_PATH}."
# test on 2022 data
INPUTFILE_355207="file:/eos/cms/store/user/cmsbuild/store/data/Run2022B/AlCaPPS/RAW/v1/000/355/207/00000/c23440f4-49c0-44aa-b8f6-f40598fb4705.root"

# new test on generated data, with same structure as data expected in 2024
INPUTFILE_367104="/store/group/alca_global/pps_alcareco_producer_tests/outputALCAPPSExpress.root"

# all input files and customisation commands to loop through
INPUTFILES=($INPUTFILE_355207 $INPUTFILE_367104)

# test case loop
for TEST_RUN_NO in {0..1}; do
INPUTFILE=${INPUTFILES[$TEST_RUN_NO]}
echo "Using file: ${INPUTFILE} , Running in: ${SCRAM_TEST_PATH} ."
(cmsDriver.py testExpressPPSAlCaRecoProducer -s ALCAPRODUCER:PPSCalMaxTracks,ENDJOB \
--process ALCARECO \
--scenario pp \
--era run3_common \
--conditions auto:run3_data_express \
--data \
--datatier ALCARECO \
--eventcontent ALCARECO \
--nThreads 8 \
--number 100 --filein ${INPUTFILE} \
--fileout file:outputALCAPPS_RECO_express.root \
--customise_commands="$customise_commands") || die 'failed running test_express_AlCaRecoProducer' $?
else
die "SKIPPING test, file ${INPUTFILE} not found" 0
fi
--process ALCARECO \
--scenario pp \
--era run3_common \
--conditions auto:run3_data_express \
--data \
--datatier ALCARECO \
--eventcontent ALCARECO \
--nThreads 8 \
--number 100 --filein ${INPUTFILE} \
--fileout file:outputALCAPPS_RECO_express_test${TEST_RUN_NO}.root \
--customise_commands="$COMMON_CUSTOM") || die 'failed running test_express_AlCaRecoProducer' $?
done
Original file line number Diff line number Diff line change
@@ -1,13 +1,25 @@
import FWCore.ParameterSet.Config as cms

# load era modifier to run on 2018 data
from Configuration.Eras.Modifier_ctpps_2018_cff import ctpps_2018
# load era modifier to run on 2022 data
from Configuration.Eras.Modifier_ctpps_2022_cff import ctpps_2022

process = cms.Process( 'TEST',ctpps_2018)
process = cms.Process( 'TEST',ctpps_2022)

# command line options
import FWCore.ParameterSet.VarParsing as VarParsing
options = VarParsing.VarParsing('analysis')
options.register('runNo',
1,
VarParsing.VarParsing.multiplicity.singleton,
VarParsing.VarParsing.varType.int,
"Run number")
options.parseArguments()

run_no = options.runNo

# LHCInfo plotter
process.load('Validation.CTPPS.ctppsLHCInfoPlotter_cfi')
process.ctppsLHCInfoPlotter.outputFile = "alcareco_lhc_info_express.root"
process.ctppsLHCInfoPlotter.outputFile = f"alcareco_lhc_info_express_{run_no}.root"

# Load geometry from DB
process.load("Geometry.VeryForwardGeometry.geometryRPFromDB_cfi")
Expand All @@ -21,7 +33,7 @@
rpId_56_N = cms.uint32(103),
rpId_56_F = cms.uint32(123),

outputFile = cms.string("alcareco_tracks_express.root")
outputFile = cms.string(f"alcareco_tracks_express_{run_no}.root")
)

# reconstruction plotter
Expand All @@ -35,7 +47,7 @@
rpId_56_N = cms.uint32(103),
rpId_56_F = cms.uint32(123),

outputFile = cms.string("alcareco_protons_express.root")
outputFile = cms.string(f"alcareco_protons_express_{run_no}.root")
)

process.p = cms.Path(
Expand All @@ -55,7 +67,7 @@

process.source = cms.Source( 'PoolSource',
fileNames = cms.untracked.vstring(
'file:outputALCAPPS_RECO_express.root',
options.inputFiles,
),
inputCommands = cms.untracked.vstring(
'keep *'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#!/bin/bash
function die { echo $1: status $2; exit $2; }

(cmsRun ${SCRAM_TEST_PATH}/test_express_PPSAlCaReco_output.py) || die 'failed running test_express_PPSAlCaReco_output.py' $?
cmsRun ${SCRAM_TEST_PATH}/test_express_PPSAlCaReco_output.py inputFiles=file:outputALCAPPS_RECO_express_test0.root runNo=355207 || die 'failed running test_express_PPSAlCaReco_output.py' $?
cmsRun ${SCRAM_TEST_PATH}/test_express_PPSAlCaReco_output.py inputFiles=file:outputALCAPPS_RECO_express_test1.root runNo=367104 || die 'failed running test_express_PPSAlCaReco_output.py' $?
Original file line number Diff line number Diff line change
@@ -1,32 +1,32 @@
#!/bin/bash
function die { echo $1: status $2; exit $2; }

customise_commands="process.GlobalTag.toGet = cms.VPSet()\
\nprocess.GlobalTag.toGet.append(cms.PSet(record = cms.string(\"AlCaRecoTriggerBitsRcd\"),tag = cms.string(\"AlCaRecoHLTpaths_PPS2022_prompt_v1\"), connect = cms.string(\"frontier://FrontierProd/CMS_CONDITIONS\")))\
\nprocess.GlobalTag.toGet.append(cms.PSet(record = cms.string(\"PPSTimingCalibrationLUTRcd\"),tag = cms.string(\"PPSDiamondTimingCalibrationLUT_test\"), connect = cms.string(\"frontier://FrontierProd/CMS_CONDITIONS\")))\
\nprocess.ALCARECOPPSCalMaxTracksFilter.TriggerResultsTag = cms.InputTag(\"TriggerResults\",\"\",\"HLTX\")\
\nprocess.hltGtStage2Digis.InputLabel = cms.InputTag(\"hltFEDSelectorL1\",\"\",\"HLTX\")"
# customisation command needed for all tests cases
COMMON_CUSTOM="process.ALCARECOPPSCalMaxTracksFilter.TriggerResultsTag = cms.InputTag(\"TriggerResults\",\"\",\"HLTX\")"

INPUTFILE="/store/group/alca_global/pps_alcareco_producer_tests/outputALCAPPS_single.root"
COMMMAND=`xrdfs cms-xrd-global.cern.ch locate $INPUTFILE`
STATUS=$?
echo "xrdfs command status = "$STATUS
if [ $STATUS -eq 0 ]; then
echo "Using file ${INPUTFILE}. Running in ${SCRAM_TEST_PATH}."
# note we currently use `auto:run3_data_express` GT
# the correct GT (auto:run3_data_prompt) doesn't have LHCInfo record for run 322022 which corresponds to our face ALCARAW file
(cmsDriver.py testPromptPPSAlCaRecoProducer -s ALCAPRODUCER:PPSCalMaxTracks,ENDJOB \
--process ALCARECO \
--scenario pp \
--era run3_common \
--conditions auto:run3_data_express \
--data \
--datatier ALCARECO \
--eventcontent ALCARECO \
--nThreads 8 \
--number 100 --filein ${INPUTFILE} \
--fileout file:outputALCAPPS_RECO_prompt.root \
--customise_commands="$customise_commands") || die 'failed running test_prompt_AlCaRecoProducer' $?
else
die "SKIPPING test, file ${INPUTFILE} not found" 0
fi
# test on 2022 data
INPUTFILE_355207="file:/eos/cms/store/user/cmsbuild/store/data/Run2022B/AlCaPPS/RAW/v1/000/355/207/00000/c23440f4-49c0-44aa-b8f6-f40598fb4705.root"

# new test on generated data, with same structure as data expected in 2024
INPUTFILE_367104="/store/group/alca_global/pps_alcareco_producer_tests/outputALCAPPSPrompt.root"

# all input files and customisation commands to loop through
INPUTFILES=($INPUTFILE_355207 $INPUTFILE_367104)

# test case loop
for TEST_RUN_NO in {0..1}; do
INPUTFILE=${INPUTFILES[$TEST_RUN_NO]}
echo "Using file: ${INPUTFILE} , Running in: ${SCRAM_TEST_PATH} ."
(cmsDriver.py testpromptPPSAlCaRecoProducer -s ALCAPRODUCER:PPSCalMaxTracks,ENDJOB \
--process ALCARECO \
--scenario pp \
--era run3_common \
--conditions auto:run3_data_prompt \
--data \
--datatier ALCARECO \
--eventcontent ALCARECO \
--nThreads 8 \
--number 100 --filein ${INPUTFILE} \
--fileout file:outputALCAPPS_RECO_prompt_test${TEST_RUN_NO}.root \
--customise_commands="$COMMON_CUSTOM") || die 'failed running test_prompt_AlCaRecoProducer' $?
done
Original file line number Diff line number Diff line change
@@ -1,13 +1,25 @@
import FWCore.ParameterSet.Config as cms

# load era modifier to run on 2018 data
from Configuration.Eras.Modifier_run3_common_cff import run3_common
# load era modifier to run on 2022 data
from Configuration.Eras.Modifier_ctpps_2022_cff import ctpps_2022

process = cms.Process( 'TEST',run3_common)
process = cms.Process( 'TEST',ctpps_2022)

# command line options
import FWCore.ParameterSet.VarParsing as VarParsing
options = VarParsing.VarParsing('analysis')
options.register('runNo',
1,
VarParsing.VarParsing.multiplicity.singleton,
VarParsing.VarParsing.varType.int,
"Run number")
options.parseArguments()

run_no = options.runNo

# LHCInfo plotter
process.load('Validation.CTPPS.ctppsLHCInfoPlotter_cfi')
process.ctppsLHCInfoPlotter.outputFile = "alcareco_lhc_info_prompt.root"
process.ctppsLHCInfoPlotter.outputFile = f"alcareco_lhc_info_prompt_{run_no}.root"

# Load geometry from DB
process.load("Geometry.VeryForwardGeometry.geometryRPFromDB_cfi")
Expand All @@ -21,7 +33,7 @@
rpId_56_N = cms.uint32(103),
rpId_56_F = cms.uint32(123),

outputFile = cms.string("alcareco_tracks_prompt.root")
outputFile = cms.string(f"alcareco_tracks_prompt_{run_no}.root")
)

# reconstruction plotter
Expand All @@ -35,7 +47,7 @@
rpId_56_N = cms.uint32(103),
rpId_56_F = cms.uint32(123),

outputFile = cms.string("alcareco_protons_prompt.root")
outputFile = cms.string(f"alcareco_protons_prompt_{run_no}.root")
)

process.p = cms.Path(
Expand All @@ -51,12 +63,11 @@
# load GT
process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
from Configuration.AlCa.GlobalTag import GlobalTag
process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:run3_data_express')
# process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:run3_data_prompt') # --> No LHCInfo, temporarily using the express GT
process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:run3_data_prompt')

process.source = cms.Source( 'PoolSource',
fileNames = cms.untracked.vstring(
'file:outputALCAPPS_RECO_prompt.root',
options.inputFiles,
),
inputCommands = cms.untracked.vstring(
'keep *'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#!/bin/bash
function die { echo $1: status $2; exit $2; }

(cmsRun ${SCRAM_TEST_PATH}/test_prompt_PPSAlCaReco_output.py) || die 'failed running test_prompt_PPSAlCaReco_output.py' $?
cmsRun ${SCRAM_TEST_PATH}/test_prompt_PPSAlCaReco_output.py inputFiles=file:outputALCAPPS_RECO_prompt_test0.root runNo=355207 || die 'failed running test_prompt_PPSAlCaReco_output.py' $?
cmsRun ${SCRAM_TEST_PATH}/test_prompt_PPSAlCaReco_output.py inputFiles=file:outputALCAPPS_RECO_prompt_test1.root runNo=367104 || die 'failed running test_prompt_PPSAlCaReco_output.py' $?

0 comments on commit 671fafa

Please sign in to comment.