1 |
#include "l1menu/ReducedEvent.h"
|
2 |
|
3 |
#include "l1menu/ITrigger.h"
|
4 |
#include "l1menu/ReducedSample.h"
|
5 |
#include "protobuf/l1menu.pb.h"
|
6 |
|
7 |
l1menu::ReducedEvent::ReducedEvent( const l1menu::ReducedSample& sample )
|
8 |
: sample_(sample)
|
9 |
{
|
10 |
// No operation
|
11 |
}
|
12 |
|
13 |
l1menu::ReducedEvent::~ReducedEvent()
|
14 |
{
|
15 |
// No operation
|
16 |
}
|
17 |
|
18 |
float l1menu::ReducedEvent::parameterValue( ParameterID parameterNumber ) const
|
19 |
{
|
20 |
return pProtobufEvent_->threshold(parameterNumber);
|
21 |
}
|
22 |
|
23 |
bool l1menu::ReducedEvent::passesTrigger( const l1menu::ITrigger& trigger ) const
|
24 |
{
|
25 |
const auto& parameterIdentifiers=sample_.getTriggerParameterIdentifiers(trigger);
|
26 |
|
27 |
for( const auto& identifier : parameterIdentifiers )
|
28 |
{
|
29 |
if( trigger.parameter(identifier.first)>parameterValue(identifier.second) ) return false;
|
30 |
}
|
31 |
|
32 |
// If control got this far, all of the thresholds passed.
|
33 |
return true;
|
34 |
}
|
35 |
|
36 |
float l1menu::ReducedEvent::weight() const
|
37 |
{
|
38 |
if( pProtobufEvent_->has_weight() ) return pProtobufEvent_->weight();
|
39 |
else return 1;
|
40 |
}
|
41 |
|
42 |
const l1menu::ISample& l1menu::ReducedEvent::sample() const
|
43 |
{
|
44 |
return sample_;
|
45 |
}
|