cms-l1-dpg / Phase2-L1MenuTools

This repository contains the framework for the measurement of matching efficiencies, trigger turn-on curves, and scalings for the assessment of the physics performance of the CMS Phase-2 L1 Menu.
2 stars 8 forks source link

Filter gen particles by status in caching #40

Closed artlbv closed 5 months ago

artlbv commented 1 year ago

It seem we do not filter the genparticles by status when we cache them. This creates a huge collection especially for genphotons, e.g.:

22M cache/V29/V29_DYLL_M50_part_e.parquet
8.0M    cache/V29/V29_DYLL_M50_part_mu.parquet
269M    cache/V29/V29_Hgg_part_gamma.parquet
4.3M    cache/V29/V29_HHToTauTau_part_tau.parquet
6.7M    cache/V29/V29_VBFHToTauTau_part_tau.parquet

However, we should probably at least require status == 1 in this step, as done in the FastPuppi ntupler: https://github.com/p2l1pfp/FastPUPPI/blob/12_5_X/NtupleProducer/python/runPerformanceNTuple.py#L339

artlbv commented 1 year ago

To be checked also viz the hadronic tau fixes by @bonanomi

bonanomi commented 1 year ago

We do have this requirement on the final state particles (in _filter_fspart_branches). This is the collection that is used to compute the isolation wrt the gen-level particles. We can introduce this mask also in _filter_genpart_branches. Although this was not done in the C++ version of the tools. We'd need to check that introducing this requirement does not change the performance (ie a full run of validation would be required if this change is introduced)

bonanomi commented 1 year ago

To be checked also viz the hadronic tau fixes by @bonanomi

For hadronic taus this additional filtering should not be required, as in that case we ask for status==2 directly (ie I am not sure it would make sense to require status == 1 AND status == 2).

artlbv commented 1 year ago

Right, I meant selecting status 1 for genparticles that we cache, ie prompt electrons, muons, photons, taus.

As you say we anyway select this at the analysis level, but I do not see any reason why not to select this already at the caching step?

The fs particles for isolation and dR matching are not cached iiuc?

Am 27.06.2023 um 23:06 schrieb Matteo Bonanomi @.***>:



To be checked also viz the hadronic tau fixes by @bonanomihttps://github.com/bonanomi

For hadronic taus this additional filtering should not be required, as in that case we ask for status==2 directly (ie I am not sure it would make sense to require status == 1 AND status == 2).

— Reply to this email directly, view it on GitHubhttps://github.com/cms-l1-dpg/Phase2-L1MenuTools/issues/40#issuecomment-1610219653, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABF57TETUQM446KSFDAIM23XNNDOFANCNFSM6AAAAAAZWDCQQ4. You are receiving this because you authored the thread.Message ID: @.***>

artlbv commented 5 months ago

Obsolete due to move to nano