9.2 Common EDM Utilities

Complete: 3
Detailed Review status

Goals of this page:

To let people know about all the standalone utilities available in CMSSW.

cmsglimpse

Searches through all the files in the release for a given string

 > cmsglimpse funny
CondTools/L1Trigger/interface/L1ConfigOnlineProdBase.h:    
// Explanation of funny syntax: since record is dependent, we are not
CondCore/DBCommon/test/testTokenBuilder.cc:     std::cout<<"funny error"<<std::endl;
DQM/SiStripMonitorCluster/test/batch_mtcc.sh: 
#the funny sort is done so that the files are ordered 1, 2, 3, ..., 10, 11, ..., 
#and not 1,10,11,...,2,20, and so on
Validation/Generator/bin/FeedParser.py:     
This is so much trickier than it sounds, it's not even funny.
....

edmConfigHash

Returns the Parameter Set ID for a config file. Used by the production system.

Usage: edmConfigHash <configuration file name>

edmConfigIncludeChecker

Prints out a list of all the include files used by a config file, and checks for missing includes.

edmConfigSearch

Finds instances of a search string in the configuration. The syntax is

EdmConfigSearch <searchstring> <configfile>

edmConfigFromDB

Retrieve job configuration text files (*.cfg / *.cff / *.py) from the configuration database. More documentation can be found here.

edmDumpEventContent

Shows which products exist in the file:


unix> edmDumpEventContent simemu100.root
L1CMS.GlobalTriggerObjectMapRecord    "hltL1GtObjectMap"      ""            "HLT."         
L1CMS.GlobalTriggerReadoutRecord      "hltGtDigis"            ""            "HLT."         
L1MuGMTReadoutCollection          "hltGtDigis"            ""            "HLT."         
(snipped)

More information is found here.

edmEventSize

edmEventSize is a tool to measure the average size per event of each edm::Product present in an output file of a cmsRun job. Detailed documentation may be found here.

edmFileUtil

edmFileUtil is a general edm file utility. It can be used to get the Physical File Name (PFN) from the Local File Name (LFN):

edmFileUtil -d /store/RelVal/2007/5/31/RelVal/RelVal142SingleEPt35-1180627277/
   0000/B46C3E2A-2811-DC11-866E-000E0C3F0C60.root
#edit the above 2 lines to be a single line
rfio:/castor/cern.ch/cms/store/RelVal/2007/5/31/RelVal/RelVal142SingleEPt35-1180627277/
   0000/B46C3E2A-2811-DC11-866E-000E0C3F0C60.root
#edit the above 2 lines to be a single line
see also: WorkBookDataSamples#IntroDuction It has many other options as well:
> edmFileUtil -h
Allowed options:
  -h [ --help ]                print help message
  -f [ --file ] arg            data file (Required)
  -c [ --catalog ] arg         catalog
  -l [ --ls ]                  list file content
  -P [ --print ]               Print all
  -u [ --uuid ]                Print uuid
  -v [ --verbose ]             Verbose printout
  -d [ --decodeLFN ]           Convert LFN to PFN
  -b [ --printBranchDetails ]  Call Print()sc for all branches
  -t [ --tree ] arg            Select tree used with -P and -b options
  --allowRecovery              Allow root to auto-recover corrupted files
  -e [ --events ] arg          Show event ids for events within a range or set
                               of ranges , e.g., 5-13,30,60-90

edmInventory.sh

SWGuideUsingFileCheckingTool

#edmLumisInFiles.py

edmLumisInFiles.py

Lists lumi sections and total integrated luminosity of given EDM files. See Good Lumi Section Twiki for more details.

edmMakePhDThesis

This tool is still under development. Scheduled for inclusion within the main branch in CMSSW_9_6_3.

edmPluginDump

Shows which products and producers are visible to the framework. If you've written a new plugin, this will test to see if the framework "sees" it.

edmPluginHelp

To get the actual parameters edmPluginHelp . For a given module name, e.g. PoolSource, you'd do

           edmPluginHelp -p PoolSource
This will give you the exact parameters which the code validates are actually the ones used.

edmPluginRefresh

Refreshes the lists of products and producers visible to the framework. Sometimes necessary after creating a new plugin.

edmProvDump

Prints out all the tracked parameters which were used to create this file.

usage: edmProvDump [options] <root-file>
--sort - sorts the resulting dump so that it can be reliably diff'd to a dump from a different file.

More information is found here.

edmPythonSearch

usage: edmPythonSearch <string> <config>

Searches the specified Python config, as well as all the fragments imported, for the given string.

>  edmPythonSearch noise RecoTau_DiTaus_pt_20-420_cfg.py

    #    3 time bins noise (in ADC counts)
RecoLocalMuon.CSCRecHitD.cscRecHitD_cff (line: 37)
From RecoTau_DiTaus_pt_20-420_cfg -> Configuration.StandardSequences.Reconstruction_cff -> 
RecoLocalMuon.Configuration.RecoLocalMuon_cff -> RecoLocalMuon.CSCRecHitD.cscRecHitD_cfi


# Addition of HCAL noise by JP Chou
RecoMET.Configuration.RecoMET_cff (line: 11)
From RecoTau_DiTaus_pt_20-420_cfg -> Configuration.StandardSequences.Reconstruction_cff

...

#edmPythonTree

edmPythonTree

Dumps a color-coded list of all the configuration fragments included by this configuration.

 > edmPythonTree CSCDigitizerTest_cfg.py
 +  CSCDigitizerTest_cfg
   +  Configuration.StandardSequences.FrontierConditions_CMS.GlobalTag_cff
     +  CalibCalorimetry.EcalLaserCorrection.ecalLaserCorrectionService_cfi
     +  CalibCalorimetry.HcalPlugins.Hcal_Conditions_forGlobalTag_cff
     +  CalibTracker.Configuration.Tracker_DependentRecords_forGlobalTag_nofakes_cff
       +  CalibTracker.SiStripESProducers.SiStripGainESProducer_cfi
       +  CalibTracker.SiStripESProducers.SiStripQualityESProducer_cfi
       +  CMS.RecoLocalTracker.SiStripRecHitConverter.SiStripRecHitMatcher_cfi
       +  CMS.RecoLocalTracker.SiStripRecHitConverter.StripCPEfromTrackAngle_cfi
         +  CMS.RecoLocalTracker.SiStripRecHitConverter.OutOfTime_cff
     +  Configuration.StandardSequences.FrontierConditions_CMS.GlobalTag_cfi
       +  CondCore.DBCommon.CondDBSetup_cfi
   +  Configuration.StandardSequences.GeometryPilot2_cff
     +  Geometry.CMSCommonData.cmsPilot2IdealGeometryXML_cfi
     +  Geometry.CSCGeometryBuilder.idealForDigiCscGeometry_cff
       +  Alignment.CommonAlignmentProducer.fakeForIdealAlignmentProducer_cfi
....

edmCopyPickMerge

This utility is located in the package PhysicsTools/Utilities, tag V08-01-01 or higher (this tag is backwards compatible with CMSSW 3.6 or later). It can be used to copy or pick events or merge edm files. For more details, please look at WorkBookDataSamples and WorkBookPickEvents.

Review status

Reviewer/Editor and Date (copy from screen) Comments
CMSUserSupport - 13 Jul 2007 created the template page
RickWilkinson - 25 Feb 2008 try to make more user-centric, and flag obsolete tools
ElizabethSextonKennedy - 02 Jul 2008 more obsolete tools
-- CharlesPlager - 10 Jun 2009 Updated edmDump
Main.William.Tanenbaum - 25 Aug 2009 more obsolete tools
Responsible: RickWilkinson
Last reviewed by:
Edit | Attach | Watch | Print version | History: r22 < r21 < r20 < r19 < r18 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r22 - 2015-06-08 - unknown


ESSENTIALS

ADVANCED TOPICS


 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    CMSPublic All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright &© 2008-2023 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback