12#ifndef ALICEO2_EMCAL_LZEROELECTRONICS_H_
13#define ALICEO2_EMCAL_LZEROELECTRONICS_H_
16#include <unordered_map>
30#include <fairlogger/Logger.h>
82 void setMaskedFastOrs(std::vector<int>
const& maskedfastors) { mMaskedFastOrs = maskedfastors; }
109 void fill(
const std::deque<o2::emcal::DigitTimebinTRU>& digitlist,
const o2::InteractionRecord record, std::vector<TRUElectronics>& patchesFromAllTRUs);
124 LOG(
debug) <<
"DIG TRU getTriggerInputs in LZEROElectronics: size of mTriggers = " << mTriggers.size();
131 return mTriggersPatch;
135 double mThreshold = 0;
138 std::vector<EMCALTriggerInputs> mTriggers;
139 std::vector<EMCALTriggerInputsPatch> mTriggersPatch;
140 std::vector<int> mMaskedFastOrs;
141 bool mSimulateNoiseDigits =
true;
EMCAL DigitTimebin for the DigitsWriteoutBuffer and DigitsWriteoutBufferTRU.
Definition of a container to keep Monte Carlo truth external to simulation objects.
EMCAL TRUElectronics for the LZEROElectronics.
EMCAL digit implementation.
EMCAL geometry definition.
Container class for Digits, MC lebels, and trigger records.
void fill(const std::deque< o2::emcal::DigitTimebinTRU > &digitlist, const o2::InteractionRecord record, std::vector< TRUElectronics > &patchesFromAllTRUs)
bool peakFinderOnPatch(TRUElectronics &p, unsigned int patchID)
const std::vector< int > & getFiredPatches(TRUElectronics const &p) const
LZEROElectronics()=default
Default constructor.
void addNoiseDigits(Digit &d1)
Add noise to this digit.
bool peakFinderOnAllPatches(TRUElectronics &p)
~LZEROElectronics()=default
Destructor.
void setMaskedFastOrs(std::vector< int > const &maskedfastors)
Sets the masked fastOrs from the CCDB in the LZERO.
void setGeometry(o2::emcal::Geometry *gm)
Sets geometry for trigger mapping.
const double getLZEROThreshold() const
void printMaskedFastOrs()
void init()
Initialize the L0 electronics.
const std::vector< EMCALTriggerInputsPatch > & getTriggerInputsPatches() const
Getter for the trigger inputs per patches found by the LZERO algorithm.
void updatePatchesADC(TRUElectronics &p)
const std::vector< EMCALTriggerInputs > & getTriggerInputs() const
Getter for the trigger inputs found by the LZERO algorithm.
void clear()
clear the L0 electronics
void setThreshold(double threshold)
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
TRUElectronics creator, based on the TRUElectronics.
std::vector< int > mFiredPatches
! mask of the patches above threshold
LOG(info)<< "Compressed in "<< sw.CpuTime()<< " s"