Misc. CMSSW notes / howtos

How to list L1 Trigger decisions from EDM file?

Using FWLite and pyROOT:

import ROOT
from DataFormats.FWLite import Events, Handle

events = Events ('myEdmFile.root')

handle = Handle ('L1GlobalTriggerObjectMapRecord')
label = ("hltL1GtObjectMap")

ROOT.gROOT.SetBatch()

for event in events:

        event.getByLabel(label,handle)
        l1trig = handle.product()
        for i in range(128):
                try:
                        trg = l1trig.getObjectMap(i)
                        print trg.algoBitNumber(), trg.algoName(), trg.algoGtlResult()
                except ReferenceError:
                        pass

How to skim dataset for HLT path(s)?

Using an HLT filter and standard PoolOutputModule:


import HLTrigger.HLTfilters.hltHighLevel_cfi as hlt
process.filter = hlt.hltHighLevel.clone(
    HLTPaths = ['HLT_HT250_v*'],
    throw = False
    )

process.skim = cms.Path(process.filter)

process.output = cms.OutputModule("PoolOutputModule",
    fileName = cms.untracked.string('output.root'),
    SelectEvents = cms.untracked.PSet(
        SelectEvents = cms.vstring('skim')
        )
    )

process.out = cms.EndPath(process.output)

Misc. CRAB related notes / howtos

DBS Publication problem with pile-up Input Files?

Recent versions of CRAB (at least since 2.7.9) support option

crab -publishNoInp
which ignores any input files in the publication process. However, and old school solution is to hack the crab_fjr files with a following script:


import os,sys

# directory where crab_fjr files reside
input_dir = sys.argv[1]

for file in os.listdir(input_dir):
        if file.find("crab_fjr")==-1 : continue
        import re
        chop1 = re.compile('<Inputs>.*?</Inputs>',re.DOTALL)
        chop2 = re.compile('<InputFile>.*?</InputFile>',re.DOTALL)
        f = open(input_dir+"/"+file)
        data = f.read()
        f.close()
        data = chop1.sub('',data)
        data = chop2.sub('',data)
        f = open ('tmp','w')
        f.write(data)
        f.close()
        os.system('mv tmp '+input_dir+'/'+file)

Invalidate dataset in DBS

With the command:

DBSInvalidateDataset.py --DBSURL=<dbs_url_for_publication> --datasetPath=.... --files

where dbs url for private publication is:

https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet


This topic: Main > TWikiUsers > AndrzejZuranski > AndrzejZuranskiCMSSW
Topic revision: r5 - 2012-02-14 - AndrzejZuranski
 
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