-
Notifications
You must be signed in to change notification settings - Fork 0
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
Explore if anything else than DQM could break because of not all streams seeing all lumis #703
Comments
List of files for edm::stream to be investigated more deeply
|
List of files for edm::global to investigate more deeply
|
I'm starting down this list from the top, MixingModule first. At first glance it looks OK, but there is a lot of code to go through... |
MixingModule seems to be OK related to streams skipping lumis. It's a lot of code, but I read through it all and couldn't find anything that would be adversely affected. |
L1RCTProducer.cc looks like an actual problem. Skipping lumis could change behavior. For example, there is an option to update some things every n lumis (100th in the cfi). So if some streams skipped lumi 400, then the updated quantities could be different on different streams for lumis 400-499 and that could vary from process to process. Based on comments in the code, that part is used only for online DQM. How far should I dig into this? I could try to understand this and redesign. Or we could push this off to the experts. One option might be to make that part of the code an ESProducer itself and let the EventSetup handle when the updating should occur. It's also not clear to me if this code is currently in use or not. It's been several years since there was development other than things like converting the module to a stream type and things like that. The things above that on the list looked OK. I guess for the moment I will skip that one and continue down the list. |
Thanks for the second look. Poking around it seems to me there is a high chance the module is still being used. Looking at the |
OK. I will open an issue on this one. |
PhysicsTools/NanoAOD/plugins/GenWeightsTableProducer.cc I checked this one off as not affected by a stream skipping a lumi, but I'll throw in some things I noticed as I reviewed. I was tempted to modify multiple things. I'd be happy to work on this and clean it up if you think it is worth my time. Maybe it is all insignificant and some of the problems might never occur if the input is as probably intended...
|
Hi @wddgit, I think these issues would be worth of fixing (especially the "silently" using the values of previous lumi sounds something that should be checked if it is intentional). An alternative for throwing exception would be to fill the values with some "defaults", but before doing that, I'd like to have a confirmation something like that would be the desired behavior. So starting with changing the warning to an exception sounds a reasonable starting point to ask the question. |
OK. I will start on that now while it is fresh in my mind. |
Submitted PR cms-sw/cmssw#43739 for GenWeightTableProducer. |
For the record, the L1RCTProducer Issue is cms-sw/cmssw#43697 |
ConcurrentHadronizerFilter.h and ConcurrentGeneratorFilter.h will both need to be fixed. On the positive side, the issue is almost identical in both files. I implemented this part of the code when I was working on concurrent runs back in 2022. Hopefully, I'll remember enough about what I did to help me fix this... |
The fix for L1RCTProducer was merged 1/30/2024, PR cms-sw/cmssw#43779 |
Submitted PR for ConcurrentHadronizerFilter and ConcurrentGeneratorFilter. See cms-sw/cmssw#43816. Including this new one, there are 3 PR's waiting to be merged and that should take care of everything on the list. |
Thanks David! |
Find e.g. through
git grep
all modules that call stream begin/endLumi and see what exactly they doThe text was updated successfully, but these errors were encountered: