9#include <hlt/modules/HLTPrefilter/HLTPrefilterModule.h>
10#include <hlt/dbobjects/HLTPrefilterParameters.h>
12#include <framework/dataobjects/EventMetaData.h>
13#include <framework/logging/Logger.h>
14#include <mdst/dataobjects/TRGSummary.h>
25This module filters the injection background based on predefined selections.
26* This is meant to be registered in the path *after* the unpacking, but *before* HLT processing.
43 B2FATAL(
"HLTPrefilter parameters are not available.");
67 bool inActiveInjectionVeto =
false;
70 inActiveInjectionVeto =
true;
71 }
catch (
const std::exception&) {}
75 if (inActiveInjectionVeto) {
87 B2ERROR(
"Skip event --> HLTPrefilter tagged this event to be from injection strips" <<
93 B2ERROR(
"Skip event --> HLTPrefilter tagged this event with high CDC-ECL occupancy" <<
virtual ~HLTPrefilterModule() final
Default Destructor.
HLTPrefilterModule()
Module constructor.
void initialize() final
Module initializer.
void beginRun() final
Called when entering a new run.
StoreObjPtr< TRGSummary > m_trgSummary
Trigger summary Store ObjPtr.
StoreObjPtr< EventMetaData > m_eventInfo
Event Meta Data Store ObjPtr.
void event() final
Flag each event.
HLTPrefilterState
enumeration for HLTPrefilter state
HLTPrefilterState m_HLTPrefilterState
Instance for prefilter cut state.
DBObjPtr< HLTPrefilterParameters > m_hltPrefilterParameters
HLTprefilterParameters Database OjbPtr.
std::map< HLTPrefilterState, bool > m_decisions
Decision results.
HLTPrefilter::TimingCutState m_timingPrefilter
Helper instance for timing based prefilter.
HLTPrefilter::CDCECLCutState m_cdceclPrefilter
Helper instance for CDC-ECL occupancy based prefilter.
uint32_t nECLDigitsMax
Maximum threshold for ECL Digits.
uint32_t nCDCHitsMax
Define thresholds for variables.
unsigned int prescale
Prescale for accepting HLTPrefilter lines, by default we randomly accept 1 out of every 1000 events.
double LERtimeSinceLastInjectionMin
Define thresholds for variables.
double HERtimeInBeamCycleMax
Maximum threshold of timeInBeamCycle for LER injection.
double HERtimeSinceLastInjectionMin
Minimum threshold of timeSinceLastInjection for HER injection.
double HERtimeSinceLastInjectionMax
Maximum threshold of timeSinceLastInjection for HER injection.
double LERtimeSinceLastInjectionMax
Maximum threshold of timeSinceLastInjection for LER injection.
double HERtimeInBeamCycleMin
Minimum threshold of timeInBeamCycle for HER injection.
double LERtimeInBeamCycleMax
Maximum threshold of timeInBeamCycle for LER injection.
unsigned int prescale
Prescale for accepting HLTPrefilter lines, by default we randomly accept 1 out of every 1000 events.
double LERtimeInBeamCycleMin
Minimum threshold of timeInBeamCycle for LER injection.
void setDescription(const std::string &description)
Sets the description of the module.
void setPropertyFlags(unsigned int propertyFlags)
Sets the flags for the module properties.
void setReturnValue(int value)
Sets the return value for this module as integer.
@ c_ParallelProcessingCertified
This module can be run in parallel processing mode safely (All I/O must be done through the data stor...
Class to store variables with their name which were sent to the logging service.
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
Abstract base class for different kinds of events.