1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
import FWCore.ParameterSet.Config as cms
# filter on trigger type
calibrationEventsFilter = cms.EDFilter("HLTTriggerTypeFilter",
# 1=Physics, 2=Calibration, 3=Random, 4=Technical
SelectedTriggerType = cms.int32(2)
)
# filter on trigger type
physicsEventsFilter = cms.EDFilter("HLTTriggerTypeFilter",
# 1=Physics, 2=Calibration, 3=Random, 4=Technical
SelectedTriggerType = cms.int32(1)
)
# GT unpacker
import EventFilter.L1GlobalTriggerRawToDigi.l1GtUnpack_cfi
gtDigis = EventFilter.L1GlobalTriggerRawToDigi.l1GtUnpack_cfi.l1GtUnpack.clone(
DaqGtInputTag = 'rawDataCollector'
)
from EventFilter.L1TRawToDigi.gtStage2Digis_cfi import gtStage2Digis
gtStage2Digis.InputLabel = 'rawDataCollector'
# Scalers info
from EventFilter.ScalersRawToDigi.ScalersRawToDigi_cfi import *
scalersRawToDigi.scalersInputTag = 'rawDataCollector'
# DT digitization and reconstruction
# Switched to TwinMux
from EventFilter.L1TXRawToDigi.twinMuxStage2Digis_cfi import *
twinMuxStage2Digis.DTTM7_FED_Source = 'rawDataCollector'
#dtunpacker.readOutParameters.performDataIntegrityMonitor = True
#dtunpacker.readOutParameters.rosParameters.performDataIntegrityMonitor = True
#dtunpacker.readOutParameters.debug = False
#dtunpacker.readOutParameters.rosParameters.debug = False
#dtunpacker.inputLabel = 'rawDataCollector'
import EventFilter.DTRawToDigi.dturosunpacker_cfi
dtunpacker = EventFilter.DTRawToDigi.dturosunpacker_cfi.dturosunpacker.clone()
from RecoLocalMuon.Configuration.RecoLocalMuon_cff import *
dt1DRecHits.dtDigiLabel = 'dtunpacker'
from Configuration.StandardSequences.FrontierConditions_GlobalTag_cff import *
# Data integrity
from DQM.DTMonitorModule.dtDataIntegrityTask_cfi import *
from DQM.DTMonitorClient.dtDataIntegrityTest_cfi import *
from DQM.DTMonitorClient.dtBlockedROChannelsTest_cfi import *
dtDataIntegrityTask.processingMode = 'Online'
dtDataIntegrityTask.dtFEDlabel = 'dtunpacker'
blockedROChannelTest.checkUros = True
# Digi task
from DQM.DTMonitorModule.dtDigiTask_cfi import *
from DQM.DTMonitorClient.dtOccupancyTest_cfi import *
from DQM.DTMonitorClient.dtOccupancyTestML_cfi import *
dtDigiMonitor.readDB = False
dtDigiMonitor.filterSyncNoise = True
dtDigiMonitor.lookForSyncNoise = True
# Local Trigger task
from DQM.DTMonitorModule.dtTriggerBaseTask_cfi import *
from DQM.DTMonitorModule.dtTriggerLutTask_cfi import *
from DQM.DTMonitorClient.dtLocalTriggerTest_cfi import *
from DQM.DTMonitorClient.dtTriggerLutTest_cfi import *
triggerTest.hwSources = ['TM']
# scaler task
from DQM.DTMonitorModule.dtScalerInfoTask_cfi import *
# segment reco task
from DQM.DTMonitorModule.dtSegmentTask_cfi import *
from DQM.DTMonitorClient.dtSegmentAnalysisTest_cfi import *
# resolution task
from DQM.DTMonitorModule.dtResolutionTask_cfi import *
# noise task
from DQM.DTMonitorModule.dtNoiseTask_cfi import *
from DQM.DTMonitorClient.dtNoiseAnalysis_cfi import *
dtNoiseAnalysisMonitor.doSynchNoise = True
# report summary
from DQM.DTMonitorClient.dtSummaryClients_cfi import *
from DQMServices.Core.DQMQualityTester import DQMQualityTester
dtqTester = DQMQualityTester(
#reportThreshold = cms.untracked.string('red'),
prescaleFactor = cms.untracked.int32(1),
qtList = cms.untracked.FileInPath('DQM/DTMonitorClient/test/QualityTests.xml'),
getQualityTestsFromFile = cms.untracked.bool(True)
)
# test pulse monitoring
from DQM.DTMonitorModule.dtDigiTask_TP_cfi import *
from DQM.DTMonitorClient.dtOccupancyTest_TP_cfi import *
# New time window for TPs
dtTPmonitor.defaultTtrig = 750
dtTPmonitor.defaultTmax = 200
dtTPmonitor.inTimeHitsLowerBound = 0
dtTPmonitor.inTimeHitsUpperBound = 0
# Local Trigger task for test pulses
from DQM.DTMonitorModule.dtTriggerTask_TP_cfi import *
from DQM.DTMonitorClient.dtLocalTriggerTest_TP_cfi import *
dtTPTriggerTest.hwSources = ['TM']
unpackers = cms.Sequence(dtunpacker + twinMuxStage2Digis + scalersRawToDigi)
reco = cms.Sequence(dt1DRecHits + dt4DSegments)
# sequence of DQM tasks to be run on physics events only
dtDQMTask = cms.Sequence(dtDataIntegrityTask + dtDigiMonitor + dtSegmentAnalysisMonitor + dtTriggerBaseMonitor + dtTriggerLutMonitor + dtNoiseMonitor + dtResolutionAnalysisMonitor)
# DQM clients to be run on physics event only
dtDQMTest = cms.Sequence(dataIntegrityTest + blockedROChannelTest + triggerLutTest + triggerTest + dtOccupancyTest + dtOccupancyTestML + segmentTest + dtNoiseAnalysisMonitor + dtSummaryClients + dtqTester)
# DQM tasks and clients to be run on calibration events only
dtDQMCalib = cms.Sequence(dtTPmonitor + dtTPTriggerMonitor + dtTPmonitorTest + dtTPTriggerTest)
# sequence to be run on physics events (includes filters, reco and DQM)
dtDQMPhysSequence = cms.Sequence(dtScalerInfoMonitor + gtDigis + reco + dtDQMTask + dtDQMTest)
from Configuration.Eras.Modifier_stage2L1Trigger_cff import stage2L1Trigger
dtDQMPhysSequenceStage2 = cms.Sequence(dtScalerInfoMonitor + gtStage2Digis + reco + dtDQMTask + dtDQMTest)
stage2L1Trigger.toReplaceWith(dtDQMPhysSequence,dtDQMPhysSequenceStage2)
|