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
|
#
# Test the most standard case where we read the same run
# from different files but each file has its own lumi blocks
#
import FWCore.ParameterSet.Config as cms
process = cms.Process("TEST")
process.MessageLogger.cerr.FwkReport.reportEvery = 1000
process.MessageLogger.cerr.threshold = 'ERROR'
import FWCore.Framework.test.cmsExceptionsFatalOption_cff
process.options = cms.untracked.PSet(
fileMode = cms.untracked.string('FULLMERGE'),
Rethrow = FWCore.Framework.test.cmsExceptionsFatalOption_cff.Rethrow
)
process.maxEvents.input = 10
from IOPool.Input.modules import PoolSource
process.source = PoolSource(fileNames = ['file:testRunMerge4.root', 'file:testRunMerge6.root'])
from FWCore.Framework.modules import TestMergeResults, RunLumiEventAnalyzer
process.test = TestMergeResults(
# Check to see that the value we read matches what we know
# was written. Expected values listed below come in sets of three
# value expected in Thing
# value expected in ThingWithMerge
# value expected in ThingWithIsEqual
# Each set of 3 is tested at endRun for the expected
# run values or at endLuminosityBlock for the expected
# lumi values. And then the next set of three values
# is tested at the next endRun or endLuminosityBlock.
# When the sequence of parameter values is exhausted it stops checking
# 0's are just placeholders, if the value is a "0" the check is not made.
expectedBeginRunProd = [
10001, 20004, 10003 # end run 11
],
expectedEndRunProd = [
100001, 200004, 100003 #end run 11
],
expectedBeginLumiProd = [
101, 102, 103, # end run 11 lumi 1
101, 102, 103, # end run 11 lumi 2
101, 102, 103 # end run 11 lumi 3
],
expectedEndLumiProd = [
1001, 1002, 1003, # end run 11 lumi 1
1001, 1002, 1003, # end run 11 lumi 2
1001, 1002, 1003 # end run 11 lumi 3
],
verbose = False
)
process.test2 = RunLumiEventAnalyzer(
verbose = True,
expectedRunLumiEvents = [
11, 0, 0,
11, 1, 0,
11, 1, 1,
11, 1, 0,
11, 2, 0,
11, 2, 2,
11, 2, 3,
11, 2, 4,
11, 2, 0,
11, 3, 0,
11, 3, 5,
11, 3, 6,
11, 3, 7,
11, 3, 0,
11, 4, 0,
11, 4, 8,
11, 4, 9,
11, 4, 10,
11, 4, 0,
11, 0, 0
]
)
process.path1 = cms.Path(process.test + process.test2)
|