3.3.2 EDM tools to list event content and examine provenance

Complete: 4
Detailed Review status

Goals of this page:

This page describes how to:

  • see which collections are in present in the events using edmDumpEventContent
  • find out how these collections were made by edmProvDump

Contents

Listing the content of a data file with edmDumpEventContent

Shows which products exist in the file:

NOTE: You may use the MYCOPY.root file to explore these EDM tools. The exact contents may be different but concept remains the same.

unix> edmDumpEventContent --help
usage: edmDumpEventContent [options] templates.root
Prints out info on edm file.

options:
  -h, --help     show this help message and exit
  --name         print out only branch names
  --all          Print out everything: type, module, label, process, and
                 branch name
  --regex=REGEX  Filter results based on regex

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

If you want to print out -all information, but only for those branches that, for example, contain the words recoMuon or calojet

unix> edmDumpEventContent --all --regex recoMuon --regex caloJet relvalZmumu_300_pre10.root
vector<reco::CaloJet>             "iterativeCone5CaloJets"    ""            "VALIDATION."   : recoCaloJets_iterativeCone5CaloJets__VALIDATION
vector<reco::CaloJet>             "kt4CaloJets"           ""            "VALIDATION."   : recoCaloJets_kt4CaloJets__VALIDATION
vector<reco::CaloJet>             "kt6CaloJets"           ""            "VALIDATION."   : recoCaloJets_kt6CaloJets__VALIDATION
vector<reco::CaloJet>             "sisCone5CaloJets"      ""            "VALIDATION."   : recoCaloJets_sisCone5CaloJets__VALIDATION
vector<reco::CaloJet>             "sisCone7CaloJets"      ""            "VALIDATION."   : recoCaloJets_sisCone7CaloJets__VALIDATION
vector<reco::Muon>                "muons"                 ""            "VALIDATION."   : recoMuons_muons__VALIDATION

Just running it on a pat-tuple (e.g. output of "StarterKit" process) would result in

unix> edmDumpEventContents my-pat-tuple.root

vector             "iterativeCone5CMS.CaloJets"    ""            "RECO."        
vector             "kt4CMS.CaloJets"           ""            "RECO."        
vector             "kt6CMS.CaloJets"           ""            "RECO."        
vector             "sisCone5CMS.CaloJets"      ""            "RECO."        
vector             "sisCone7CMS.CaloJets"      ""            "RECO."        
vector             "selectedLayer1Electrons"    ""            "StarterKit."  
vector                  "selectedLayer1Jets"    ""            "StarterKit."  
vector                  "layer1METs"            ""            "StarterKit."  
vector                 "selectedLayer1Muons"    ""            "StarterKit."  
vector               "selectedLayer1Photons"    ""            "StarterKit."  
vector                  "selectedLayer1Taus"    ""            "StarterKit." 

Learning about the history of a file with 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.

Doing it on the above PAT-tuple would give

Event filtering information for 4 processing steps is available.
The ParameterSets will be printed out, with the oldest printed first.
ParameterSetID: 1258c9d7981c36123064b138d9233d2d
{
  SelectEvents: vstring tracked  = {'generation_step'}
}{
}{
}
     -------------------------
ParameterSetID: 38559c871fba28d992ead51549367f83
{
}{
}{
}
     -------------------------
ParameterSetID: 38559c871fba28d992ead51549367f83
{
}{
}{
}
     -------------------------
ParameterSetID: b850a832c27d7cd97df0b911d2dfd8c6
{
  SelectEvents: vstring tracked  = {'p'}
}{
}{
}
     -------------------------
Processing History:
  HLT '' '"CMSSW_3_1_1"' [1]  (63a3825c6b98e7b503180638b154b2a1)
    RECO '' '"CMSSW_3_1_1"' [1]  (51094fc9c1ad98ce2f8f56ab219380b4)
      StarterKit '' '"CMSSW_3_1_1"' [1]  (31561e50c5737ab27fd03e377818e261)
  RECO '' '"CMSSW_3_1_1"' [2]  (51094fc9c1ad98ce2f8f56ab219380b4)
    StarterKit '' '"CMSSW_3_1_1"' [1]  (31561e50c5737ab27fd03e377818e261)
---------Event---------
Module: genCandidatesForMET HLT
 PSet id:b3d215eebed2e6ff54e7fee00fc2aec3
 products: {
  recoGenParticlesRefs_genCandidatesForMET__HLT.
}
 parameters: {
  @module_label: string tracked  = 'genCandidatesForMET'
  @module_type: string tracked  = 'InputGenJetsParticleSelector'
  excludeFromResonancePids: vuint32 tracked  = {}
  excludeResonances: bool tracked  = false
  ignoreParticleIDs: vuint32 tracked  = {1000022,2000012,2000014,2000016,1000039,5000039,4000012,9900012,9900014,9900016,39,12,13,14,16}
  partonicFinalState: bool tracked  = false
  src: InputTag tracked  = genParticles
  tausAsJets: bool tracked  = false
}{
}{
}
...
and so on for each of the modules used in the previous processing of this file. At the end, the Event Setup producers (ESSources and ESModules) will also be shown:
...
ESModule: TrackerGeometricDetESModule StarterKit
 parameters: {
  @module_label: string tracked  = ''
  @module_type: string tracked  = 'TrackerGeometricDetESModule'
  fromDDD: bool tracked  = true
}{
}{
}
ESModule: TrackerRecoGeometryESProducer StarterKit
 parameters: {
  @module_label: string tracked  = ''
  @module_type: string tracked  = 'TrackerRecoGeometryESProducer'
}{
}{
}
ESModule: TransientTrackBuilderESProducer StarterKit
 parameters: {
  @module_label: string tracked  = ''
  @module_type: string tracked  = 'TransientTrackBuilderESProducer'
  ComponentName: string tracked  = 'TransientTrackBuilder'
}{
}{
}
ESModule: VolumeBasedMagneticFieldESProducer StarterKit
 parameters: {
  @module_label: string tracked  = ''
  @module_type: string tracked  = 'VolumeBasedMagneticFieldESProducer'
  overrideMasterSector: bool tracked  = false
  paramLabel: string tracked  = 'parametrizedField'
  scalingFactors: vdouble tracked  = {1,1,0.994,1.004,1.004,1.005,1.004,1.004,0.994,0.965,0.958,0.958,0.953,0.958,0.958,0.965,0.918,0.924,0.924,0.906,0.924,0.924,0.918,0.991,0.998,0.998,0
.978,0.998,0.998,0.991,0.991,0.998,0.998,0.978,0.998,0.998,0.991,0.991,0.998,0.998,0.978,0.998,0.998,0.991}
  scalingVolumes: vint32 tracked  = {+14100,+14200,+17600,+17800,+17900,+18100,+18300,+18400,+18600,+23100,+23300,+23400,+23600,+23800,+23900,+24100,+28600,+28800,+28900,+29100,+29300,+29
400,+29600,+28609,+28809,+28909,+29109,+29309,+29409,+29609,+28610,+28810,+28910,+29110,+29310,+29410,+29610,+28611,+28811,+28911,+29111,+29311,+29411,+29611}
  useParametrizedTrackerField: bool tracked  = true
  version: string tracked  = 'grid_1103l_090322_3_8t'
}{
}{
}
ESModule: ZdcHardcodeGeometryEP StarterKit
 parameters: {
  @module_label: string tracked  = ''
  @module_type: string tracked  = 'ZdcHardcodeGeometryEP'
}{
}{
}

Review status

Reviewer/Editor and Date (copy from screen) Comments
PetarMaksimovic - 02 Aug 2009 Created.
Responsible: PetarMaksimovic
Last reviewed by: SudhirMalik - 26 Mar 2010
Edit | Attach | Watch | Print version | History: r9 < r8 < r7 < r6 < r5 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r9 - 2011-01-21 - PeterJones


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-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback