Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:20:14

0001 #
0002 # This configuration is intended to be used to study errors spotted in the L1TEMU DQM output
0003 #
0004 # It can be run over streamer files or root files and outputs only events that fail the comparison.
0005 #
0006 # Alex Tapper 8/9/10
0007 #
0008 
0009 process = cms.Process('GctErrorFilter')
0010 
0011 process.load("FWCore.MessageLogger.MessageLogger_cfi")
0012 process.MessageLogger.cout.enable = cms.untracked.bool(True)
0013 process.MessageLogger.cout.threshold = cms.untracked.string('WARNING')
0014 process.MessageLogger.debugModules = cms.untracked.vstring('*')
0015 
0016 # For streamer files
0017 #process.source = cms.Source("NewEventStreamFileReader",
0018 #                                                        fileNames = cms.untracked.vstring(
0019 #    "/store/streamer/Data/A/000/142/414/Data.00142414.0044.A.storageManager.06.0000.dat"
0020 #    )
0021 #                            )
0022 
0023 # For root files
0024 process.source = cms.Source ( "PoolSource",
0025                               fileNames = cms.untracked.vstring(
0026     "/store/data/Commissioning10/MinimumBias/RAW/v4/000/135/244/B080D685-8A5C-DF11-9C93-001D09F251B8.root"
0027     )
0028                               )
0029 
0030 # Number of events
0031 process.maxEvents = cms.untracked.PSet ( input = cms.untracked.int32 ( 10000 ) )
0032 
0033 # Global tag
0034 process.load('Configuration/StandardSequences/FrontierConditions_GlobalTag_cff')
0035 process.GlobalTag.globaltag = 'GR10_P_V5::All'
0036 
0037 # GCT emulator
0038 import L1Trigger.GlobalCaloTrigger.gctDigis_cfi
0039 process.valGctDigis = L1Trigger.GlobalCaloTrigger.gctDigis_cfi.gctDigis.clone()
0040 process.valGctDigis.inputLabel = cms.InputTag("l1GctHwDigis")
0041 process.valGctDigis.writeInternalData = cms.bool(True)
0042 process.valGctDigis.preSamples = cms.uint32(0)
0043 process.valGctDigis.postSamples = cms.uint32(0)
0044 process.valGctDigis.useImprovedTauAlgorithm = cms.bool(True)
0045 
0046 # GCT unpacker
0047 process.load('EventFilter.GctRawToDigi.l1GctHwDigis_cfi')
0048 
0049 # L1Comparator
0050 process.load('L1Trigger.HardwareValidation.L1Comparator_cfi')
0051 process.l1compare.GCTsourceData = cms.InputTag("l1GctHwDigis")
0052 process.l1compare.COMPARE_COLLS = [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]
0053 process.l1compare.DumpMode = cms.untracked.int32(1)
0054 process.l1compare.DumpFile = cms.untracked.string('dump.txt')
0055 process.l1compare.VerboseFlag = cms.untracked.int32(0)
0056 
0057 # L1Comparator Filter    
0058 process.load('L1Trigger.HardwareValidation.L1DEFilter_cfi')
0059 process.l1defilter.DataEmulCompareSource = cms.InputTag("l1compare")
0060 process.l1defilter.FlagSystems = cms.untracked.vuint32(0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0)
0061 
0062 # Dump GCT digis
0063 process.load('L1Trigger.L1GctAnalyzer.dumpGctDigis_cfi')
0064 process.dumpGctDigis.doRctEm = cms.untracked.bool(False)
0065 process.dumpGctDigis.doEm = cms.untracked.bool(False)
0066 process.dumpGctDigis.doJets = cms.untracked.bool(True)
0067 process.dumpGctDigis.doEmulated = cms.untracked.bool(True)
0068 process.dumpGctDigis.emuGctInput = cms.untracked.InputTag("valGctDigis")
0069 process.dumpGctDigis.doRegions = cms.untracked.bool(False)
0070 process.dumpGctDigis.doInternEm = cms.untracked.bool(False)
0071 process.dumpGctDigis.doEnergySums = cms.untracked.bool(True)
0072 process.dumpGctDigis.doFibres = cms.untracked.bool(False)
0073 process.dumpGctDigis.outFile = cms.untracked.string('gctDigis.txt')
0074 
0075 # GCTErrorAnalyzer
0076 process.load('L1Trigger.L1GctAnalyzer.gctErrorAnalyzer_cfi')
0077 
0078 # Output ROOT file
0079 process.TFileService = cms.Service("TFileService",
0080    fileName = cms.string( 'gctErrorAnalyzer.root' )
0081 )
0082 
0083 process.p = cms.Path(process.l1GctHwDigis*
0084                      process.valGctDigis*
0085                      process.l1compare*
0086                      ~process.l1defilter*
0087                      process.dumpGctDigis*
0088                      process.gctErrorAnalyzer)
0089 
0090 
0091 process.output = cms.OutputModule( "PoolOutputModule",
0092                                    outputCommands = cms.untracked.vstring (
0093     "drop *",
0094     "keep *_*_*_GctErrorFilter",
0095     ),
0096                                    fileName = cms.untracked.string( "gctErrorFilter.root" ),
0097                                    SelectEvents = cms.untracked.PSet(
0098     SelectEvents = cms.vstring("p")
0099     )
0100                                    )
0101 
0102 process.out = cms.EndPath( process.output )