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
Addition of IOExerciser, a simple module for emulating various IO patterns #320
Conversation
@@ -0,0 +1,3 @@ | |||
#Automatically created by SCRAM |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please do not include file which are created by scram.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This file should be removed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This file must be removed. Please do not sign or merge until it is removed.
Do you really want to have a separate package? Why not just an additional test? |
// | ||
// Original Author: Brian Bockelman | ||
// Created: Mon Jun 4 17:35:30 CDT 2012 | ||
// $Id$ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please remove this line
Additionally - Chris reminded me, the reason I needed this to be an OutputModule is because I need access to the TTree itself. I use this to determine the size of branches in the input (as this module wants to read N% of the input data by volume, not N% of the branches). |
- Move the plugin to IOPool/Input test directory. - Remove CVS-specific $Id$.
@nclopezo can you test? |
Hi, I created a test file ( test.py) with the example configuration shown in the readme, like this. import FWCore.ParameterSet.Config as cms process = cms.Process("Demo") process.load("FWCore.MessageService.MessageLogger_cfi") process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) process.source = cms.Source("PoolSource", # replace 'myfile.root' with the source file you want to use fileNames = cms.untracked.vstring( '/store/mc/HC/GenericTTbar/GEN-SIM-RECO/CMSSW_5_3_1_START53_V5-v1/0010/A2B8D47D-BCAD-E111-B16A-BCAEC53296FB.root' ) ) process.demo = cms.EDAnalyzer('IOExerciser', percentBranches = cms.untracked.uint32(30), triggerFactor = cms.untracked.uint32(20), ) process.p = cms.Path(process.demo) I did cmsRun test.py, But I got the following output: 16-Aug-2013 14:11:23 CEST Initiating request to open file root://eoscms//eos/cms/store/mc/HC/GenericTTbar/GEN-SIM-RECO/CMSSW_5_3_1_START53_V5-v1/0010/A2B8D47D-BCAD-E111-B16A-BCAEC53296FB.root?svcClass=default 16-Aug-2013 14:11:27 CEST Successfully opened file root://eoscms//eos/cms/store/mc/HC/GenericTTbar/GEN-SIM-RECO/CMSSW_5_3_1_START53_V5-v1/0010/A2B8D47D-BCAD-E111-B16A-BCAEC53296FB.root?svcClass=default 16-Aug-2013 14:11:29 CEST Closed file root://eoscms//eos/cms/store/mc/HC/GenericTTbar/GEN-SIM-RECO/CMSSW_5_3_1_START53_V5-v1/0010/A2B8D47D-BCAD-E111-B16A-BCAEC53296FB.root?svcClass=default ----- Begin Fatal Exception 16-Aug-2013 14:11:29 CEST----------------------- An exception of category 'PluginNotFound' occurred while [0] Constructing the EventProcessor Exception Message: Unable to find plugin 'IOExerciser' in category 'CMS EDM Framework Module'. Please check spelling of name. ----- End Fatal Exception ------------------------------------------------- Am I doing something wrong? |
Sorry, the actual output that I get is the following, I copy pasted wrong in the previous message. 16-Aug-2013 14:16:31 CEST Initiating request to open file root://eoscms//eos/cms/store/mc/HC/GenericTTbar/GEN-SIM-RECO/CMSSW_5_3_1_START53_V5-v1/0010/A2B8D47D-BCAD-E111-B16A-BCAEC53296FB.root?svcClass=default 16-Aug-2013 14:16:35 CEST Successfully opened file root://eoscms//eos/cms/store/mc/HC/GenericTTbar/GEN-SIM-RECO/CMSSW_5_3_1_START53_V5-v1/0010/A2B8D47D-BCAD-E111-B16A-BCAEC53296FB.root?svcClass=default 16-Aug-2013 14:16:37 CEST Closed file root://eoscms//eos/cms/store/mc/HC/GenericTTbar/GEN-SIM-RECO/CMSSW_5_3_1_START53_V5-v1/0010/A2B8D47D-BCAD-E111-B16A-BCAEC53296FB.root?svcClass=default ----- Begin Fatal Exception 16-Aug-2013 14:16:37 CEST----------------------- An exception of category 'Configuration' occurred while [0] Constructing the EventProcessor [1] Validating configuration of module: class=IOExerciser label='demo' Exception Message: The base type in the python configuration is EDAnalyzer, but the base type for the module's C++ class is OutputModule. Please fix the configuration. It must use the same base type as the C++ class. ----- End Fatal Exception ------------------------------------------------- |
You did run |
Yes, I did. |
The error message has the answer, you declared IOExerciser a 'EDAnalyzer' in python but in C++ it is an 'OutputModule'. The python and C++ types must match. The fix is
|
This is an OutputModule, not an EDAnalyzer.
Example in documentation is now fixed with the correct C++ type name. |
@ktf - I'm not sure why one would want to run this inside runtests. It's meant to do IO benchmarks for large files. |
Ok. |
@nclopezo - were you able to successfully test with the fix to the .py file? |
@nclopezo ping |
Hi, I ran it again, it seems to work. The following is the output that I got: 19-Aug-2013 10:20:07 CEST Initiating request to open file root://eoscms//eos/cms/store/mc/HC/GenericTTbar/GEN-SIM-RECO/CMSSW_5_3_1_START53_V5-v1/0010/A2B8D47D-BCAD-E111-B16A-BCAEC53296FB.root?svcClass=default 19-Aug-2013 10:20:13 CEST Successfully opened file root://eoscms//eos/cms/store/mc/HC/GenericTTbar/GEN-SIM-RECO/CMSSW_5_3_1_START53_V5-v1/0010/A2B8D47D-BCAD-E111-B16A-BCAEC53296FB.root?svcClass=default Begin processing the 1st record. Run 1, Event 13201, LumiSection 666930 at 19-Aug-2013 10:20:15.663 CEST Begin processing the 101st record. Run 1, Event 14101, LumiSection 666948 at 19-Aug-2013 10:20:20.923 CEST Begin processing the 201st record. Run 1, Event 14451, LumiSection 666955 at 19-Aug-2013 10:20:24.707 CEST Begin processing the 301st record. Run 1, Event 15951, LumiSection 666985 at 19-Aug-2013 10:20:28.477 CEST Begin processing the 401st record. Run 1, Event 16051, LumiSection 666987 at 19-Aug-2013 10:20:32.342 CEST Begin processing the 501st record. Run 1, Event 16551, LumiSection 666997 at 19-Aug-2013 10:20:36.597 CEST Begin processing the 601st record. Run 1, Event 17001, LumiSection 667006 at 19-Aug-2013 10:20:40.371 CEST Begin processing the 701st record. Run 1, Event 18301, LumiSection 667032 at 19-Aug-2013 10:20:44.313 CEST Begin processing the 801st record. Run 1, Event 18851, LumiSection 667043 at 19-Aug-2013 10:20:48.211 CEST Begin processing the 901st record. Run 1, Event 19001, LumiSection 667046 at 19-Aug-2013 10:20:52.160 CEST Begin processing the 1001st record. Run 1, Event 19501, LumiSection 667056 at 19-Aug-2013 10:20:55.938 CEST Begin processing the 1101st record. Run 1, Event 20401, LumiSection 667074 at 19-Aug-2013 10:20:59.729 CEST Begin processing the 1201st record. Run 1, Event 21501, LumiSection 667096 at 19-Aug-2013 10:21:03.541 CEST Begin processing the 1301st record. Run 1, Event 21951, LumiSection 667105 at 19-Aug-2013 10:21:07.343 CEST Begin processing the 1401st record. Run 1, Event 23201, LumiSection 667130 at 19-Aug-2013 10:21:11.287 CEST Begin processing the 1501st record. Run 1, Event 24101, LumiSection 667148 at 19-Aug-2013 10:21:15.060 CEST Begin processing the 1601st record. Run 1, Event 24451, LumiSection 667155 at 19-Aug-2013 10:21:18.855 CEST 19-Aug-2013 10:21:20 CEST Closed file root://eoscms//eos/cms/store/mc/HC/GenericTTbar/GEN-SIM-RECO/CMSSW_5_3_1_START53_V5-v1/0010/A2B8D47D-BCAD-E111-B16A-BCAEC53296FB.root?svcClass=default ============================================= MessageLogger Summary type category sev module subroutine count total ---- -------------------- -- ---------------- ---------------- ----- ----- 1 fileAction -s file_close 1 1 2 fileAction -s file_open 2 2 type category Examples: run/evt run/evt run/evt ---- -------------------- ---------------- ---------------- ---------------- 1 fileAction PostEndRun 2 fileAction pre-events pre-events Severity # Occurrences Total Occurrences -------- ------------- ----------------- System 3 3 |
Looks reasonable. Merging this. |
Addition of IOExerciser, a simple module for emulating various IO patterns
re-enable mva
* add HiGenAnalyzer This analyzer is copied from its AOD counterpart https://github.com/CmsHI/cmssw/blob/2c806f88506f7ef732b725142ae85750a31dc646/HeavyIonsAnalysis/EventAnalysis/src/HiEvtAnalyzer.cc and adapted for gen info in miniAOD Notes : GenHIEvent is currently missing from miniAOD * fix sube collisionId_ is not kept in pat::PackedGenParticle, use "packedGenParticlesSignal" (added by cms-sw#32668) to tag particles from signal process
pixelPairStep addition
This is a simple OutputModule (must be an output module in order to access the product information) which reads event data in a configurable pattern. The data read is determined by desired IO pattern, not file contents; the actual object contents are ignored.
This is meant to test out new IO code and to watch for regressions between releases.