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

Adding ability to output PF Candidate information in JME NTuples #31795

Closed
wants to merge 5 commits into from

Conversation

laurenhay
Copy link
Contributor

@laurenhay laurenhay commented Oct 14, 2020

PR description:

Adding ability to output PF Candidate information belonging to a desired jet collection along with a mapping between said jets and candidates to the custom JME workflows.

Related materials:
NanoAODJMAR github: https://github.com/cms-jet/NanoAODJMAR
JME Twiki: https://twiki.cern.ch/twiki/bin/view/CMS/JMECustomNanoAOD
PR for NanoAODJMAR's candidate tables: #29550
Last JMAR meeting slides announcing JME+PF: https://indico.cern.ch/event/962252/contributions/4047997/attachments/2116746/3562198/JMEBTVnanoDiscussion_20201006_updated.pdf

PR validation:

Added runTheMatrix workflows:
25202.16
which adds only AK8 PF Candidates to the JME workflow 25202.15, and:
25202.17
which adds all PF Candidates to 25202.15.

if this PR is a backport please specify the original PR and why you need to backport that PR:

N/A

Tagging @rappoccio

@cmsbuild
Copy link
Contributor

The code-checks are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-31795/19074

@cmsbuild
Copy link
Contributor

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

It involves the following packages:

Configuration/PyReleaseValidation
PhysicsTools/NanoAOD

@gouskos, @jordan-martins, @chayanit, @wajidalikhan, @kpedro88, @cmsbuild, @fgolf, @mariadalfonso, @santocch can you please review it and eventually sign? Thanks.
@makortel, @fabiocos, @Martin-Grunewald, @gpetruc, @peruzzim, @slomeo 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

@laurenhay laurenhay marked this pull request as ready for review October 14, 2020 18:25
@laurenhay laurenhay changed the base branch from master to CMSSW_11_2_X October 14, 2020 18:26
@laurenhay laurenhay changed the base branch from master to CMSSW_11_2_X October 14, 2020 18:26
@mariadalfonso
Copy link
Contributor

mariadalfonso commented Oct 14, 2020

-1

There is no consensus on how to flatten the edm objects
We have not discussed how technically proceed with the multiplication of flat tree for Run3 developments
Another reason for not accepting this proposal is the large side of the trees > 20 kb/event: it's more than 10 times larger than central nano (1.5k/ev) and an ideal analysis format of that dimension already exist (miniAOD)

the jmeNano is currently unattended.
when experts updated the central nano, lead to crash in the JMEtree.
#31446 (from Lauren JME)
#31786 (from BTV)

The nanoGen is much more structured and should inspire additional tree for PPD and POGs

This should be first presented in the XPOG meeting (next occasion is on November 4)

@cmsbuild cmsbuild changed the base branch from CMSSW_11_2_X to master October 14, 2020 18:59
@cmsbuild
Copy link
Contributor

@laurenhay, CMSSW_11_2_X branch is closed for direct updates. cms-bot is going to move this PR to master branch.
In future, please use cmssw master branch to submit your changes.

@laurenhay
Copy link
Contributor Author

For more context, this is what some sample contents are:
https://lahay.web.cern.ch/lahay/website2/PFJME_JetHT2017UL_size.html
https://lahay.web.cern.ch/lahay/website2/PFJME_JetHT2017UL_description.html
https://lahay.web.cern.ch/lahay/website2/AK8PFJME_JetHT2017UL_size.html
https://lahay.web.cern.ch/lahay/website2/AK8PFJME_JetHT2017UL_description.html
https://lahay.web.cern.ch/lahay/website2/JME_JetHT2017UL_size.html
https://lahay.web.cern.ch/lahay/website2/JME_JetHT2017UL_description.html
html files starting with PFJME are using the custom JME and have all PF cands stored, AK8PFJME is only the fatjet candidates, and JME is with no PF cands.
The configuration files for these samples were created using the following command in 11_2_pre7:

cmsDriver.py step1 --data --eventcontent NANOAOD --datatier NANOAOD --conditions auto:run2_data --step NANO --era Run2_2017,run2_nanoAOD_106Xv1 --python_filename PFJME_Data17UL_cfg.py --no_exec --customise_commands="process.add_(cms.Service('InitRootHandlers', EnableIMT = cms.untracked.bool(False))) \n from PhysicsTools.NanoAOD.custom_jme_cff import PrepJMECustomPFNanoAOD_Data; PrepJMECustomPFNanoAOD_Data(process)\n "

And then directly editing the config file to change the input file to:

/store/data/Run2017B/JetHT/MINIAOD/09Aug2019_UL2017-v1/130000/07017B4E-9794-DB40-BFBE-F8664579C066.root

and the number of events to be 10000.
This will not exclusively be used for a central production, and is also being used by BTV and JMAR for private samples.

@chayanit
Copy link

Hello @laurenhay, why do we need new workflows for all 3 MC year? Is it supposed to be included in IB test only?

@rappoccio
Copy link
Contributor

Hello @laurenhay, why do we need new workflows for all 3 MC year? Is it supposed to be included in IB test only?

Hi @chayanit, do you mean here ?

@chayanit
Copy link

Hello @laurenhay, why do we need new workflows for all 3 MC year? Is it supposed to be included in IB test only?

Hi @chayanit, do you mean here ?

Hi @rappoccio , I mean https://github.com/cms-sw/cmssw/pull/31795/files#diff-09f871ad2ecabe8c1c5df4ce58cdfe28cb19dc1194361f8b29ebc7278869ca85R43-R44 and https://github.com/cms-sw/cmssw/pull/31795/files#diff-b0dce787f15ea8526a7b5585e797ba4b9e17ba829550c8283b5b5f97cba58b04R3138-R3141. Why do we need to declare new workflows for 2016? Shouldn't it need only IB test which are included here instead? https://github.com/cms-sw/cmssw/blob/master/Configuration/PyReleaseValidation/python/relval_2017.py

@silviodonato
Copy link
Contributor

Hello @laurenhay, why do we need new workflows for all 3 MC year? Is it supposed to be included in IB test only?

@laurenhay

@laurenhay
Copy link
Contributor Author

Hello @laurenhay, why do we need new workflows for all 3 MC year? Is it supposed to be included in IB test only?

Hi @chayanit, do you mean here ?

Hi @rappoccio , I mean https://github.com/cms-sw/cmssw/pull/31795/files#diff-09f871ad2ecabe8c1c5df4ce58cdfe28cb19dc1194361f8b29ebc7278869ca85R43-R44 and https://github.com/cms-sw/cmssw/pull/31795/files#diff-b0dce787f15ea8526a7b5585e797ba4b9e17ba829550c8283b5b5f97cba58b04R3138-R3141. Why do we need to declare new workflows for 2016? Shouldn't it need only IB test which are included here instead? https://github.com/cms-sw/cmssw/blob/master/Configuration/PyReleaseValidation/python/relval_2017.py

I still don't know what you're referring to since we don't declare a workflow for 2016. The workflow we are upgrading for 2017 and 2018. The diff links you provided are broken as well.

@@ -40,6 +40,8 @@
workflows[25202.1]=['',['TTbar_13','DIGIUP15APVSimu_PU25','RECOUP15_PU25','HARVESTUP15_PU25']]
workflows[25202.2]=['',['TTbar_13','DIGIUP15APVSimu_PU25','RECOUP15_PU25_HIPM','HARVESTUP15_PU25']]
workflows[25202.15]=['',['TTbar_13','DIGIUP15_PU25','RECOUP15_PU25','HARVESTUP15_PU25','NANOUP15MC_PU25_JME']]
workflows[25202.16]=['',['TTbar_13','DIGIUP15_PU25','RECOUP15_PU25','HARVESTUP15_PU25','NANOUP15MC_PU25_JMEAK8PF']]
workflows[25202.17]=['',['TTbar_13','DIGIUP15_PU25','RECOUP15_PU25','HARVESTUP15_PU25','NANOUP15MC_PU25_JMEPF']]
Copy link

Choose a reason for hiding this comment

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

what you declared here is for 2016 not 2017 and 2018 @laurenhay. If you don't want, you need to remove them

steps['NANOUP15MC_PU25_JMEAK8PF']=merge([{'--customise':'PhysicsTools/NanoAOD/custom_jme_cff.PrepJMECustomAK8PFNanoAOD_MC'},steps['NANOUP15']])
steps['NANOUP15Data_PU25_JMEAK8PF']=merge([{'--customise':'PhysicsTools/NanoAOD/custom_jme_cff.PrepJMECustomAK8PFNanoAOD_Data','--data':''},steps['NANOUP15']])
steps['NANOUP15MC_PU25_JMEPF']=merge([{'--customise':'PhysicsTools/NanoAOD/custom_jme_cff.PrepJMECustomPFNanoAOD_MC'},steps['NANOUP15']])
steps['NANOUP15Data_PU25_JMEPF']=merge([{'--customise':'PhysicsTools/NanoAOD/custom_jme_cff.PrepJMECustomPFNanoAOD_Data','--data':''},steps['NANOUP15']])
Copy link

Choose a reason for hiding this comment

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

as well as these 4 lines here, they are for 2016 condition

if 'Nano' in step:
stepDict[stepName][k] = merge([{'--customise': 'PhysicsTools/NanoAOD/custom_jme_cff.PrepJMECustomAK8PFNanoAOD_MC'}, stepDict[step][k]])
def condition(self, fragment, stepList, key, hasHarvest):
return fragment=="TTbar_13" and ('2017' in key or '2018' in key)
Copy link

Choose a reason for hiding this comment

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

This class is asking for 2017 and 2018 but why you need Run2? Shouldn't we target Run3?

if 'Nano' in step:
stepDict[stepName][k] = merge([{'--customise': 'PhysicsTools/NanoAOD/custom_jme_cff.PrepJMECustomPFNanoAOD_MC'}, stepDict[step][k]])
def condition(self, fragment, stepList, key, hasHarvest):
return fragment=="TTbar_13" and ('2017' in key or '2018' in key)
Copy link

Choose a reason for hiding this comment

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

and same here

@rappoccio
Copy link
Contributor

Thanks @chayanit. This PR is still under discussion of the scope so we will hold the 2016/2017/2018 workflows for now.

@silviodonato
Copy link
Contributor

@laurenhay @rappoccio shall we close this PR?

@rappoccio
Copy link
Contributor

rappoccio commented Nov 9, 2020 via email

@kpedro88
Copy link
Contributor

please close

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.

7 participants