Skip to content

Commit fef2f06

Browse files
committed
Add trigger
1 parent f652563 commit fef2f06

1 file changed

Lines changed: 11 additions & 8 deletions

File tree

Detectors/Raw/TFReaderDD/src/RawTFDumpSpec.cxx

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ class RawTFDump : public Task
103103
std::ofstream mFile;
104104
std::uniform_real_distribution<double> mUniformDist{0.0, 100.0};
105105
std::default_random_engine mRGen;
106-
106+
107107
// helper to make sure the written blocks are buffered
108108
template <
109109
typename pointer,
@@ -180,7 +180,7 @@ void RawTFDump::init(InitContext& ic)
180180
if (mMaxAccRate >= 0.f) {
181181
LOGP(info, "Will accept randomly {}% of TFs", mMaxAccRate);
182182
} else {
183-
LOGP(info, "Will accept every {}-th TF", int(std::ceil(-100.f/mMaxAccRate)));
183+
LOGP(info, "Will accept every {}-th TF", int(std::ceil(-100.f / mMaxAccRate)));
184184
}
185185
} else {
186186
mMaxAccRate = std::abs(mMaxAccRate);
@@ -398,22 +398,25 @@ bool RawTFDump::triggerTF(ProcessingContext& pc)
398398
{
399399
bool trig = false;
400400
if (mTrigger.empty()) { // random
401-
if (mMaxAccRate>0.f) {
401+
if (mMaxAccRate > 0.f) {
402402
trig = (mUniformDist(mRGen) <= mMaxAccRate);
403403
} else if (mMaxAccRate < 0.f) {
404-
trig = (mTimingInfo.tfCounter%int(std::ceil(-100.f/mMaxAccRate))) == 0;
404+
trig = (mTimingInfo.tfCounter % int(std::ceil(-100.f / mMaxAccRate))) == 0;
405405
}
406406
} else {
407407
for (auto const& ref : InputRecordWalker(pc.inputs(), mTriggerFilter)) {
408408
auto const* dh = DataRefUtils::getHeader<DataHeader*>(ref);
409409
if (!dh) {
410-
LOGP(error, "Failed to extract header for trigger input");
411-
continue;
410+
LOGP(error, "Failed to extract header for trigger input");
411+
continue;
412412
}
413413
auto extTrig = DataRefUtils::as<bool>(ref);
414+
LOGP(debug, "trigger input {}, part: {} of {}, payload {}, 1stTFOrbit: {} TF: {} | span size: {} span[0]={}",
415+
DataSpecUtils::describe(OutputSpec{dh->dataOrigin, dh->dataDescription, dh->subSpecification}),
416+
dh->splitPayloadIndex, dh->splitPayloadParts, dh->payloadSize, dh->firstTForbit, dh->tfCounter, extTrig.size(), extTrig.size() > 0 ? extTrig[0] : false);
414417
if (extTrig.size() && extTrig[0]) {
415-
trig = true;
416-
break;
418+
trig = true;
419+
break;
417420
}
418421
}
419422
}

0 commit comments

Comments
 (0)