You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/configurationParameters.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -115,6 +115,7 @@ The parameters related to 3rd-party libraries are described here for convenience
115
115
| equipment-*| rdhCheckDetectorField | int | 0 | If set, the detector field is checked and changes reported. |
116
116
| equipment-*| rdhCheckEnabled | int | 0 | If set, data pages are parsed and RDH headers checked. Errors are reported in logs. |
117
117
| equipment-*| rdhCheckFirstOrbit | int | 1 | If set, it is checked that the first orbit of all equipments and links is the same. If not, run is stopped. |
118
+
| equipment-*| rdhCheckTrigger | int | 0 | If set, the RDH trigger counters are checked for consistency. |
118
119
| equipment-*| rdhDumpEnabled | int | 0 | If set, data pages are parsed and RDH headers summary printed on console. Setting a negative number will print only the first N pages.|
119
120
| equipment-*| rdhDumpErrorEnabled | int | 1 | If set, a log message is printed for each RDH header error found.|
120
121
| equipment-*| rdhDumpFirstInPageEnabled | int | 0 | If set, the first RDH in each data page is logged. Setting a negative number will printit only for the first N pages. |
@@ -132,9 +133,11 @@ The parameters related to 3rd-party libraries are described here for convenience
132
133
| equipment-cruemulator-*| feeId | int | 0 | Front-End Electronics Id, used for FEE Id field in RDH. |
133
134
| equipment-cruemulator-*| HBperiod | int | 1 | Interval between 2 HeartBeat triggers, in number of LHC orbits. |
134
135
| equipment-cruemulator-*| linkId | int | 0 | Id of first link. If numberOfLinks>1, ids will range from linkId to linkId+numberOfLinks-1. |
136
+
| equipment-cruemulator-*| linkThroughput | double | 3.2 | The data throughput of each link, in Gbps. |
135
137
| equipment-cruemulator-*| maxBlocksPerPage | int | 0 |[obsolete- not used]. Maximum number of blocks per page. |
136
138
| equipment-cruemulator-*| numberOfLinks | int | 1 | Number of GBT links simulated by equipment. |
137
139
| equipment-cruemulator-*| PayloadSize | int | 64k | Maximum payload size for each trigger. Actual size is randomized, and then split in a number of (cruBlockSize) packets. |
140
+
| equipment-cruemulator-*| PayloadSizeStdev | double | 0.0 | Standard deviation of randomized PayloadSize (no unit, as a fraction of PayloadSize). |
138
141
| equipment-cruemulator-*| systemId | int | 19 | System Id, used for System Id field in RDH. By default, using the TEST code. |
139
142
| equipment-cruemulator-*| triggerRate | double | 0 | If set, the HB frame rate is limited to given value in Hz (1 HBF per data page). |
140
143
| equipment-dummy-*| eventMaxSize | bytes | 128k | Maximum size of randomly generated event. |
Copy file name to clipboardExpand all lines: doc/releaseNotes.md
+9Lines changed: 9 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -511,3 +511,12 @@ This file describes the main feature changes for each readout.exe released versi
511
511
- Updated configuration parameters:
512
512
- added consumer-fileRecorder-*.dropEmptyHBFramesTriggerMask: when using dropEmptyHBFrames = 1, keep some empty HB frames with trigger type matching given (decimal) mask.
513
513
- Added support for RDHv7. Readout already accepts data from equipments with v7, but still generates data (internal sw generator) with v6, for compatibility with current software downstream.
514
+
515
+
## v2.16.1 - 16/02/2022
516
+
- Updated configuration parameters:
517
+
- added equipemnt-*.rdhCheckTrigger: when set, enables some consistency checks on trigger counters, as follows:
518
+
- Trigger type TF should happen only on orbits % TF period = 0.
519
+
- First trigger received on each link should be SOC or SOT.
520
+
- added equipment-cruemulator-*.PayloadSizeStdev: generate payload with random size (gaussian distribution mean=PayloadSize sigma=PayloadSizeStdev).
521
+
- added equipment-cruemulator-*.linkThroughput: set incoming link data throughput (in Gbps).
// configuration parameter: | equipment-* | ctpMode | int | 0 | If set, the detector field (CTP run mask) is checked. Incoming data is discarded until a new bit is set, and discarded again after this bit is unset. Automatically implies rdhCheckDetectorField=1 and rdhCheckDetectorField=1. |
@@ -845,6 +847,14 @@ int ReadoutEquipment::processRdh(DataBlockContainerReference& block)
// first data from link should be SOC or SOT trigger type
853
+
if (! (h.getTriggerTypeStruct().SOC || h.getTriggerTypeStruct().SOT)) {
854
+
theLog.log(LogErrorSupport_(3241), "Equipment %s : first RDH of link %d is not SOC or SOT, trigger type = 0x%X", name.c_str(), linkId, h.getTriggerTypeStruct().word0);
855
+
}
856
+
}
857
+
848
858
}
849
859
}
850
860
}
@@ -938,6 +948,22 @@ int ReadoutEquipment::processRdh(DataBlockContainerReference& block)
938
948
break; // stop checking this page
939
949
}
940
950
}
951
+
952
+
// check trigger counters
953
+
if (cfgRdhCheckTrigger) {
954
+
if (h.getTriggerTypeStruct().TF) {
955
+
// TF boundary should be aligned with TF length
956
+
if (h.getHbOrbit() % timeframePeriodOrbits) {
957
+
if (cfgRdhDumpErrorEnabled) {
958
+
theLog.log(logRdhErrorsToken, "Equipment %d Link %d RDH %d @ 0x%X : TriggerType TF bit set, but orbit 0x%08X not aligned with TF period = %d", id, (int)blockHeader.linkId, rdhIndexInPage, (unsignedint)pageOffset, (int)h.getTriggerOrbit(), (int)timeframePeriodOrbits);
// configuration parameter: | equipment-cruemulator-* | PayloadSize | int | 64k | Maximum payload size for each trigger. Actual size is randomized, and then split in a number of (cruBlockSize) packets. |
103
+
// configuration parameter: | equipment-cruemulator-* | PayloadSizeStdev | double | 0.0 | Standard deviation of randomized PayloadSize (no unit, as a fraction of PayloadSize). |
96
104
// configuration parameter: | equipment-cruemulator-* | triggerRate | double | 0 | If set, the HB frame rate is limited to given value in Hz (1 HBF per data page). |
105
+
// configuration parameter: | equipment-cruemulator-* | linkThroughput | double | 3.2 | The data throughput of each link, in Gbps. |
0 commit comments