File indexing completed on 2024-04-06 12:07:58
0001 import FWCore.ParameterSet.Config as cms
0002 from DQMServices.Core.DQMEDHarvester import DQMEDHarvester
0003 from DQM.L1TMonitor.L1TStage2uGT_cff import l1tStage2uGMTOutVsuGTIn
0004
0005
0006 ugtDqmDir = 'L1T/L1TStage2uGT'
0007 ugtBoardCompDqmDir = ugtDqmDir+'/uGTBoardComparisons'
0008
0009
0010 errHistNumStr = 'errorSummaryNum'
0011 errHistDenStr = 'errorSummaryDen'
0012
0013
0014 l1tStage2uGTvsCaloLayer2RatioClient = DQMEDHarvester("L1TStage2RatioClient",
0015 monitorDir = cms.untracked.string(ugtDqmDir + '/calol2ouput_vs_uGTinput'),
0016 inputNum = cms.untracked.string(ugtDqmDir + '/calol2ouput_vs_uGTinput/'+errHistNumStr),
0017 inputDen = cms.untracked.string(ugtDqmDir + '/calol2ouput_vs_uGTinput/'+errHistDenStr),
0018 ratioName = cms.untracked.string('mismatchRatio'),
0019 ratioTitle = cms.untracked.string('Summary of mismatch rates between CaloLayer2 outputs and uGT inputs'),
0020 yAxisTitle = cms.untracked.string('# mismatch / # total'),
0021 binomialErr = cms.untracked.bool(True)
0022 )
0023
0024
0025 l1tStage2uGMTOutVsuGTInRatioClient = DQMEDHarvester("L1TStage2RatioClient",
0026 monitorDir = cms.untracked.string(ugtDqmDir+'/uGMToutput_vs_uGTinput'),
0027 inputNum = cms.untracked.string(ugtDqmDir+'/uGMToutput_vs_uGTinput/'+errHistNumStr),
0028 inputDen = cms.untracked.string(ugtDqmDir+'/uGMToutput_vs_uGTinput/'+errHistDenStr),
0029 ignoreBin = cms.untracked.vint32(l1tStage2uGMTOutVsuGTIn.ignoreBin),
0030 ratioName = cms.untracked.string('mismatchRatio'),
0031 ratioTitle = cms.untracked.string('Summary of mismatch rates between uGMT output muons and uGT input muons'),
0032 yAxisTitle = cms.untracked.string('# mismatch / # total'),
0033 binomialErr = cms.untracked.bool(True)
0034 )
0035
0036
0037
0038 l1tStage2uGTMuon1vsMuon2RatioClient = DQMEDHarvester("L1TStage2RatioClient",
0039 monitorDir = cms.untracked.string(ugtBoardCompDqmDir+'/Board1vsBoard2/Muons'),
0040 inputNum = cms.untracked.string(ugtBoardCompDqmDir+'/Board1vsBoard2/Muons/'+errHistNumStr),
0041 inputDen = cms.untracked.string(ugtBoardCompDqmDir+'/Board1vsBoard2/Muons/'+errHistDenStr),
0042 ratioName = cms.untracked.string('mismatchRatio'),
0043 ratioTitle = cms.untracked.string('Summary of Mismatch Rates between Muons from uGT Board 1 and uGT Board 2'),
0044 yAxisTitle = cms.untracked.string('# mismatch / # total'),
0045 binomialErr = cms.untracked.bool(True)
0046 )
0047
0048 l1tStage2uGTMuon1vsMuon3RatioClient = l1tStage2uGTMuon1vsMuon2RatioClient.clone(
0049 monitorDir = ugtBoardCompDqmDir+'/Board1vsBoard3/Muons',
0050 inputNum = ugtBoardCompDqmDir+'/Board1vsBoard3/Muons/'+errHistNumStr,
0051 inputDen = ugtBoardCompDqmDir+'/Board1vsBoard3/Muons/'+errHistDenStr,
0052 ratioTitle = 'Summary of Mismatch Rates between Muons from uGT Board 1 and uGT Board 3'
0053 )
0054 l1tStage2uGTMuon1vsMuon4RatioClient = l1tStage2uGTMuon1vsMuon2RatioClient.clone(
0055 monitorDir = ugtBoardCompDqmDir+'/Board1vsBoard4/Muons',
0056 inputNum = ugtBoardCompDqmDir+'/Board1vsBoard4/Muons/'+errHistNumStr,
0057 inputDen = ugtBoardCompDqmDir+'/Board1vsBoard4/Muons/'+errHistDenStr,
0058 ratioTitle = 'Summary of Mismatch Rates between Muons from uGT Board 1 and uGT Board 4'
0059 )
0060 l1tStage2uGTMuon1vsMuon5RatioClient = l1tStage2uGTMuon1vsMuon2RatioClient.clone(
0061 monitorDir = ugtBoardCompDqmDir+'/Board1vsBoard5/Muons',
0062 inputNum = ugtBoardCompDqmDir+'/Board1vsBoard5/Muons/'+errHistNumStr,
0063 inputDen = ugtBoardCompDqmDir+'/Board1vsBoard5/Muons/'+errHistDenStr,
0064 ratioTitle = 'Summary of Mismatch Rates between Muons from uGT Board 1 and uGT Board 5'
0065 )
0066 l1tStage2uGTMuon1vsMuon6RatioClient = l1tStage2uGTMuon1vsMuon2RatioClient.clone(
0067 monitorDir = ugtBoardCompDqmDir+'/Board1vsBoard6/Muons',
0068 inputNum = ugtBoardCompDqmDir+'/Board1vsBoard6/Muons/'+errHistNumStr,
0069 inputDen = ugtBoardCompDqmDir+'/Board1vsBoard6/Muons/'+errHistDenStr,
0070 ratioTitle = 'Summary of Mismatch Rates between Muons from uGT Board 1 and uGT Board 6'
0071 )
0072 l1tStage2uGTBoardCompMuonsRatioClientSeq = cms.Sequence(
0073 l1tStage2uGTMuon1vsMuon2RatioClient +
0074 l1tStage2uGTMuon1vsMuon3RatioClient +
0075 l1tStage2uGTMuon1vsMuon4RatioClient +
0076 l1tStage2uGTMuon1vsMuon5RatioClient +
0077 l1tStage2uGTMuon1vsMuon6RatioClient
0078 )
0079
0080 l1tStage2uGTCalo1vsCalo2RatioClient = l1tStage2uGTMuon1vsMuon2RatioClient.clone(
0081 monitorDir = ugtBoardCompDqmDir+'/Board1vsBoard2/CaloLayer2',
0082 inputNum = ugtBoardCompDqmDir+'/Board1vsBoard2/CaloLayer2/'+errHistNumStr,
0083 inputDen = ugtBoardCompDqmDir+'/Board1vsBoard2/CaloLayer2/'+errHistDenStr,
0084 ratioTitle = 'Summary of Mismatch Rates between CaloLayer2 Inputs from uGT Board 1 and uGT Board 2'
0085 )
0086 l1tStage2uGTCalo1vsCalo3RatioClient = l1tStage2uGTMuon1vsMuon2RatioClient.clone(
0087 monitorDir = ugtBoardCompDqmDir+'/Board1vsBoard3/CaloLayer2',
0088 inputNum = ugtBoardCompDqmDir+'/Board1vsBoard3/CaloLayer2/'+errHistNumStr,
0089 inputDen = ugtBoardCompDqmDir+'/Board1vsBoard3/CaloLayer2/'+errHistDenStr,
0090 ratioTitle = 'Summary of Mismatch Rates between CaloLayer2 Inputs from uGT Board 1 and uGT Board 3'
0091 )
0092 l1tStage2uGTCalo1vsCalo4RatioClient = l1tStage2uGTMuon1vsMuon2RatioClient.clone(
0093 monitorDir = ugtBoardCompDqmDir+'/Board1vsBoard4/CaloLayer2',
0094 inputNum = ugtBoardCompDqmDir+'/Board1vsBoard4/CaloLayer2/'+errHistNumStr,
0095 inputDen = ugtBoardCompDqmDir+'/Board1vsBoard4/CaloLayer2/'+errHistDenStr,
0096 ratioTitle = 'Summary of Mismatch Rates between CaloLayer2 Inputs from uGT Board 1 and uGT Board 4'
0097 )
0098 l1tStage2uGTCalo1vsCalo5RatioClient = l1tStage2uGTMuon1vsMuon2RatioClient.clone(
0099 monitorDir = ugtBoardCompDqmDir+'/Board1vsBoard5/CaloLayer2',
0100 inputNum = ugtBoardCompDqmDir+'/Board1vsBoard5/CaloLayer2/'+errHistNumStr,
0101 inputDen = ugtBoardCompDqmDir+'/Board1vsBoard5/CaloLayer2/'+errHistDenStr,
0102 ratioTitle = 'Summary of Mismatch Rates between CaloLayer2 Inputs from uGT Board 1 and uGT Board 5'
0103 )
0104 l1tStage2uGTCalo1vsCalo6RatioClient = l1tStage2uGTMuon1vsMuon2RatioClient.clone(
0105 monitorDir = ugtBoardCompDqmDir+'/Board1vsBoard6/CaloLayer2',
0106 inputNum = ugtBoardCompDqmDir+'/Board1vsBoard6/CaloLayer2/'+errHistNumStr,
0107 inputDen = ugtBoardCompDqmDir+'/Board1vsBoard6/CaloLayer2/'+errHistDenStr,
0108 ratioTitle = 'Summary of Mismatch Rates between CaloLayer2 Inputs from uGT Board 1 and uGT Board 6'
0109 )
0110 l1tStage2uGTBoardCompCaloLayer2RatioClientSeq = cms.Sequence(
0111 l1tStage2uGTCalo1vsCalo2RatioClient +
0112 l1tStage2uGTCalo1vsCalo3RatioClient +
0113 l1tStage2uGTCalo1vsCalo4RatioClient +
0114 l1tStage2uGTCalo1vsCalo5RatioClient +
0115 l1tStage2uGTCalo1vsCalo6RatioClient
0116 )
0117
0118 l1tStage2uGTBoardCompRatioClientSeq = cms.Sequence(
0119 l1tStage2uGTBoardCompMuonsRatioClientSeq +
0120 l1tStage2uGTBoardCompCaloLayer2RatioClientSeq
0121 )
0122
0123
0124 l1tStage2uGTRatioTimingPlots = DQMEDHarvester("DQMGenericClient",
0125 subDirs = cms.untracked.vstring(ugtDqmDir+'/'),
0126 efficiency = cms.vstring(
0127 "Ratio_First_Bunch_In_Train_Minus_2 'First Bunch In Train Minus 2 Ratio; Bunch crossing number relative to L1A; Algorithm trigger bit' timing_aux/first_bunch_in_train_minus2 timing_aux/den_first_bunch_in_train_minus2",
0128 "Ratio_First_Bunch_In_Train_Minus_1 'First Bunch In Train Minus 1 Ratio; Bunch crossing number relative to L1A; Algorithm trigger bit' timing_aux/first_bunch_in_train_minus1 timing_aux/den_first_bunch_in_train_minus1",
0129 "Ratio_First_Bunch_In_Train 'First Bunch In Train Ratio; Bunch crossing number relative to L1A; Algorithm trigger bit' timing_aux/first_bunch_in_train timing_aux/den_first_bunch_in_train",
0130 "Ratio_Last_Bunch_In_Train 'Last Bunch In Train Ratio; Bunch crossing number relative to L1A; Algorithm trigger bit' timing_aux/last_bunch_in_train timing_aux/den_last_bunch_in_train",
0131 "Ratio_Isolated_Bunch_In_Train 'Isolated Bunch In Train Ratio; Bunch crossing number relative to L1A; Algorithm trigger bit' timing_aux/isolated_bunch timing_aux/den_isolated_bunch_in_train",
0132 "Ratio_Prescaled_First_Bunch_In_Train 'First Bunch In Train Ratio for Prescaled Triggers; Bunch crossing number relative to L1A; Algorithm trigger bit' timing_aux/prescaled_algo_first_collision_in_train_ timing_aux/den_prescaled_algo_first_collision_in_train_",
0133 "Ratio_Prescaled_Isolated_Bunch 'Isolated Bunch Ratio for Prescaled Triggers; Bunch crossing number relative to L1A; Algorithm trigger bit' timing_aux/prescaled_algo_isolated_collision_in_train_ timing_aux/den_prescaled_algo_isolated_collision_in_train_",
0134 "Ratio_Prescaled_Last_Bunch_In_Train 'Last Bunch In Train Ratio for Prescaled Triggers; Bunch crossing number relative to L1A; Algorithm trigger bit' timing_aux/prescaled_algo_last_collision_in_train_ timing_aux/den_prescaled_algo_last_collision_in_train_",
0135 "Ratio_Unprescaled_First_Bunch_In_Train 'First Bunch In Train Ratio for Unprescaled Triggers; Bunch crossing number relative to L1A; Algorithm trigger bit' timing_aux/unprescaled_algo_first_collision_in_train_ timing_aux/den_unprescaled_algo_first_collision_in_train_",
0136 "Ratio_Unprescaled_Isolated_Bunch 'Isolated Bunch Ratio for Unprescaled Triggers; Bunch crossing number relative to L1A; Algorithm trigger bit' timing_aux/unprescaled_algo_isolated_collision_in_train_ timing_aux/den_unprescaled_algo_isolated_collision_in_train_",
0137 "Ratio_Unprescaled_Last_Bunch_In_Train 'Last Bunch In Train Ratio for Unprescaled Triggers; Bunch crossing number relative to L1A; Algorithm trigger bit' timing_aux/unprescaled_algo_last_collision_in_train_ timing_aux/den_unprescaled_algo_last_collision_in_train_",
0138 ),
0139 resolution = cms.vstring(),
0140 verbose = cms.untracked.uint32(0),
0141 runOnEndLumi = cms.untracked.bool(True),
0142 makeGlobalEffienciesPlot = cms.untracked.bool(False)
0143 )
0144
0145
0146 l1tStage2uGTClient = cms.Sequence(
0147 l1tStage2uGTvsCaloLayer2RatioClient +
0148 l1tStage2uGMTOutVsuGTInRatioClient +
0149 l1tStage2uGTBoardCompRatioClientSeq +
0150 l1tStage2uGTRatioTimingPlots
0151 )