File indexing completed on 2025-03-23 15:57:32
0001
0002 """
0003 _RunRepack_
0004
0005 Test/Debugging harness for the repack configuration builder
0006
0007 """
0008
0009 import sys
0010 import getopt
0011
0012 from Configuration.DataProcessing.Repack import repackProcess
0013
0014
0015 class RunRepack:
0016
0017 def __init__(self):
0018 self.selectEvents = None
0019 self.inputLFN = None
0020 self.dataTier = None
0021 self.rawSkim = None
0022 self.globalTag= None
0023
0024 def __call__(self):
0025 if self.inputLFN == None:
0026 msg = "No --lfn specified"
0027 raise RuntimeError(msg)
0028 allowedDataTiers = ["RAW", "HLTSCOUT", "L1SCOUT"]
0029 if self.dataTier == None:
0030 self.dataTier = "RAW"
0031 elif self.dataTier not in allowedDataTiers:
0032 msg = f"{self.dataTier} isn't an allowed datatier for repacking. Allowed data tiers: {allowedDataTiers}"
0033 raise RuntimeError(msg)
0034
0035 outputs = []
0036 outputs.append( { 'moduleLabel' : f"write_PrimDS1_{self.dataTier}" } )
0037 outputs.append( { 'moduleLabel' : f"write_PrimDS2_{self.dataTier}" } )
0038 if self.selectEvents != None:
0039 outputs[0]['selectEvents'] = self.selectEvents.split(',')
0040 outputs[1]['selectEvents'] = self.selectEvents.split(',')
0041 if self.rawSkim != None:
0042 outputs[0]['rawSkim'] = self.rawSkim
0043 outputs[1]['rawSkim'] = None
0044 try:
0045 process = repackProcess(outputs = outputs, globalTag = self.globalTag, dataTier = self.dataTier)
0046 except Exception as ex:
0047 msg = "Error creating process for Repack:\n"
0048 msg += str(ex)
0049 raise RuntimeError(msg)
0050
0051 process.source.fileNames.append(self.inputLFN)
0052
0053 import FWCore.ParameterSet.Config as cms
0054
0055 process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(10) )
0056
0057 psetFile = open("RunRepackCfg.py", "w")
0058 psetFile.write(process.dumpPython())
0059 psetFile.close()
0060 cmsRun = "cmsRun -e RunRepackCfg.py"
0061 print("Now do:\n%s" % cmsRun)
0062
0063
0064
0065
0066 if __name__ == '__main__':
0067 valid = ["select-events=", "lfn=", "data-tier=", "raw-skim=", "global-tag="]
0068
0069 usage = \
0070 """
0071 RunRepack.py <options>
0072
0073 Where options are:
0074 --select-events (option, event selection based on trigger paths)
0075 --lfn=/store/input/lfn
0076 --data-tier=RAW|HLTSCOUT|L1SCOUT
0077
0078 Example:
0079 python RunRepack.py --select-events HLT:path1,HLT:path2 --lfn /store/whatever --data-tier RAW|HLTSCOUT|L1SCOUT
0080
0081 """
0082 try:
0083 opts, args = getopt.getopt(sys.argv[1:], "", valid)
0084 except getopt.GetoptError as ex:
0085 print(usage)
0086 print(str(ex))
0087 sys.exit(1)
0088
0089
0090 repackinator = RunRepack()
0091
0092 for opt, arg in opts:
0093 if opt == "--select-events":
0094 repackinator.selectEvents = arg
0095 if opt == "--lfn" :
0096 repackinator.inputLFN = arg
0097 if opt == "--data-tier" :
0098 repackinator.dataTier = arg
0099 if opt == "--raw-skim":
0100 repackinator.rawSkim = arg
0101 if opt == "--global-tag":
0102 repackinator.globalTag = arg
0103
0104 repackinator()
0105
0106