Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-02-05 23:51:33

0001 '''
0002 Code to run scouting muon DQM, both to plot the distributions and efficiency for tag and
0003 probe and also to plot distributions and efficiency of muon L1 seeds.
0004 
0005 Author: Javier Garcia de Castro, email:javigdc@bu.edu
0006 '''
0007 
0008 import FWCore.ParameterSet.Config as cms
0009 import FWCore.ParameterSet.VarParsing as VarParsing
0010 
0011 ## In line command options
0012 options = VarParsing.VarParsing('analysis')
0013 options.register('inputDataset',
0014                  '',
0015                  VarParsing.VarParsing.multiplicity.singleton,
0016                  VarParsing.VarParsing.varType.string,
0017                  "Input dataset")
0018 options.register('runNumber',
0019                  379765,
0020                  VarParsing.VarParsing.multiplicity.singleton,
0021                  VarParsing.VarParsing.varType.int,
0022                  "Run to process")
0023 options.register('minFile',
0024                  0,
0025                  VarParsing.VarParsing.multiplicity.singleton,
0026                  VarParsing.VarParsing.varType.int,
0027                  "Minimum file to process")
0028 options.register('maxFile',
0029                  10,
0030                  VarParsing.VarParsing.multiplicity.singleton,
0031                  VarParsing.VarParsing.varType.int,
0032                  "Maximum file to process")
0033 options.register('output',
0034                  './',
0035                  VarParsing.VarParsing.multiplicity.singleton,
0036                  VarParsing.VarParsing.varType.string,
0037                  "Output path")
0038 options.parseArguments()
0039 
0040 process = cms.Process("Demo")
0041 
0042 #Load files
0043 process.load("FWCore.MessageService.MessageLogger_cfi")
0044 process.load("DQMServices.Components.DQMStoreStats_cfi")
0045 process.load('Configuration.StandardSequences.GeometryDB_cff')
0046 process.load('Configuration.StandardSequences.MagneticField_38T_cff')
0047 process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
0048 process.load("Configuration.StandardSequences.Reconstruction_cff")
0049 process.load('Configuration.StandardSequences.Services_cff')
0050 process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
0051 
0052 from Configuration.AlCa.GlobalTag import GlobalTag
0053 process.GlobalTag = GlobalTag(process.GlobalTag, '140X_dataRun3_Prompt_v4')
0054 process.MessageLogger.cerr.FwkReport.reportEvery = 1000
0055 process.MessageLogger.debugModules = cms.untracked.vstring('DQMGenericClient')
0056 process.MessageLogger.cerr = cms.untracked.PSet(
0057     WARNING = cms.untracked.PSet(
0058         limit = cms.untracked.int32(10000)
0059     ),
0060  )
0061 process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) )
0062 
0063 #Read files with the events
0064 if options.inputDataset!='':
0065     listOfFiles = (os.popen("""dasgoclient -query="file dataset=%s instance=prod/global run=%i" """%(options.inputDataset, options.runNumber)).read()).split('\n')
0066 process.source = cms.Source("PoolSource",
0067     fileNames = cms.untracked.vstring( listOfFiles[:-1] ),
0068     lumisToProcess = cms.untracked.VLuminosityBlockRange('%i:1-%i:max'%(options.runNumber, options.runNumber))
0069 )
0070 
0071 from PhysicsTools.SelectorUtils.tools.vid_id_tools import *
0072 
0073 #Load files
0074 process.load("EventFilter.L1TRawToDigi.gtStage2Digis_cfi")
0075 process.gtStage2Digis.InputLabel = cms.InputTag( "hltFEDSelectorL1" )
0076 process.load("HLTriggerOffline.Scouting.ScoutingMuonTagProbeAnalyzer_cfi")
0077 process.load("HLTriggerOffline.Scouting.ScoutingMuonTriggerAnalyzer_cfi")
0078 process.load("HLTriggerOffline.Scouting.ScoutingMuonMonitoring_Client_cff")
0079 process.DQMStore = cms.Service("DQMStore")
0080 process.load("DQMServices.Components.DQMEnvironment_cfi")
0081 process.load("DQMServices.FileIO.DQMFileSaverOnline_cfi")
0082 process.dqmSaver.tag = '%i'%(options.minFile)
0083 
0084 process.options = cms.untracked.PSet(numberOfThreads = cms.untracked.uint32(1))
0085 
0086 #Sequence to be ran
0087 process.allPath = cms.Path(process.scoutingMonitoringTagProbeMuonNoVtx
0088                            * process.scoutingMonitoringTagProbeMuonVtx
0089                            * process.muonEfficiencyNoVtx
0090                            * process.muonEfficiencyVtx 
0091                            * process.scoutingMonitoringTriggerMuon
0092                            * process.muonTriggerEfficiency)
0093 
0094 #Save the files and close root file
0095 process.p = cms.EndPath(process.dqmSaver)