Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Omit calibration channels and invalid data in HCAL TP emulation #19105

Merged

Conversation

christopheralanwest
Copy link
Contributor

This PR excludes two types of data from TP emulation:

  • Calibration channels in HBHE and HF
  • Invalid QIE10 data, which should not be considered valid for the purpose of TP emulation

@cmsbuild
Copy link
Contributor

cmsbuild commented Jun 6, 2017

A new Pull Request was created by @christopheralanwest for master.

It involves the following packages:

SimCalorimetry/HcalTrigPrimAlgos

@cmsbuild, @rekovic, @mulhearn, @davidlange6 can you please review it and eventually sign? Thanks.
@davidlange6 you are the release manager for this.

cms-bot commands are listed here

@@ -228,6 +232,9 @@ void
HcalTriggerPrimitiveAlgo::addSignal(const QIE11DataFrame& frame)
{
HcalDetId detId(frame.id());
// prevent QIE11 calibration channels from entering TP emulation
if(detId.subdet() != HcalEndcap) return;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For future-proofing, it would be better to let this function accept HcalBarrel DetIds as well.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, good idea. I've made the change.

@kpedro88
Copy link
Contributor

kpedro88 commented Jun 6, 2017

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Jun 6, 2017

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/20380/console Started: 2017/06/06 23:39
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/20381/console Started: 2017/06/07 03:38

@cmsbuild
Copy link
Contributor

cmsbuild commented Jun 7, 2017

@cmsbuild
Copy link
Contributor

cmsbuild commented Jun 7, 2017

Comparison job queued.

@cmsbuild
Copy link
Contributor

cmsbuild commented Jun 7, 2017

Comparison is ready
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-19105/20381/summary.html

Comparison Summary:

  • You potentially added 162 lines to the logs
  • Reco comparison results: 1717 differences found in the comparisons
  • DQMHistoTests: Total files compared: 23
  • DQMHistoTests: Total histograms compared: 1837639
  • DQMHistoTests: Total failures: 42716
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 1794750
  • DQMHistoTests: Total skipped: 173
  • DQMHistoTests: Total Missing objects: 0
  • Checked 94 log files, 14 edm output root files, 23 DQM output files

@kpedro88
Copy link
Contributor

kpedro88 commented Jun 9, 2017

@rekovic please review/sign

@christopheralanwest
Copy link
Contributor Author

I've included some more details about this PR below.

Without this fix, the HCAL trigger primitive emulation crashes when run on data in which HCAL calibration channels have been read out. To reproduce a crash, use the following file from run 294745 in which the calibration channels are read out:

cmsrel CMSSW_9_2_1
cd CMSSW_9_2_1/src
cmsenv
cmsDriver.py step2 --datatier FEVTDEBUGHLT --conditions 92X_dataRun2_HLT_v2 -s L1REPACK:FullSimTP --process reTPs --era Run2_2017 --eventcontent FEVTDEBUGHLT -n 10 --filein root://eoscms.cern.ch//store/user/cawest/run294745_ls0010_streamDQM_mrg-c2f12-23-01.dat --no_exec
sed -i 's/PoolSource/NewEventStreamFileReader/' step2_L1REPACK.py
sed -i 's/secondaryFileNames = cms.untracked.vstring()//' step2_L1REPACK.py
cmsRun step2_L1REPACK.py

The exactly command is irrelevant--the point is to run the simHcalTriggerPrimitiveDigis module. These events crashed the HLT as well and so they do not show up in standard datasets. I need to use a DQM streamer file copied by hand from P5 to provoke the crash. Including this PR eliminates the crash.

To see the effect of filtering bad data on data versus emulator mismatches, I've attached plots of mismatches in run 295376 before and after this PR. In this run, the low voltage for HFM07 (the yellow blocks at ieta < 29) was off. The remaining discrepancies in HF are known to be due to a firmware bug.

run295376_mismatch.pdf
run295376_mismatch_omit_bad_data.pdf

As simulation does not include invalid data or calibration channels, this PR should have no effect on simulation or pre-2016 data. This expectation is confirmed in the comparisons with the baseline, in which the only comparison with RECO changes (in RelVal 25202.0) is a consequence of different files being used for pileup simulation (see https://cmssdt.cern.ch/SDT/jenkins-artifacts/baseLineComparisons/CMSSW_9_2_X_2017-06-06-1100+19105/20457/validateJR/logRootQA.log) for the baseline versus the baseline+PR19105.

@rekovic
Copy link
Contributor

rekovic commented Jun 13, 2017

+1

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request requires discussion in the ORP meeting before it's merged. @davidlange6, @smuzaffar

@davidlange6
Copy link
Contributor

+1

@cmsbuild cmsbuild merged commit 5596344 into cms-sw:master Jun 13, 2017
@christopheralanwest christopheralanwest deleted the hcal-tp-emul-omit-invalid-data branch August 21, 2019 14:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants