Skip to content

Commit

Permalink
Add uGMT muon showers to DQM quality tests
Browse files Browse the repository at this point in the history
  • Loading branch information
dinyar committed May 29, 2022
1 parent 250a6d4 commit 30b34a4
Show file tree
Hide file tree
Showing 2 changed files with 76 additions and 1 deletion.
60 changes: 60 additions & 0 deletions DQM/L1TMonitorClient/python/L1TStage2uGMTClient_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,44 @@
inputDen = ugmtMuCpyDqmDir+'/uGMTMuonCopy5/'+errHistDenStr,
ratioTitle = 'Summary of mismatch rates between uGMT muons and uGMT muon copy 5'
)

# Showers
l1tStage2uGMTShowerVsuGMTShowerCopy1RatioClient = l1tStage2uGMTMuonVsuGMTMuonCopy1RatioClient.clone(
monitorDir = ugmtMuCpyDqmDir+'/uGMTMuonShoweruGMTMuonShowerCopy2',
inputNum = ugmtMuCpyDqmDir+'/uGMTMuonShowerCopies/uGMTMuonShowerCopy1/'+errHistNumStr,
inputDen = ugmtMuCpyDqmDir+'/uGMTMuonShowerCopies/uGMTMuonShowerCopy1/'+errHistDenStr,
ratioTitle = 'Summary of mismatch rates between uGMT showers and uGMT shower copy 1',
ignoreBin = cms.untracked.vint32(ignoreBins['OutputCopies'])
)
l1tStage2uGMTShowerVsuGMTShowerCopy2RatioClient = l1tStage2uGMTMuonVsuGMTMuonCopy1RatioClient.clone(
monitorDir = ugmtMuCpyDqmDir+'/uGMTMuonShoweruGMTMuonShowerCopy2',
inputNum = ugmtMuCpyDqmDir+'/uGMTMuonShowerCopies/uGMTMuonShowerCopy2/'+errHistNumStr,
inputDen = ugmtMuCpyDqmDir+'/uGMTMuonShowerCopies/uGMTMuonShowerCopy2/'+errHistDenStr,
ratioTitle = 'Summary of mismatch rates between uGMT showers and uGMT shower copy 2',
ignoreBin = cms.untracked.vint32(ignoreBins['OutputCopies'])
)
l1tStage2uGMTShowerVsuGMTShowerCopy3RatioClient = l1tStage2uGMTMuonVsuGMTMuonCopy1RatioClient.clone(
monitorDir = ugmtMuCpyDqmDir+'/uGMTMuonShoweruGMTMuonShowerCopy3',
inputNum = ugmtMuCpyDqmDir+'/uGMTMuonShowerCopies/uGMTMuonShowerCopy3/'+errHistNumStr,
inputDen = ugmtMuCpyDqmDir+'/uGMTMuonShowerCopies/uGMTMuonShowerCopy3/'+errHistDenStr,
ratioTitle = 'Summary of mismatch rates between uGMT showers and uGMT shower copy 3',
ignoreBin = cms.untracked.vint32(ignoreBins['OutputCopies'])
)
l1tStage2uGMTShowerVsuGMTShowerCopy4RatioClient = l1tStage2uGMTMuonVsuGMTMuonCopy1RatioClient.clone(
monitorDir = ugmtMuCpyDqmDir+'/uGMTMuonShoweruGMTMuonShowerCopy4',
inputNum = ugmtMuCpyDqmDir+'/uGMTMuonShowerCopies/uGMTMuonShowerCopy4/'+errHistNumStr,
inputDen = ugmtMuCpyDqmDir+'/uGMTMuonShowerCopies/uGMTMuonShowerCopy4/'+errHistDenStr,
ratioTitle = 'Summary of mismatch rates between uGMT showers and uGMT shower copy 4',
ignoreBin = cms.untracked.vint32(ignoreBins['OutputCopies'])
)
l1tStage2uGMTShowerVsuGMTShowerCopy5RatioClient = l1tStage2uGMTMuonVsuGMTMuonCopy1RatioClient.clone(
monitorDir = ugmtMuCpyDqmDir+'/uGMTMuonShoweruGMTMuonShowerCopy5',
inputNum = ugmtMuCpyDqmDir+'/uGMTMuonShowerCopies/uGMTMuonShowerCopy5/'+errHistNumStr,
inputDen = ugmtMuCpyDqmDir+'/uGMTMuonShowerCopies/uGMTMuonShowerCopy5/'+errHistDenStr,
ratioTitle = 'Summary of mismatch rates between uGMT showers and uGMT shower copy 5',
ignoreBin = cms.untracked.vint32(ignoreBins['OutputCopies'])
)

# RegionalMuonCands
l1tStage2BmtfOutVsuGMTInRatioClient = l1tStage2uGMTMuonVsuGMTMuonCopy1RatioClient.clone(
monitorDir = ugmtDqmDir+'/BMTFoutput_vs_uGMTinput',
Expand All @@ -71,6 +109,15 @@
ignoreBin = ignoreBins['Emtf']
)

# RegionalShowerCands
l1tStage2EmtfOutVsuGMTInShowerRatioClient = l1tStage2uGMTMuonVsuGMTMuonCopy1RatioClient.clone(
monitorDir = ugmtDqmDir+'/EMTFoutput_vs_uGMTinput/Muon Showers',
inputNum = ugmtDqmDir+'/EMTFoutput_vs_uGMTinput/Muon Showers/'+errHistNumStr,
inputDen = ugmtDqmDir+'/EMTFoutput_vs_uGMTinput/Muon Showers/'+errHistDenStr,
ratioTitle = 'Summary of mismatch rates between EMTF output showers and uGMT input showers from EMTF',
ignoreBin = ignoreBins['EmtfShowers']
)

# sequences
l1tStage2uGMTMuonCompClient = cms.Sequence(
l1tStage2uGMTMuonVsuGMTMuonCopy1RatioClient
Expand All @@ -79,12 +126,25 @@
+ l1tStage2uGMTMuonVsuGMTMuonCopy4RatioClient
+ l1tStage2uGMTMuonVsuGMTMuonCopy5RatioClient
)
# Add shower copy tests for Run-3
_run3_l1tStage2uGMTMuonCompClient = cms.Sequence(
l1tStage2uGMTMuonCompClient.copy()
+ l1tStage2uGMTShowerVsuGMTShowerCopy1RatioClient
+ l1tStage2uGMTShowerVsuGMTShowerCopy2RatioClient
+ l1tStage2uGMTShowerVsuGMTShowerCopy3RatioClient
+ l1tStage2uGMTShowerVsuGMTShowerCopy4RatioClient
+ l1tStage2uGMTShowerVsuGMTShowerCopy5RatioClient
)
stage2L1Trigger_2021.toReplaceWith(l1tStage2uGMTMuonCompClient, _run3_l1tStage2uGMTMuonCompClient)

l1tStage2uGMTRegionalMuonCandCompClient = cms.Sequence(
l1tStage2BmtfOutVsuGMTInRatioClient
+ l1tStage2OmtfOutVsuGMTInRatioClient
+ l1tStage2EmtfOutVsuGMTInRatioClient
)
# Add input vs. output shower tests in Run-3.
_run3_l1tStage2uGMTRegionalMuonCandCompClient = cms.Sequence(l1tStage2uGMTRegionalMuonCandCompClient.copy() + l1tStage2EmtfOutVsuGMTInShowerRatioClient)
stage2L1Trigger_2021.toReplaceWith(l1tStage2uGMTRegionalMuonCandCompClient, _run3_l1tStage2uGMTRegionalMuonCandCompClient)

l1tStage2uGMTClient = cms.Sequence(
l1tStage2uGMTMuonCompClient
Expand Down
17 changes: 16 additions & 1 deletion DQM/L1TMonitorClient/python/L1TStage2uGMTEmulatorClient_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,19 @@
)
## Era: Run3_2021; Ignore BX range mismatches. This is necessary because we only read out the central BX for the inputs, so that is what the emulator has to work on.
from Configuration.Eras.Modifier_stage2L1Trigger_2021_cff import stage2L1Trigger_2021
stage2L1Trigger_2021.toModify(l1tStage2uGMTEmulatorCompRatioClient, ignoreBin = ignoreFinalsBinsRun3)
stage2L1Trigger_2021.toModify(l1tStage2uGMTEmulatorCompRatioClient, ignoreBin = cms.untracked.vint32(ignoreFinalsBinsRun3))

# Showers
l1tStage2uGMTShowerEmulatorCompRatioClient = DQMEDHarvester("L1TStage2RatioClient",
monitorDir = cms.untracked.string(ugmtEmuDEDqmDir+"/Muon showers"),
inputNum = cms.untracked.string(ugmtEmuDEDqmDir+'/Muon showers/'+errHistNumStr),
inputDen = cms.untracked.string(ugmtEmuDEDqmDir+'/Muon showers/'+errHistDenStr),
ratioName = cms.untracked.string('mismatchRatio'),
ratioTitle = cms.untracked.string('Summary of mismatch rates between uGMT showers and uGMT emulator showers'),
yAxisTitle = cms.untracked.string('# mismatch / # total'),
binomialErr = cms.untracked.bool(True),
ignoreBin = cms.untracked.vint32(ignoreFinalsBinsRun3), # Ignore BX range mismatches. This is necessary because we only read out the central BX for the inputs, so that is what the emulator has to work on.
)

# intermediate muons
titleStr = 'Summary of mismatch rates between uGMT intermediate muons and uGMT emulator intermediate muons from '
Expand Down Expand Up @@ -70,3 +82,6 @@
+ l1tStage2uGMTEmulImdMuEMTFPosCompRatioClient
)

# Add shower tests for Run3
_run3_l1tStage2uGMTEmulatorClient = cms.Sequence(l1tStage2uGMTEmulatorClient.copy() + l1tStage2uGMTShowerEmulatorCompRatioClient)
stage2L1Trigger_2021.toReplaceWith(l1tStage2uGMTEmulatorClient, _run3_l1tStage2uGMTEmulatorClient)

0 comments on commit 30b34a4

Please sign in to comment.