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

Allow storing uint32_t and double in NanoAOD, and flat tables in the Runs tree, for ALCANANO #33565

Merged

Conversation

pieterdavid
Copy link
Contributor

PR description:

While trying to migrate the SiStrip calibration trees (flat trees produced from ALCARECO by the DPG) to the NanoAOD framework, we ran into a few limitations:

  • nanoaod::FlatTable can only contain Float, Int, UInt8_t and Bool columns. For calibration purposes UInt32_t (DetId) is also commonly needed, as well as double, for the few cases where the full precision should be kept.
  • the NanoAODOutputModule can only handle summary tables for the Runs tree, while flat tables can also be very useful (e.g. to store a few conditions-derived quantities)

This PR adds these (the code changes follow the existing code as much as possible). Since the FlatTable dataformat needs additional members for the new types, the class version is updated. I hope that doesn't cause compatibility problems.
The changes may also be useful for similar efforts in other DPGs and POGs (in case more types need to be added they could be included here).

PR validation:

Implemented a flat tree with all variables for the measurement of the SiStrip Lorentz angle and backplane correction (based on SiStripCalCosmics), which uses the new types and puts a flat table in the runs tree - full validation is ongoing, but the produced file looks technically sound (the work-in-progress code can be found here, the relevant config is this one).

CC: @ataliercio @robervalwalsh @mmusich @tsusa @mariadalfonso @gouskos

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-33565/22353

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @pieterdavid (Pieter David) for master.

It involves the following packages:

DataFormats/NanoAOD
PhysicsTools/NanoAOD

@cmsbuild, @mariadalfonso, @gouskos, @fgolf can you please review it and eventually sign? Thanks.
@gpetruc, @rovere, @swertz this is something you requested to watch as well.
@silviodonato, @dpiparo, @qliphy you are the release manager for this.

cms-bot commands are listed here

@mariadalfonso
Copy link
Contributor

please test

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-73f803/14680/summary.html
COMMIT: d7319f8
CMSSW: CMSSW_12_0_X_2021-04-28-1100/slc7_amd64_gcc900
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/33565/14680/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 38
  • DQMHistoTests: Total histograms compared: 2877605
  • DQMHistoTests: Total failures: 3
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2877580
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 37 files compared)
  • Checked 160 log files, 37 edm output root files, 38 DQM output files
  • TriggerResults: no differences found

@qliphy
Copy link
Contributor

qliphy commented May 11, 2021

kindly ping @cms-sw/xpog-l2

@mariadalfonso
Copy link
Contributor

please test

(retest with newer IB before merging)

@cmsbuild
Copy link
Contributor

cmsbuild commented Jun 3, 2021

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-73f803/15588/summary.html
COMMIT: d7319f8
CMSSW: CMSSW_12_0_X_2021-06-02-2300/slc7_amd64_gcc900
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/33565/15588/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

The workflows 140.53 have different files in step1_dasquery.log than the ones found in the baseline. You may want to check and retrigger the tests if necessary. You can check it in the "files" directory in the results of the comparisons

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 1264 differences found in the comparisons
  • DQMHistoTests: Total files compared: 37
  • DQMHistoTests: Total histograms compared: 2650486
  • DQMHistoTests: Total failures: 3675
  • DQMHistoTests: Total nulls: 19
  • DQMHistoTests: Total successes: 2646770
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: -45.703 KiB( 36 files compared)
  • DQMHistoSizes: changed ( 140.53 ): -44.531 KiB Hcal/DigiRunHarvesting
  • DQMHistoSizes: changed ( 140.53 ): -1.172 KiB RPC/DCSInfo
  • Checked 155 log files, 37 edm output root files, 37 DQM output files
  • TriggerResults: no differences found

@gouskos
Copy link
Contributor

gouskos commented Jun 3, 2021

+xpog

Changes proposed in this PR in accordance with the description.
Functionalities introduced can be useful for other cases beyond the SiStrip studies.
PR tested and no changes in the size or content of nanoAOD observed [as expected]

@cmsbuild
Copy link
Contributor

cmsbuild commented Jun 3, 2021

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 will now be reviewed by the release team before it's merged. @silviodonato, @dpiparo, @qliphy (and backports should be raised in the release meeting by the corresponding L2)

@qliphy
Copy link
Contributor

qliphy commented Jun 3, 2021

+1

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.

5 participants