HLTrigger
HLTcore
src
TriggerExpressionPrescaler.cc
Go to the documentation of this file.
1
#include "
HLTrigger/HLTcore/interface/TriggerExpressionPrescaler.h
"
2
3
namespace
triggerExpression
{
4
5
bool
Prescaler::operator()
(
const
Data
&
data
)
const
{
6
// if the prescale factor is 0, we never need to run any dependent module,
7
// so we can safely skip the rest of the processing
8
if
(
m_prescale
== 0)
9
return
false
;
10
11
bool
result
= ((*m_arg)(
data
));
12
if
(not
result
)
13
return
false
;
14
15
// if the prescale factor is 1, we do not need to keep track of the event counter
16
if
(
m_prescale
== 1)
17
return
true
;
18
19
return
(++
m_counter
%
m_prescale
) == 0;
20
}
21
22
void
Prescaler::init
(
const
Data
&
data
) {
23
// initialize the depending modules
24
UnaryOperator::init
(
data
);
25
26
// initialize the counter to the first event number seen,
27
// in order to avoid all prescalers on different FUs to be syncronous
28
m_counter
=
data
.eventNumber();
29
}
30
31
}
// namespace triggerExpression
TriggerExpressionPrescaler.h
triggerExpression::Prescaler::m_prescale
unsigned int m_prescale
Definition:
TriggerExpressionPrescaler.h:20
triggerExpression::Prescaler::operator()
bool operator()(const Data &data) const override
Definition:
TriggerExpressionPrescaler.cc:5
triggerExpression::UnaryOperator::init
void init(const Data &data) override
Definition:
TriggerExpressionOperators.h:15
triggerExpression::Prescaler::m_counter
unsigned int m_counter
Definition:
TriggerExpressionPrescaler.h:21
triggerExpression::Data
Definition:
TriggerExpressionData.h:23
triggerExpression
Definition:
TriggerExpressionConstant.h:6
data
char data[epos_bytes_allocation]
Definition:
EPOS_Wrapper.h:79
triggerExpression::Prescaler::init
void init(const Data &data) override
Definition:
TriggerExpressionPrescaler.cc:22
mps_fire.result
result
Definition:
mps_fire.py:311
Generated for CMSSW Reference Manual by
1.8.16