Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:08:52

0001 #test configuration for the spy data unpacking code
0002 
0003 import FWCore.ParameterSet.Config as cms
0004 from Configuration.AlCa.GlobalTag import GlobalTag
0005 
0006 process = cms.Process('SPYPROD')
0007 
0008 # ---- Input data ----
0009 # See https://twiki.cern.ch/twiki/bin/viewauth/CMS/FEDSpyChannelData for more spy data.
0010 process.source = cms.Source(
0011     'PoolSource',
0012     fileNames = cms.untracked.vstring(
0013         # Spy data (raw) in edm format, as converted from .dat
0014 
0015 'file:/eos/cms/store/group/dpg_tracker_strip/tracker/Online/store/streamer/SiStripSpy/Commissioning11/234824/USC.00234824.0001.A.storageManager.00.0026.RUN00234874.root',
0016 'file:/eos/cms/store/group/dpg_tracker_strip/tracker/Online/store/streamer/SiStripSpy/Commissioning11/234824/USC.00234824.0001.A.storageManager.00.0027.RUN00234874.root',
0017 'file:/eos/cms/store/group/dpg_tracker_strip/tracker/Online/store/streamer/SiStripSpy/Commissioning11/234824/USC.00234824.0001.A.storageManager.00.0028.RUN00234874.root',
0018 'file:/eos/cms/store/group/dpg_tracker_strip/tracker/Online/store/streamer/SiStripSpy/Commissioning11/234824/USC.00234824.0001.A.storageManager.00.0029.RUN00234874.root',
0019 'file:/eos/cms/store/group/dpg_tracker_strip/tracker/Online/store/streamer/SiStripSpy/Commissioning11/234824/USC.00234824.0001.A.storageManager.00.0030.RUN00234874.root',
0020         )
0021     )
0022 
0023 process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(10) )
0024 
0025 # --- Message Logging ---
0026 #process.Tracer = cms.Service('Tracer',indentation = cms.untracked.string('$$'))
0027 process.load('DQM.SiStripCommon.MessageLogger_cfi')
0028 process.MessageLogger.debugModules = cms.untracked.vstring('')
0029 #process.MessageLogger.suppressInfo = cms.untracked.vstring('')
0030 #process.MessageLogger.suppressWarning = cms.untracked.vstring('')
0031 #process.MessageLogger.suppressDebug = cms.untracked.vstring('')
0032 
0033 
0034 # --- Conditions data ---
0035 # Find the appropriate Global Tags at
0036 # https://twiki.cern.ch/twiki/bin/view/CMS/SWGuideFrontierConditions
0037 process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
0038 process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:run2_data', '')
0039 process.load("Configuration.Geometry.GeometryRecoDB_cff")
0040 
0041 # --- The unpacking configuration ---
0042 process.load('DQM.SiStripMonitorHardware.SiStripSpyUnpacker_cfi')
0043 process.load('DQM.SiStripMonitorHardware.SiStripSpyDigiConverter_cfi')
0044 
0045 ## * Scope digi settings
0046 process.SiStripSpyUnpacker.FEDIDs = cms.vuint32()                   #use a subset of FEDs or leave empty for all.
0047 #process.SiStripSpy.FEDIDs = cms.vuint32(50, 187, 260, 356) #one from each partition
0048 process.SiStripSpyUnpacker.InputProductLabel = cms.InputTag('rawDataCollector')
0049 process.SiStripSpyUnpacker.AllowIncompleteEvents = True
0050 process.SiStripSpyUnpacker.StoreCounters = True
0051 process.SiStripSpyUnpacker.StoreScopeRawDigis = cms.bool(True)      # Note - needs to be True for use in other modules.
0052 ## * Module digi settings
0053 process.SiStripSpyDigiConverter.InputProductLabel = cms.InputTag('SiStripSpyUnpacker','ScopeRawDigis')
0054 process.SiStripSpyDigiConverter.StorePayloadDigis = True
0055 process.SiStripSpyDigiConverter.StoreReorderedDigis = True
0056 process.SiStripSpyDigiConverter.StoreModuleDigis = True
0057 process.SiStripSpyDigiConverter.StoreAPVAddress = True
0058 process.SiStripSpyDigiConverter.MinDigiRange = 100
0059 process.SiStripSpyDigiConverter.MaxDigiRange = 1024
0060 process.SiStripSpyDigiConverter.MinZeroLight = 0
0061 process.SiStripSpyDigiConverter.MaxZeroLight = 1024
0062 process.SiStripSpyDigiConverter.MinTickHeight = 0
0063 process.SiStripSpyDigiConverter.MaxTickHeight = 1024
0064 process.SiStripSpyDigiConverter.ExpectedPositionOfFirstHeaderBit = 6
0065 process.SiStripSpyDigiConverter.DiscardDigisWithWrongAPVAddress = False
0066 
0067 
0068 # ---- FED Emulation ----
0069 process.load('DQM.SiStripMonitorHardware.SiStripFEDEmulator_cfi')
0070 process.SiStripFEDEmulator.SpyReorderedDigisTag = cms.InputTag('SiStripSpyDigiConverter','SpyReordered')
0071 process.SiStripFEDEmulator.SpyVirginRawDigisTag = cms.InputTag('SiStripSpyDigiConverter','SpyVirginRaw')
0072 process.SiStripFEDEmulator.ByModule = cms.bool(True) #use the digis stored by module (i.e. detId)
0073 
0074 
0075 ## ---- SpyChannel display ----
0076 process.load('DQM.SiStripMonitorHardware.SiStripSpyDisplay_cfi')
0077 
0078 ## Select the detIDs of choice here
0079 process.SiStripSpyDisplay.detIDs = cms.vuint32(
0080     470079220
0081     )
0082 process.SiStripSpyDisplay.InputScopeModeRawDigiLabel = cms.InputTag("SiStripSpyUnpacker","ScopeRawDigis")
0083 process.SiStripSpyDisplay.InputPayloadRawDigiLabel   = cms.InputTag("SiStripSpyDigiConverter", "Payload")
0084 process.SiStripSpyDisplay.InputReorderedPayloadRawDigiLabel = cms.InputTag("SiStripSpyDigiConverter", "Reordered")
0085 process.SiStripSpyDisplay.InputReorderedModuleRawDigiLabel = cms.InputTag("SiStripSpyDigiConverter", "VirginRaw")
0086 process.SiStripSpyDisplay.InputPedestalsLabel               = cms.InputTag("SiStripFEDEmulator","ModulePedestals")
0087 process.SiStripSpyDisplay.InputNoisesLabel                  = cms.InputTag("SiStripFEDEmulator","ModuleNoises")
0088 process.SiStripSpyDisplay.InputPostPedestalRawDigiLabel     = cms.InputTag("SiStripFEDEmulator","PedSubtrModuleDigis")
0089 process.SiStripSpyDisplay.InputPostCMRawDigiLabel           = cms.InputTag("SiStripFEDEmulator","CMSubtrModuleDigis")
0090 process.SiStripSpyDisplay.InputZeroSuppressedDigiLabel      = cms.InputTag("SiStripFEDEmulator","ZSModuleDigis")
0091 ##mainline data - if running on matched events
0092 # process.SiStripSpy.InputCompZeroSuppressedDigiLabel  = cms.InputTag("siStripDigis","ZeroSuppressed")
0093 
0094 process.SiStripSpyDisplay.OutputFolderName = cms.string("Display")
0095 
0096 # ---- DQM
0097 process.DQMStore = cms.Service("DQMStore")
0098 
0099 process.load('DQM.SiStripMonitorHardware.SiStripSpyMonitor_cfi')
0100 process.SiStripSpyMonitor.SpyScopeRawDigisTag = cms.untracked.InputTag('SiStripSpyUnpacker','ScopeRawDigis')
0101 process.SiStripSpyMonitor.SpyPedSubtrDigisTag = cms.untracked.InputTag('SiStripFEDEmulator','PedSubtrModuleDigis')
0102 process.SiStripSpyMonitor.SpyAPVeTag = cms.untracked.InputTag('SiStripSpyDigiConverter','APVAddress')
0103 process.SiStripSpyMonitor.FillWithLocalEventNumber = False
0104 process.SiStripSpyMonitor.WriteDQMStore = True
0105 process.SiStripSpyMonitor.DQMStoreFileName = "DQMStore.root"
0106 #process.SiStripSpyMonitor.OutputErrors = "NoData","MinZero","MaxSat","LowRange","HighRange","LowDAC","HighDAC","OOS","OtherPbs","APVError","APVAddressError","NegPeds"
0107 #process.SiStripSpyMonitor.OutputErrors = "MinZero","MaxSat","LowRange","HighRange","LowPb","HighPb","OOS","OtherPbs","APVError","APVAddressError","NegPeds"
0108 #process.SiStripSpyMonitor.WriteCabling = True
0109 
0110 
0111 ## ------ TFileService
0112 process.TFileService = cms.Service(
0113     "TFileService",
0114     fileName = cms.string('SpyDisplay.root')
0115     )
0116 
0117 
0118 # --- Define the path ---
0119 process.p = cms.Path(
0120     process.SiStripSpyUnpacker
0121     *process.SiStripSpyDigiConverter
0122     *process.SiStripFEDEmulator
0123 #     *process.SiStripSpyMonitor
0124 #     *process.SiStripSpyDisplay
0125     )
0126 
0127 
0128 # --- What to output ---
0129 process.output = cms.OutputModule(
0130     "PoolOutputModule",
0131     fileName = cms.untracked.string("SpyRawToDigis234824_CH.root"),
0132     outputCommands = cms.untracked.vstring(
0133        'keep *',
0134        #'drop *',
0135        #'drop *_source_*_*',
0136        #'drop *_TriggerResults__SPYUNPACKTEST',
0137        #'drop *_*_ScopeRawDigis_*',
0138        #'drop *_*_Payload_*',
0139        #'drop *_*_Reordered_*',
0140        #'drop *_*_VirginRaw_*'
0141        #'drop *_*_TotalEventCount_*',
0142        #'drop *_*_L1ACount_*',
0143        #'drop *_*_APVAddress_*',
0144        )
0145     )
0146 
0147 process.e = cms.EndPath( process.output )