cms-sw / cmssw

CMS Offline Software
http://cms-sw.github.io/
Apache License 2.0
1.08k stars 4.29k forks source link

Clean definition of eras and modifiers #22718

Open fabiocos opened 6 years ago

fabiocos commented 6 years ago

Following the discussion in #22679 we should consider some cleaning of the use of Eras, separating different data periods from different versions for the same data period, that could be managed through ProcessModifiers

cmsbuild commented 6 years ago

A new Issue was created by @fabiocos Fabio Cossutti.

@davidlange6, @Dr15Jones, @smuzaffar, @fabiocos can you please review it and eventually sign/assign? Thanks.

cms-bot commands are listed here

fabiocos commented 3 years ago

@silviodonato @qliphy @makortel this is an old discussion, some newer work was done along this spirit but no major reorganization happened to my mind. Leaving open this issue without any action seems of little help to me.

silviodonato commented 3 years ago

Thanks for the reminder @fabiocos . Just to clarify, for example instead of having https://github.com/cms-sw/cmssw/blob/master/Configuration/Eras/python/Era_Run2_2016_pA_cff.py should we use ( Run2_2016 era ) + ( pA modifier) instead of a single modified Era?

fabiocos commented 3 years ago

the basic argument raised by @davidlange6 at that time, and which I share, is to use Eras to identify specific data taking periods (and 2016_pA is a specific data taking period, different wrt the regular pp 2016) and modifiers to identify possible variants of the default to be used in a given data taking period: for instance dd4hep, which is not linked to a specific data taking period but to a particular code customisation. As far as I can see the situation has improved since the time of the original comment, still probably a number of Eras with variants of configuration for the same period are redundant, cmsDriver allows users to pass process modifiers separately.

makortel commented 3 years ago

Just to note (without thinking much the big picture yet) that "modified Eras" implemented as "remove a Modifier from the Era" are currently difficult to implement as a separate Era and Modifier.