Skip to content

Commit 20188f2

Browse files
author
Benjamin Huber
committed
Add documentation and streamline interface
1 parent 24dc440 commit 20188f2

File tree

9 files changed

+140
-30
lines changed

9 files changed

+140
-30
lines changed

L1Trigger/Phase2L1GT/README.md

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,3 +199,93 @@ process.pDoubleTkEle25_12 = cms.Path(process.DoubleTkEle2512)
199199

200200
algorithms.append(cms.PSet(expression = cms.string("pSingleTkMuon22 or pDoubleTkEle25_12")))
201201
```
202+
203+
## Firmware pattern writers
204+
205+
There are 3 types of Global Trigger pattern writers currently implemented.
206+
207+
* `L1GTAlgoBoardWriter`: Used to write out the algorithm bits into 2 channels. With config
208+
209+
| Name | Datatype | Description |
210+
|:-----|:----------:|:--------------|
211+
| `filename` | `cms.string` | The filename prefix to use for pattern files (required) |
212+
| `fileExtension` | `cms.string` | `txt`, `txt.gz` or `txt.xz` (default: `txt`) |
213+
| `algoBlocksTag` | `cms.InputTag` | AlgoBlock producer input tag to use (required) |
214+
| `maxFrames` | `cms.unit32` | Maximum number of frames (default: 1024) |
215+
| `maxEvents` | `cms.unit32` | Maximum number of events (default: events that fit into `maxFrames`) |
216+
| `channels` | `cms.vuint32` | Vector of 2 channel numbers for output (required) |
217+
| `algoBitMask` | `cms.vuint64` | Vector of 9 64 bit masks (default: all set to 1) |
218+
| `patternFormat` | `cms.string` | `APx`, `EMPv1`, `EMPv2` or `X2O` (default: `EMPv2`) |
219+
220+
* `L1GTFinOrBoardWriter`: Used to write out Final OR bits (beforeBxMaskAndPrescale, beforePrescale and final) each on a different channel for the low bits (0 - 575), mid bits (576 - 1151) and high bits (1152 - 1727). 9 channels in total + one channel for the passing Final OR trigger types. Config:
221+
222+
| Name | Datatype | Description |
223+
|:-----|:----------:|:--------------|
224+
| `filename` | `cms.string` | The filename prefix to use for pattern files (required) |
225+
| `fileExtension` | `cms.string` | `txt`, `txt.gz` or `txt.xz` (default: `txt`) |
226+
| `algoBlocksTag` | `cms.InputTag` | AlgoBlock producer input tag to use (required) |
227+
| `maxFrames` | `cms.unit32` | Maximum number of frames (default: 1024) |
228+
| `maxEvents` | `cms.unit32` | Maximum number of events (default: events that fit into `maxFrames`) |
229+
| `channelsLow` | `cms.vuint32` | Vector of 3 channel numbers for low bits (0 - 575) (required) |
230+
| `channelsMid` | `cms.vuint32` | Vector of 3 channel numbers for mid bits (576 - 1151) (required) |
231+
| `channelsHigh` | `cms.vuint32` | Vector of 3 channel numbers for high bits (1152 - 1727) (required) |
232+
| `channelFinOr` | `cms.uint32` | Channel for FinalOr trigger types (required) |
233+
| `patternFormat` | `cms.string` | `APx`, `EMPv1`, `EMPv2` or `X2O` (default: `EMPv2`) |
234+
235+
* `L1GTObjectBoardWriter`: Used to write input and output object patterns using the upstream provided pack functions.
236+
237+
| Name | Datatype | Description |
238+
|:-----|:----------:|:--------------|
239+
| `filename` | `cms.string` | The filename prefix to use for pattern files (required) |
240+
| `fileExtension` | `cms.string` | `txt`, `txt.gz` or `txt.xz` (default: `txt`) |
241+
| `maxFrames` | `cms.unit32` | Maximum number of frames (default: 1024) |
242+
| `maxEvents` | `cms.unit32` | Maximum number of events (default: events that fit into `maxFrames`) |
243+
| `patternFormat` | `cms.string` | `APx`, `EMPv1`, `EMPv2` or `X2O` (default: `EMPv2`) |
244+
| `bufferFileType`| `cms.string` | Either `input` or `output` (required) |
245+
| `InputChannels.GCT_1` | `cms.vuint32` | Channels for GCT link 1 (required if `bufferFileType` = `input`) |
246+
| `InputChannels.GMT_1` | `cms.vuint32` | Channels for GMT link 1 (required if `bufferFileType` = `input`) |
247+
| `InputChannels.GTT_1` | `cms.vuint32` | Channels for GTT link 1 (required if `bufferFileType` = `input`) |
248+
| `InputChannels.GTT_2` | `cms.vuint32` | Channels for GTT link 2 (required if `bufferFileType` = `input`) |
249+
| `InputChannels.GTT_3` | `cms.vuint32` | Channels for GTT link 3 (required if `bufferFileType` = `input`) |
250+
| `InputChannels.GTT_4` | `cms.vuint32` | Channels for GTT link 4 (required if `bufferFileType` = `input`) |
251+
| `InputChannels.CL2_1` | `cms.vuint32` | Channels for CL2 link 1 (required if `bufferFileType` = `input`) |
252+
| `InputChannels.CL2_2` | `cms.vuint32` | Channels for CL2 link 2 (required if `bufferFileType` = `input`) |
253+
| `InputChannels.CL2_3` | `cms.vuint32` | Channels for CL2 link 3 (required if `bufferFileType` = `input`) |
254+
| `OutputChannels.GTTPromptJets` | `cms.vuint32` | Channels for collection GTTPromptJets (required if `bufferFileType` = `output`) |
255+
| `OutputChannels.GTTDisplacedJets` | `cms.vuint32` | Channels for collection GTTDisplacedJets (required if `bufferFileType` = `output`) |
256+
| `OutputChannels.GTTPromptHtSum` | `cms.vuint32` | Channels for collection GTTPromptHtSum (required if `bufferFileType` = `output`) |
257+
| `OutputChannels.GTTDisplacedHtSum` | `cms.vuint32` | Channels for collection GTTDisplacedHtSum (required if `bufferFileType` = `output`) |
258+
| `OutputChannels.GTTEtSum` | `cms.vuint32` | Channels for collection GTTEtSum (required if `bufferFileType` = `output`) |
259+
| `OutputChannels.GTTPrimaryVert` | `cms.vuint32` | Channels for collection GTTPrimaryVert (required if `bufferFileType` = `output`) |
260+
| `OutputChannels.GMTSaPromptMuons` | `cms.vuint32` | Channels for collection GMTSaPromptMuons (required if `bufferFileType` = `output`) |
261+
| `OutputChannels.GMTSaDisplacedMuons` | `cms.vuint32` | Channels for collection GMTSaDisplacedMuons (required if `bufferFileType` = `output`) |
262+
| `OutputChannels.GMTTkMuons` | `cms.vuint32` | Channels for collection GMTTkMuons (required if `bufferFileType` = `output`) |
263+
| `OutputChannels.CL2JetsSC4` | `cms.vuint32` | Channels for collection CL2JetsSC4 (required if `bufferFileType` = `output`) |
264+
| `OutputChannels.CL2JetsSC8` | `cms.vuint32` | Channels for collection CL2JetsSC8 (required if `bufferFileType` = `output`) |
265+
| `OutputChannels.CL2Photons` | `cms.vuint32` | Channels for collection CL2Photons (required if `bufferFileType` = `output`) |
266+
| `OutputChannels.CL2Electrons` | `cms.vuint32` | Channels for collection CL2Electrons (required if `bufferFileType` = `output`) |
267+
| `OutputChannels.CL2Taus` | `cms.vuint32` | Channels for collection CL2Taus (required if `bufferFileType` = `output`) |
268+
| `OutputChannels.CL2EtSum` | `cms.vuint32` | Channels for collection CL2EtSum (required if `bufferFileType` = `output`) |
269+
| `OutputChannels.CL2HtSum` | `cms.vuint32` | Channels for collection CL2HtSum (required if `bufferFileType` = `output`) |
270+
271+
Note: In order to get consistency across multiple pattern files written by multiple writers it is recommended to produce patterns in single threaded mode only (i.e. `process.options.numberOfThreads = 1`).
272+
273+
Default configurations for `L1GTAlgoBoardWriter` and `L1GTObjectBoardWriter` in input and output direction can be pulled into the configuration for each of the two prototype implementations VU9P and VU13P via:
274+
275+
```python
276+
# Serenity VU9P prototype board
277+
process.load('L1Trigger.Phase2L1GT.l1tGTBoardWriterVU9P_cff')
278+
279+
process.pBoardDataInputVU9P = cms.EndPath(process.BoardDataInputVU9P)
280+
process.pBoardDataOutputObjectsVU9P = cms.EndPath(process.BoardDataOutputObjectsVU9P)
281+
process.pAlgoBitBoardDataVU9P = cms.EndPath(process.AlgoBitBoardDataVU9P)
282+
```
283+
284+
```python
285+
# Serenity VU13P prototype board
286+
process.load('L1Trigger.Phase2L1GT.l1tGTBoardWriterVU13P_cff')
287+
288+
process.pBoardDataInputVU13P = cms.EndPath(process.BoardDataInputVU13P)
289+
process.pBoardDataOutputObjectsVU13P = cms.EndPath(process.BoardDataOutputObjectsVU13P)
290+
process.pAlgoBitBoardDataVU13P = cms.EndPath(process.AlgoBitBoardDataVU13P)
291+
```

L1Trigger/Phase2L1GT/plugins/L1GTAlgoBoardWriter.cc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,8 @@ L1GTAlgoBoardWriter::L1GTAlgoBoardWriter(const edm::ParameterSet& config)
7373
algoBlocksToken_(consumes<P2GTAlgoBlockMap>(config.getUntrackedParameter<edm::InputTag>("algoBlocksTag"))),
7474
boardDataWriter_(
7575
l1t::demo::parseFileFormat(config.getUntrackedParameter<std::string>("patternFormat")),
76-
config.getUntrackedParameter<std::string>("outputFilename"),
77-
config.getUntrackedParameter<std::string>("outputFileExtension"),
76+
config.getUntrackedParameter<std::string>("filename"),
77+
config.getUntrackedParameter<std::string>("fileExtension"),
7878
9,
7979
2,
8080
config.getUntrackedParameter<unsigned int>("maxFrames"),
@@ -133,8 +133,8 @@ void L1GTAlgoBoardWriter::endJob() {
133133

134134
void L1GTAlgoBoardWriter::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
135135
edm::ParameterSetDescription desc;
136-
desc.addUntracked<std::string>("outputFilename");
137-
desc.addUntracked<std::string>("outputFileExtension", "txt");
136+
desc.addUntracked<std::string>("filename");
137+
desc.addUntracked<std::string>("fileExtension", "txt");
138138
desc.addUntracked<edm::InputTag>("algoBlocksTag");
139139
desc.addUntracked<unsigned int>("maxEvents", 0);
140140
desc.addUntracked<std::vector<unsigned int>>("channels");

L1Trigger/Phase2L1GT/plugins/L1GTFinOrBoardWriter.cc

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ class L1GTFinOrBoardWriter : public edm::one::EDAnalyzer<> {
3939
void analyze(const edm::Event&, const edm::EventSetup&) override;
4040
void endJob() override;
4141

42+
unsigned int eventCounter_;
43+
const unsigned int maxEvents_;
4244
const std::array<unsigned int, 3> channelsLow_;
4345
const std::array<unsigned int, 3> channelsMid_;
4446
const std::array<unsigned int, 3> channelsHigh_;
@@ -63,7 +65,9 @@ static std::array<T, N> convert(std::vector<T> vec, const char* name) {
6365
}
6466

6567
L1GTFinOrBoardWriter::L1GTFinOrBoardWriter(const edm::ParameterSet& config)
66-
: channelsLow_(convert<unsigned int, 3>(config.getUntrackedParameter<std::vector<unsigned int>>("channelsLow"),
68+
: eventCounter_(0),
69+
maxEvents_(config.getUntrackedParameter<unsigned int>("maxEvents")),
70+
channelsLow_(convert<unsigned int, 3>(config.getUntrackedParameter<std::vector<unsigned int>>("channelsLow"),
6771
"channelsLow")),
6872
channelsMid_(convert<unsigned int, 3>(config.getUntrackedParameter<std::vector<unsigned int>>("channelsMid"),
6973
"channelsMid")),
@@ -72,8 +76,8 @@ L1GTFinOrBoardWriter::L1GTFinOrBoardWriter(const edm::ParameterSet& config)
7276
channelFinOr_(config.getUntrackedParameter<unsigned int>("channelFinOr")),
7377
algoBlocksToken_(consumes<P2GTAlgoBlockMap>(config.getUntrackedParameter<edm::InputTag>("algoBlocksTag"))),
7478
boardDataWriter_(l1t::demo::parseFileFormat(config.getUntrackedParameter<std::string>("patternFormat")),
75-
config.getUntrackedParameter<std::string>("outputFilename"),
76-
config.getUntrackedParameter<std::string>("outputFileExtension"),
79+
config.getUntrackedParameter<std::string>("filename"),
80+
config.getUntrackedParameter<std::string>("fileExtension"),
7781
9,
7882
2,
7983
config.getUntrackedParameter<unsigned int>("maxFrames"),
@@ -186,6 +190,13 @@ void L1GTFinOrBoardWriter::analyze(const edm::Event& event, const edm::EventSetu
186190
}
187191

188192
tmuxCounter_ = (tmuxCounter_ + 1) % 2;
193+
194+
eventCounter_++;
195+
196+
if (maxEvents_ != 0 && eventCounter_ == maxEvents_) {
197+
boardDataWriter_.flush();
198+
eventCounter_ = 0;
199+
}
189200
}
190201

191202
void L1GTFinOrBoardWriter::endJob() {
@@ -198,14 +209,15 @@ void L1GTFinOrBoardWriter::endJob() {
198209

199210
void L1GTFinOrBoardWriter::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
200211
edm::ParameterSetDescription desc;
201-
desc.addUntracked<std::string>("outputFilename");
202-
desc.addUntracked<std::string>("outputFileExtension", "txt");
212+
desc.addUntracked<std::string>("filename");
213+
desc.addUntracked<std::string>("fileExtension", "txt");
203214
desc.addUntracked<edm::InputTag>("algoBlocksTag");
204215
desc.addUntracked<std::vector<unsigned int>>("channelsLow");
205216
desc.addUntracked<std::vector<unsigned int>>("channelsMid");
206217
desc.addUntracked<std::vector<unsigned int>>("channelsHigh");
207218
desc.addUntracked<unsigned int>("channelFinOr");
208219
desc.addUntracked<unsigned int>("maxFrames", 1024);
220+
desc.addUntracked<unsigned int>("maxEvents", 0);
209221
desc.addUntracked<std::string>("patternFormat", "EMPv2");
210222

211223
descriptions.addDefault(desc);

L1Trigger/Phase2L1GT/plugins/L1GTObjectBoardWriter.cc

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ class L1GTObjectBoardWriter : public edm::one::EDAnalyzer<> {
6161
const BufferType bufferFileType_;
6262
unsigned int eventCounter_;
6363
unsigned int maxEvents_;
64-
std::unordered_map<std::string, std::size_t> numChannels;
64+
std::unordered_map<std::string, std::size_t> numChannels_;
6565
demo::BoardDataWriter boardDataWriter_;
6666

6767
// From upstream
@@ -122,7 +122,7 @@ L1GTObjectBoardWriter::L1GTObjectBoardWriter(const edm::ParameterSet& config)
122122
: bufferFileType_(config.getUntrackedParameter<std::string>("bufferFileType") == "input" ? INPUT : OUTPUT),
123123
eventCounter_(0),
124124
maxEvents_(config.getUntrackedParameter<unsigned int>("maxEvents")),
125-
numChannels(),
125+
numChannels_(),
126126
boardDataWriter_(
127127
demo::parseFileFormat(config.getUntrackedParameter<std::string>("patternFormat")),
128128
config.getUntrackedParameter<std::string>("filename"),
@@ -181,7 +181,7 @@ L1GTObjectBoardWriter::L1GTObjectBoardWriter(const edm::ParameterSet& config)
181181
for (std::size_t i = 0; i < channels.size(); i++) {
182182
channelMap.insert({{name, i}, {{1, 0}, {channels.at(i)}}});
183183
}
184-
numChannels.insert({name, channels.size()});
184+
numChannels_.insert({name, channels.size()});
185185
}
186186
return channelMap;
187187
}
@@ -284,7 +284,12 @@ static std::vector<ap_uint<64>> packCollection(const std::vector<T>& collection)
284284
} else if constexpr (std::is_same_v<T, TrackerMuon> || std::is_same_v<T, TkEm> || std::is_same_v<T, TkElectron> ||
285285
std::is_same_v<T, PFTau>) {
286286
while (packed.size() < 18) {
287-
packed.emplace_back(0);
287+
if (next_packed) {
288+
packed.emplace_back(next_packed.value());
289+
next_packed.reset();
290+
} else {
291+
packed.emplace_back(0);
292+
}
288293
}
289294
} else if constexpr (std::is_same_v<T, SAMuon> || std::is_same_v<T, VertexWord>) {
290295
while (packed.size() < 12) {
@@ -385,8 +390,8 @@ void L1GTObjectBoardWriter::analyze(const edm::Event& event, const edm::EventSet
385390
data = packCollection<EtSum, P2GTCandidate::CL2HtSum>(cl2HtSum);
386391
}
387392

388-
for (std::size_t i = 0; i < numChannels.at(name); i++) {
389-
for (std::size_t j = 0; j < data.size(); j += numChannels.at(name)) {
393+
for (std::size_t i = 0; i < numChannels_.at(name); i++) {
394+
for (std::size_t j = i; j < data.size(); j += numChannels_.at(name)) {
390395
eventData[{name, i}].push_back(data[j]);
391396
}
392397

L1Trigger/Phase2L1GT/python/l1tGTBoardWriterVU13P_cff.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
import FWCore.ParameterSet.Config as cms
2-
from L1Trigger.Phase2L1GT.l1tGTBoardWriter_cff import BoardDataInput, BoardDataOutputObjects, AlgoBitBoardData
2+
from L1Trigger.Phase2L1GT.l1tGTBoardWriter_cff import BoardDataInput as BoardDataInputVU13P
3+
from L1Trigger.Phase2L1GT.l1tGTBoardWriter_cff import BoardDataOutputObjects as BoardDataOutputObjectsVU13P
4+
from L1Trigger.Phase2L1GT.l1tGTBoardWriter_cff import AlgoBitBoardData as AlgoBitBoardDataVU13P
35

4-
5-
BoardDataInput.InputChannels = cms.untracked.PSet(
6+
BoardDataInputVU13P.InputChannels = cms.untracked.PSet(
67
# SLR 0
78
GTT_1 = cms.untracked.vuint32(range(0, 6)),
89
GTT_2 = cms.untracked.vuint32(range(6, 12)),
@@ -21,7 +22,7 @@
2122
GMT_1 = cms.untracked.vuint32(48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 68, 69, 70, 71, 72, 73)
2223
)
2324

24-
BoardDataOutputObjects.OutputChannels = cms.untracked.PSet(
25+
BoardDataOutputObjectsVU13P.OutputChannels = cms.untracked.PSet(
2526
GTTPromptJets = cms.untracked.vuint32(range(2, 6)),
2627
GTTDisplacedJets = cms.untracked.vuint32(range(6, 10)),
2728
GTTPromptHtSum = cms.untracked.vuint32(range(10, 11)),
@@ -51,4 +52,4 @@
5152
GTTPrimaryVert = cms.untracked.vuint32(range(121, 123))
5253
)
5354

54-
AlgoBitBoardData.channels = cms.untracked.vuint32(46, 47)
55+
AlgoBitBoardDataVU13P.channels = cms.untracked.vuint32(46, 47)

L1Trigger/Phase2L1GT/python/l1tGTBoardWriterVU9P_cff.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
import FWCore.ParameterSet.Config as cms
2-
from L1Trigger.Phase2L1GT.l1tGTBoardWriter_cff import BoardDataInput, BoardDataOutputObjects, AlgoBitBoardData
2+
from L1Trigger.Phase2L1GT.l1tGTBoardWriter_cff import BoardDataInput as BoardDataInputVU9P
3+
from L1Trigger.Phase2L1GT.l1tGTBoardWriter_cff import BoardDataOutputObjects as BoardDataOutputObjectsVU9P
4+
from L1Trigger.Phase2L1GT.l1tGTBoardWriter_cff import AlgoBitBoardData as AlgoBitBoardDataVU9P
35

46

5-
BoardDataInput.InputChannels = cms.untracked.PSet(
7+
BoardDataInputVU9P.InputChannels = cms.untracked.PSet(
68
# SLR 0
79
GTT_1 = cms.untracked.vuint32(range(0, 6)),
810
GTT_2 = cms.untracked.vuint32(range(6, 12)),
@@ -19,7 +21,7 @@
1921
GMT_1 = cms.untracked.vuint32(range(60, 78))
2022
)
2123

22-
BoardDataOutputObjects.OutputChannels = cms.untracked.PSet(
24+
BoardDataOutputObjectsVU9P.OutputChannels = cms.untracked.PSet(
2325
GTTPromptJets = cms.untracked.vuint32(range(2, 6)),
2426
GTTDisplacedJets = cms.untracked.vuint32(range(6, 10)),
2527
GTTPromptHtSum = cms.untracked.vuint32(range(10, 11)),
@@ -49,4 +51,4 @@
4951
GTTPrimaryVert = cms.untracked.vuint32(range(113, 115))
5052
)
5153

52-
AlgoBitBoardData.channels = cms.untracked.vuint32(32, 33)
54+
AlgoBitBoardDataVU9P.channels = cms.untracked.vuint32(32, 33)

L1Trigger/Phase2L1GT/python/l1tGTBoardWriter_cff.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,6 @@
4444
)
4545

4646
AlgoBitBoardData = cms.EDAnalyzer("L1GTAlgoBoardWriter",
47-
outputFilename = cms.untracked.string("algoBitPattern"),
47+
filename = cms.untracked.string("algoBitPattern"),
4848
algoBlocksTag = cms.untracked.InputTag("l1tGTAlgoBlockProducer"),
4949
)

L1Trigger/Phase2L1GT/test/gt_firmware_evaluation.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -812,14 +812,14 @@
812812

813813

814814
process.BoardData = cms.EDAnalyzer("L1GTAlgoBoardWriter",
815-
outputFilename = cms.untracked.string("outputPattern"),
815+
filename = cms.untracked.string("outputPattern"),
816816
algoBlocksTag = cms.untracked.InputTag("l1tGTAlgoBlockProducer"),
817817
maxFrames = cms.untracked.uint32(1024),
818818
channels = channels
819819
)
820820

821821
process.FinOrBoardData = cms.EDAnalyzer("L1GTFinOrBoardWriter",
822-
outputFilename = cms.untracked.string("outputFinOrPattern"),
822+
filename = cms.untracked.string("outputFinOrPattern"),
823823
algoBlocksTag = cms.untracked.InputTag("l1tGTAlgoBlockProducer"),
824824
maxFrames = cms.untracked.uint32(1024),
825825
channelsLow = cms.untracked.vuint32(4, 5, 6),

L1Trigger/Phase2L1GT/test/test_GT.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -120,13 +120,13 @@
120120

121121
process.load('L1Trigger.Phase2L1GT.l1tGTBoardWriterVU13P_cff')
122122

123-
process.pBoardDataInput = cms.EndPath(process.BoardDataInput)
124-
process.pBoardDataOutputObjects = cms.EndPath(process.BoardDataOutputObjects)
123+
process.pBoardDataInputVU13P = cms.EndPath(process.BoardDataInputVU13P)
124+
process.pBoardDataOutputObjectsVU13P = cms.EndPath(process.BoardDataOutputObjectsVU13P)
125125

126126

127127
# Schedule definition
128128
process.schedule = cms.Schedule(process.raw2digi_step,process.L1simulation_step,process.GTemulation_step, *collectAlgorithmPaths(process), process.pGToutput,
129-
process.pBoardDataInput, process.pBoardDataOutputObjects, process.endjob_step)
129+
process.pBoardDataInputVU13P, process.pBoardDataOutputObjectsVU13P, process.endjob_step)
130130
from PhysicsTools.PatAlgos.tools.helpers import associatePatAlgosToolsTask
131131
associatePatAlgosToolsTask(process)
132132

0 commit comments

Comments
 (0)