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
|
import FWCore.ParameterSet.Config as cms
process = cms.Process("L1ConfigValidation")
process.load("FWCore.MessageLogger.MessageLogger_cfi")
process.MessageLogger.cout.enable = cms.untracked.bool(True)
process.MessageLogger.cout.threshold = cms.untracked.string('DEBUG')
process.MessageLogger.debugModules = cms.untracked.vstring('*')
import FWCore.ParameterSet.VarParsing as VarParsing
options = VarParsing.VarParsing()
options.register('runNumber',
4294967295, #default value
VarParsing.VarParsing.multiplicity.singleton,
VarParsing.VarParsing.varType.int,
"Run number; default gives latest IOV")
options.register('inputDBConnect',
'sqlite_file:l1config.db', #default value
VarParsing.VarParsing.multiplicity.singleton,
VarParsing.VarParsing.varType.string,
"Connection string for input DB")
options.register('inputDBAuth',
'.', #default value
VarParsing.VarParsing.multiplicity.singleton,
VarParsing.VarParsing.varType.string,
"Authentication path for input DB")
options.register('printL1TriggerKeyList',
0, #default value
VarParsing.VarParsing.multiplicity.singleton,
VarParsing.VarParsing.varType.int,
"Print all object keys in CondDB")
options.register('printL1TriggerKey',
0, #default value
VarParsing.VarParsing.multiplicity.singleton,
VarParsing.VarParsing.varType.int,
"Print TSC key, subsystem keys, and object keys")
options.register('printRSKeys',
0, #default value
VarParsing.VarParsing.multiplicity.singleton,
VarParsing.VarParsing.varType.int,
"Print Run Settings keys")
options.register('printPayloadTokens',
0, #default value
VarParsing.VarParsing.multiplicity.singleton,
VarParsing.VarParsing.varType.int,
"Print payload tokens (long)")
options.parseArguments()
# Define CondDB tags
from CondTools.L1Trigger.L1CondEnum_cfi import L1CondEnum
from CondTools.L1Trigger.L1O2OTags_cfi import initL1O2OTags
initL1O2OTags()
# Input DB
from CondTools.L1Trigger.L1CondDBSource_cff import initCondDBSource
initCondDBSource( process,
inputDBConnect = options.inputDBConnect,
inputDBAuth = options.inputDBAuth,
tagBaseVec = initL1O2OTags.tagBaseVec,
includeRSTags = options.printRSKeys )
from CondCore.DBCommon.CondDBSetup_cfi import CondDBSetup
outputDB = cms.Service("PoolDBOutputService",
CondDBSetup,
# BlobStreamerName = cms.untracked.string('TBufferBlobStreamingService'),
connect = cms.string(options.inputDBConnect),
toPut = cms.VPSet(cms.PSet(
record = cms.string("L1TriggerKeyRcd"),
tag = cms.string("L1TriggerKey_" + initL1O2OTags.tagBaseVec[ L1CondEnum.L1TriggerKey ])),
cms.PSet(
record = cms.string("L1TriggerKeyListRcd"),
tag = cms.string("L1TriggerKeyList_" + initL1O2OTags.tagBaseVec[ L1CondEnum.L1TriggerKeyList ]))
))
outputDB.DBParameters.authenticationPath = options.inputDBAuth
# PoolDBOutputService for printing out ESRecords
if options.printRSKeys == 1:
from CondTools.L1Trigger.L1RSSubsystemParams_cfi import initL1RSSubsystems
initL1RSSubsystems( tagBaseVec = initL1O2OTags.tagBaseVec )
outputDB.toPut.extend(initL1RSSubsystems.params.recordInfo)
process.add_(outputDB)
# Source of events
process.maxEvents = cms.untracked.PSet(
input = cms.untracked.int32(1)
)
process.source = cms.Source("EmptyIOVSource",
timetype = cms.string('runnumber'),
firstValue = cms.uint64(options.runNumber),
lastValue = cms.uint64(options.runNumber),
interval = cms.uint64(1)
)
# Validation modules
process.load('CondTools.L1Trigger.L1O2OTestAnalyzer_cfi')
process.L1O2OTestAnalyzer.printPayloadTokens = False
if options.printL1TriggerKey == 1:
process.L1O2OTestAnalyzer.printL1TriggerKey = True
else:
process.L1O2OTestAnalyzer.printL1TriggerKey = False
if options.printL1TriggerKeyList == 1:
process.L1O2OTestAnalyzer.printL1TriggerKeyList = True
else:
process.L1O2OTestAnalyzer.printL1TriggerKeyList = False
if options.printRSKeys == 1:
process.L1O2OTestAnalyzer.printESRecords = True
else:
process.L1O2OTestAnalyzer.printESRecords = False
if options.printPayloadTokens == 1:
process.L1O2OTestAnalyzer.printPayloadTokens = True
else:
process.L1O2OTestAnalyzer.printPayloadTokens = False
process.p = cms.Path(process.L1O2OTestAnalyzer)
|