DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
triggeralgs
include
triggeralgs
SWIFT
TAMakerSWIFTAlgorithm.hpp
Go to the documentation of this file.
1
/*
2
* @File TAMakerSWIFTAlgorithm.hpp
3
*
4
* This is part of the DUNE DAQ Application Framework, copyright 2021.
5
* Licensing/copyright details are in the COPYING file that you should have
6
* received with this code.
7
*/
8
9
#ifndef TRIGGERALGS_SWIFT_TRIGGERACTIVITYMAKERSWIFT_HPP_
10
#define TRIGGERALGS_SWIFT_TRIGGERACTIVITYMAKERSWIFT_HPP_
11
12
#include "
triggeralgs/TriggerActivityFactory.hpp
"
13
#include <algorithm>
14
15
namespace
triggeralgs
{
16
17
class
TriggerActivityMakerSWIFT
:
public
TriggerActivityMaker
{
18
public
:
19
//void operator()(const TriggerPrimitive& input_tp, std::vector<TriggerActivity>& output_tas);
20
void
process
(
const
TriggerPrimitive
& input_tp, std::vector<TriggerActivity>& output_tas)
override
;
21
void
configure
(
const
nlohmann::json& config);
22
void
set_ta_attributes
();
23
void
flush
(
timestamp_t
until, std::vector<TriggerActivity>& output_tas)
override
;
24
bool
preprocess
(
const
TriggerPrimitive
& input_tp);
25
26
private
:
27
TriggerActivity
m_current_ta
;
28
29
// -- Algortihm configuration --
30
// static variables which get set once at run start & kept fixed afterwards
31
32
//Window settings
33
uint64_t
m_window_length
;
34
uint64_t
m_inspect_energy_threshold_sadc
;
35
uint64_t
m_accept_energy_threshold_sadc
;
36
37
//TP pre-processing
38
uint16_t
m_min_adc_peak
;
39
uint16_t
m_min_samples_over_threshold
;
40
41
//Clustering settings
42
float
m_cm_per_tick
;
43
float
m_wire_pitch
;
44
int
m_db_min_samples
;
45
float
m_db_eps
;
46
uint64_t
m_cluster_energy_cut_sadc
;
47
48
49
// Dynamic vaiables which get updated during running to keep track of alg state. These are non-configurable
50
51
//window state
52
bool
m_initialised
=
false
;
53
uint64_t
m_window_start
= 0;
54
uint64_t
m_window_energy_sadc
= 0;
55
uint16_t
m_tp_count
= 0;
56
57
//Additional SWIFT-specific functions and classes
58
enum class
WindowDecision
{
kReject
,
kInspect
,
kAccept
};
59
void
close_window
(std::vector<TriggerActivity>& output_tas);
60
void
reset_window_state
(uint64_t new_window_start);
61
uint64_t
extract_dominant_cluster_energy
(
const
std::vector<TriggerPrimitive>& tps,
float
eps,
int
min_samples);
62
};
63
64
}
// namespace triggeralgs
65
66
#endif
// TRIGGERALGS_SWIFT_TRIGGERACTIVITYMAKERSWIFT_HPP_
TriggerActivityFactory.hpp
triggeralgs::TriggerActivityMakerSWIFT
Definition
TAMakerSWIFTAlgorithm.hpp:17
triggeralgs::TriggerActivityMakerSWIFT::m_cm_per_tick
float m_cm_per_tick
Definition
TAMakerSWIFTAlgorithm.hpp:42
triggeralgs::TriggerActivityMakerSWIFT::m_cluster_energy_cut_sadc
uint64_t m_cluster_energy_cut_sadc
Definition
TAMakerSWIFTAlgorithm.hpp:46
triggeralgs::TriggerActivityMakerSWIFT::m_current_ta
TriggerActivity m_current_ta
Definition
TAMakerSWIFTAlgorithm.hpp:27
triggeralgs::TriggerActivityMakerSWIFT::preprocess
bool preprocess(const TriggerPrimitive &input_tp)
TP pre-processing/filtering.
Definition
TAMakerSWIFTAlgorithm.cpp:36
triggeralgs::TriggerActivityMakerSWIFT::set_ta_attributes
void set_ta_attributes()
Definition
TAMakerSWIFTAlgorithm.cpp:203
triggeralgs::TriggerActivityMakerSWIFT::extract_dominant_cluster_energy
uint64_t extract_dominant_cluster_energy(const std::vector< TriggerPrimitive > &tps, float eps, int min_samples)
Definition
TAMakerSWIFTAlgorithm.cpp:121
triggeralgs::TriggerActivityMakerSWIFT::reset_window_state
void reset_window_state(uint64_t new_window_start)
Definition
TAMakerSWIFTAlgorithm.cpp:44
triggeralgs::TriggerActivityMakerSWIFT::configure
void configure(const nlohmann::json &config)
Definition
TAMakerSWIFTAlgorithm.cpp:13
triggeralgs::TriggerActivityMakerSWIFT::m_inspect_energy_threshold_sadc
uint64_t m_inspect_energy_threshold_sadc
Definition
TAMakerSWIFTAlgorithm.hpp:34
triggeralgs::TriggerActivityMakerSWIFT::m_db_eps
float m_db_eps
Definition
TAMakerSWIFTAlgorithm.hpp:45
triggeralgs::TriggerActivityMakerSWIFT::m_window_start
uint64_t m_window_start
Definition
TAMakerSWIFTAlgorithm.hpp:53
triggeralgs::TriggerActivityMakerSWIFT::m_window_energy_sadc
uint64_t m_window_energy_sadc
Definition
TAMakerSWIFTAlgorithm.hpp:54
triggeralgs::TriggerActivityMakerSWIFT::m_db_min_samples
int m_db_min_samples
Definition
TAMakerSWIFTAlgorithm.hpp:44
triggeralgs::TriggerActivityMakerSWIFT::m_min_adc_peak
uint16_t m_min_adc_peak
Definition
TAMakerSWIFTAlgorithm.hpp:38
triggeralgs::TriggerActivityMakerSWIFT::close_window
void close_window(std::vector< TriggerActivity > &output_tas)
Definition
TAMakerSWIFTAlgorithm.cpp:95
triggeralgs::TriggerActivityMakerSWIFT::m_min_samples_over_threshold
uint16_t m_min_samples_over_threshold
Definition
TAMakerSWIFTAlgorithm.hpp:39
triggeralgs::TriggerActivityMakerSWIFT::m_window_length
uint64_t m_window_length
Definition
TAMakerSWIFTAlgorithm.hpp:33
triggeralgs::TriggerActivityMakerSWIFT::flush
void flush(timestamp_t until, std::vector< TriggerActivity > &output_tas) override
Definition
TAMakerSWIFTAlgorithm.cpp:238
triggeralgs::TriggerActivityMakerSWIFT::m_accept_energy_threshold_sadc
uint64_t m_accept_energy_threshold_sadc
Definition
TAMakerSWIFTAlgorithm.hpp:35
triggeralgs::TriggerActivityMakerSWIFT::process
void process(const TriggerPrimitive &input_tp, std::vector< TriggerActivity > &output_tas) override
TP processing function that creates & fills TAs.
Definition
TAMakerSWIFTAlgorithm.cpp:54
triggeralgs::TriggerActivityMakerSWIFT::WindowDecision
WindowDecision
Definition
TAMakerSWIFTAlgorithm.hpp:58
triggeralgs::TriggerActivityMakerSWIFT::WindowDecision::kAccept
@ kAccept
Definition
TAMakerSWIFTAlgorithm.hpp:58
triggeralgs::TriggerActivityMakerSWIFT::WindowDecision::kReject
@ kReject
Definition
TAMakerSWIFTAlgorithm.hpp:58
triggeralgs::TriggerActivityMakerSWIFT::WindowDecision::kInspect
@ kInspect
Definition
TAMakerSWIFTAlgorithm.hpp:58
triggeralgs::TriggerActivityMakerSWIFT::m_initialised
bool m_initialised
Definition
TAMakerSWIFTAlgorithm.hpp:52
triggeralgs::TriggerActivityMakerSWIFT::m_wire_pitch
float m_wire_pitch
Definition
TAMakerSWIFTAlgorithm.hpp:43
triggeralgs::TriggerActivityMakerSWIFT::m_tp_count
uint16_t m_tp_count
Definition
TAMakerSWIFTAlgorithm.hpp:55
triggeralgs::TriggerActivityMaker
Definition
TriggerActivityMaker.hpp:29
triggeralgs
Definition
AbstractFactory.hpp:18
triggeralgs::timestamp_t
dunedaq::trgdataformats::timestamp_t timestamp_t
Definition
Types.hpp:16
triggeralgs::TriggerPrimitive
dunedaq::trgdataformats::TriggerPrimitive TriggerPrimitive
Definition
TriggerPrimitive.hpp:22
triggeralgs::TriggerActivity
Definition
TriggerActivity.hpp:20
Generated on
for DUNE-DAQ by
1.17.0