Skip to content

Commit 689970d

Browse files
jokonigshahor02
authored andcommitted
[EMCAL-539] Fix in trigger simulation to not accept every event as MB
- Only events where EMCal is triggered should be given the trigger flag. This was previously not the case
1 parent 42e1f6a commit 689970d

File tree

3 files changed

+23
-7
lines changed

3 files changed

+23
-7
lines changed

Detectors/EMCAL/simulation/include/EMCALSimulation/Digitizer.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ class Digitizer : public TObject
7272
double getEventTime() const { return mDigits.getEventTime(); }
7373
bool isLive(double t) const { return mDigits.isLive(t); }
7474
bool isLive() const { return mDigits.isLive(); }
75+
bool isCurrentEventTriggered() const { return mDigits.isCurrentEventTriggered(); }
7576

7677
void setDebugStreaming(bool doStreaming) { mEnableDebugStreaming = doStreaming; }
7778

Detectors/EMCAL/simulation/include/EMCALSimulation/DigitsWriteoutBuffer.h

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,21 @@ class DigitsWriteoutBuffer
6060

6161
double getTriggerTime() const { return mTriggerTime; }
6262
double getEventTime() const { return mLastEventTime; }
63-
bool isLive(double t) const { return ((t - mTriggerTime) < mLiveTime || (t - mTriggerTime) >= (mLiveTime + mBusyTime - mPreTriggerTime)); }
64-
bool isLive() const { return ((mLastEventTime - mTriggerTime) < mLiveTime || (mLastEventTime - mTriggerTime) >= (mLiveTime + mBusyTime - mPreTriggerTime)); }
63+
bool isLive(double t) const
64+
{
65+
return ((t - mTriggerTime) < mLiveTime || (t - mTriggerTime) >= (mLiveTime + mBusyTime - mPreTriggerTime));
66+
}
67+
bool isLive() const
68+
{
69+
return ((mLastEventTime - mTriggerTime) < (mLiveTime - mPreTriggerTime) || (mLastEventTime - mTriggerTime) >= (mLiveTime + mBusyTime - mPreTriggerTime));
70+
}
71+
72+
/// Check if current collision was triggered
73+
/// \return true if event was triggered
74+
bool isCurrentEventTriggered() const
75+
{
76+
return mLastEventTime == mTriggerTime;
77+
}
6578

6679
// function returns true if the collision occurs 600ns before the readout window is open
6780
// Look here for more details https://alice.its.cern.ch/jira/browse/EMCAL-681

Detectors/EMCAL/workflow/src/EMCALDigitizerSpec.cxx

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -332,15 +332,17 @@ void DigitizerSpec::run(framework::ProcessingContext& ctx)
332332
if (!trigger.any()) {
333333
continue;
334334
}
335-
// Trigger sim: Prepare CTP input digit
336-
acceptedTriggers.push_back(std::make_tuple(timesview[collID], trigger));
337-
LOG(debug) << "EMCAL TRU simulation: Sending trg = " << trigger << " to CTP";
338335

339336
mDigitizer.setEventTime(timesview[collID], trigger.any());
340-
341-
if (!mDigitizer.isLive()) {
337+
if (!mDigitizer.isCurrentEventTriggered()) {
338+
LOG(debug) << "reject collision";
342339
continue;
343340
}
341+
LOG(debug) << "accept collision";
342+
343+
// Trigger sim: Prepare CTP input digit
344+
acceptedTriggers.push_back(std::make_tuple(timesview[collID], trigger));
345+
LOG(debug) << "EMCAL TRU simulation: Sending trg = " << trigger << " to CTP";
344346

345347
// for each collision, loop over the constituents event and source IDs
346348
// (background signal merging is basically taking place here)

0 commit comments

Comments
 (0)