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
SpySoftware affected by a commit on PoolSource #20361
Comments
A new Issue was created by @Jangbae . @davidlange6, @Dr15Jones, @smuzaffar can you please review it and eventually sign/assign? Thanks. cms-bot commands are listed here |
@dan131riley could you take a look at this? |
@Jangbae can you give me a recipe for reproducing this? |
@dan131riley cmsrel CMSSW_9_2_6 [1] and [2] are placed at /afs/cern.ch/work/j/jblee/public/forDan |
It looks like this was broken in the 74x timeframe, before PoolSource was refactored. In 73x, RootInputFileSequence::readOneSequential() returns false when it runs off the end of the file list:
In 74x, that changed to
i.e., when it reaches the end of the list it loops back to the first file. This makes sense for the mixing module, but not for the SpyEventMatcher, it does
which is gonna loop a lot of times to read std::numeric_limits<size_t>::max() events. Least disruptive option is probably adding a pset option to EmbeddedRootSource to turn off looping back to the beginning of the list (for sequential access only). |
PR #20403 adds an option to restore the old behavior where EmbeddedRootSource stops at the end of the last file. With this change, your test case runs to completion, producing a SpyMatchedEvents.root with 1 run, 49 lumis and 0 events. This looks to be correct, as SpyRawToDigis.root contains run 298270 lumi 1, while the raw data file only has data from run 201679, so there shouldn't be any match. |
Thank you very much! |
Hi,
We've found that there was a commit [1] on PoolSource which changes SiStripSpyEventMatcher under DQM/SiStripMonitorHardware package to use EmbeddedRootSource. The EmbeddedRootSource seems not working so we'd like to raise an issue. These followings are what we've tested for the spy event matcher.
We tested CMSSW_9_2_6 and add package "DQM/SiStripMonitorHardware"
Gave main stream data and digitized spy run data as inputs for the spyMatcher config
Tested the event matcher config with two different SecSources, "PoolSource" and "EmbeddedRootSource"
Inheritance relation check for PoolSource
The vectorinputsource class has been removed from CMSSW8XX in the inheritance relation with PoolSource. You can find this from cmsdoxygens for CMSSW_8_0_24[2] and CMSSW_7_3_2[3]
In CMSSW 7, the event matcher works with PoolSource.
In summary, the spy event matcher works well in CMSSW 7 but it's not anymore with CMSSW 8 and 9. This is due to the commit on the PoolSource and we'd like to ask some help to make the spy event matcher run again in CMSSW8 and 9.
Regards,
Jangbae
[1] https://github.com/cms-sw/cmssw/commit/b0371c1187c522c1367eedb6779230e74805c535
[2]http://cmsdoxygen.web.cern.ch/cmsdoxygen/CMSSW_8_0_24/doc/html/d9/d5a/classedm_1_1PoolSource.html
[3]http://cmsdoxygen.web.cern.ch/cmsdoxygen/CMSSW_7_3_2/doc/html/d9/d5a/classedm_1_1PoolSource.html
The text was updated successfully, but these errors were encountered: