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

Add support for adding variable-size attributes (std::vector) within objects for NanoAOD #46702

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

patinkaew
Copy link
Contributor

PR description:

Add support for adding variable-size attributes (std::vector) within objects for NanoAOD. Presented at XPOG meeting on 13.11.2024. In addition, after the presentation, lazy evaluation functionality has been added.

Tested mainly in context of ScoutingNano, but this functionality is generic and can be useful for any custom NanoAOD. Hence, we decided to make this PR with only variable-size attributes support in NanoAOD. For usage in ScoutingNano, we will prepare another PR later after discussion with scouting group.

PR validation:

Tested with ScoutingNano (for ScoutingMuon and ScoutingElectron) with workflow 2500.227(RelValTTbar/2024/MINIAODSIM) and 2500.237 (ScoutingPFRun3/2024D/HLTSCOUT) as presented in the slide.

For lazy evaluation, test with workflow 2500.237 by setting ScoutingMuon's hitPattern variable with lazyEval=True. The output step2.root looks the same as output step2.root when setting lazyEval=False.

Pass all tests when running: scram b runtests use-ibeos

Pass    0s ... CommonTools/Utils/ExprEvalPopen_t
Pass   12s ... CommonTools/Utils/ExpressionEvaluatorUnitTest
Pass    7s ... CommonTools/Utils/testCommonToolsUtil
Pass    3s ... CommonTools/Utils/testCommonToolsUtilThreaded
Pass    0s ... CommonTools/Utils/testDynArray
Pass   17s ... CommonTools/Utils/testExpressionEvaluator
Pass   15s ... PhysicsTools/NanoAOD/testPhysicsToolsNanoAODTP
>> Test sequence completed for CMSSW CMSSW_14_2_0_pre3

When running runTheMatrix.py -l limited -i all --ibeos, some workflows failed due to file open errors. Tested 3 times and got the similar file open errors.

45 41 39 35 17 1 1 1 1 1 1 tests passed, 1 3 0 0 0 0 0 0 0 0 0 failed

Failed workflows are:

  • failed at step-0: 312.0
  • failed at step-1: 25202.0, 14234.0, 250202.181
    which are all due to file open errors.

If this PR is a backport please specify the original PR and why you need to backport that PR. If this PR will be backported please specify to which release cycle the backport is meant for:

This is not a backport and there is no plan for a backport.

…pleCollectionFlatTableProducer as an extension to SimpleFlatTableProducer to handle collection attributes of objects
@cmsbuild
Copy link
Contributor

cmsbuild commented Nov 14, 2024

cms-bot internal usage

@cmsbuild
Copy link
Contributor

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-46702/42652

Code check has found code style and quality issues which could be resolved by applying following patch(s)

@cmsbuild
Copy link
Contributor

@cmsbuild
Copy link
Contributor

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

It involves the following packages:

  • CommonTools/Utils (reconstruction)
  • PhysicsTools/NanoAOD (xpog)

@cmsbuild, @ftorrresd, @hqucms, @jfernan2, @mandrenguyen can you please review it and eventually sign? Thanks.
@AnnikaStein, @gpetruc, @missirol this is something you requested to watch as well.
@antoniovilela, @mandrenguyen, @rappoccio, @sextonkennedy you are the release manager for this.

cms-bot commands are listed here

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.

2 participants