DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
triggeralgs
include
triggeralgs
HorizontalMuon
TAMakerHorizontalMuonAlgorithm.hpp
Go to the documentation of this file.
1
8
9
#ifndef TRIGGERALGS_HORIZONTALMUON_TRIGGERACTIVITYMAKERHORIZONTALMUON_HPP_
10
#define TRIGGERALGS_HORIZONTALMUON_TRIGGERACTIVITYMAKERHORIZONTALMUON_HPP_
11
12
#include "
triggeralgs/TPWindow.hpp
"
13
#include "
triggeralgs/TriggerActivityFactory.hpp
"
14
#include <fstream>
15
#include <vector>
16
17
namespace
triggeralgs
{
18
class
TAMakerHorizontalMuonAlgorithm
:
public
TriggerActivityMaker
19
{
20
public
:
21
void
process
(
const
TriggerPrimitive
& input_tp, std::vector<TriggerActivity>& output_ta);
22
void
configure
(
const
nlohmann::json& config);
23
24
private
:
25
TriggerActivity
construct_ta
()
const
;
26
uint16_t
check_adjacency
()
const
;
// Returns longest string of adjacent collection hits in window
27
28
TPWindow
m_current_window
;
// Holds collection hits only
29
int
check_sot
()
const
;
30
31
// Configurable parameters.
32
bool
m_trigger_on_adc
=
false
;
33
bool
m_trigger_on_n_channels
=
false
;
34
bool
m_trigger_on_adjacency
=
true
;
// Default use of the horizontal muon triggering
35
bool
m_trigger_on_sot
=
false
;
36
uint16_t
m_sot_threshold
= 5000;
// Time over threshold - threshold to exceed.
37
bool
m_print_tp_info
=
false
;
// Prints out some information on every TP received
38
uint16_t
m_adjacency_threshold
= 15;
// Default is 15 wire track for testing
39
int
m_max_adjacency
= 0;
// The maximum adjacency seen so far in any window
40
uint32_t
m_adc_threshold
= 3000000;
// Not currently triggering on this
41
uint16_t
m_n_channels_threshold
= 400;
// Set this to ~80 for frames.bin, ~150-300 for tps_link_11.txt
42
uint16_t
m_adj_tolerance
= 3;
// Adjacency tolerance - default is 3 from coldbox testing.
43
int
index
= 0;
44
uint16_t
ta_adc
= 0;
45
uint16_t
ta_channels
= 0;
46
timestamp_t
m_window_length
= 8000;
// Shouldn't exceed the max drift which is ~9375 62.5 MHz ticks for VDCB
47
48
// For debugging and performance study purposes.
49
void
add_window_to_record
(
TPWindow
window);
50
void
dump_window_record
();
51
void
dump_tp
(
TriggerPrimitive
const
& input_tp);
52
std::vector<TPWindow>
m_window_record
;
53
};
54
}
// namespace triggeralgs
55
#endif
// TRIGGERALGS_HORIZONTALMUON_TRIGGERACTIVITYMAKERHORIZONTALMUON_HPP_
TPWindow.hpp
TriggerActivityFactory.hpp
triggeralgs::TAMakerHorizontalMuonAlgorithm
Definition
TAMakerHorizontalMuonAlgorithm.hpp:19
triggeralgs::TAMakerHorizontalMuonAlgorithm::m_window_length
timestamp_t m_window_length
Definition
TAMakerHorizontalMuonAlgorithm.hpp:46
triggeralgs::TAMakerHorizontalMuonAlgorithm::check_adjacency
uint16_t check_adjacency() const
Definition
TAMakerHorizontalMuonAlgorithm.cpp:194
triggeralgs::TAMakerHorizontalMuonAlgorithm::dump_tp
void dump_tp(TriggerPrimitive const &input_tp)
Definition
TAMakerHorizontalMuonAlgorithm.cpp:306
triggeralgs::TAMakerHorizontalMuonAlgorithm::m_adc_threshold
uint32_t m_adc_threshold
Definition
TAMakerHorizontalMuonAlgorithm.hpp:40
triggeralgs::TAMakerHorizontalMuonAlgorithm::index
int index
Definition
TAMakerHorizontalMuonAlgorithm.hpp:43
triggeralgs::TAMakerHorizontalMuonAlgorithm::m_window_record
std::vector< TPWindow > m_window_record
Definition
TAMakerHorizontalMuonAlgorithm.hpp:52
triggeralgs::TAMakerHorizontalMuonAlgorithm::configure
void configure(const nlohmann::json &config)
Definition
TAMakerHorizontalMuonAlgorithm.cpp:125
triggeralgs::TAMakerHorizontalMuonAlgorithm::m_max_adjacency
int m_max_adjacency
Definition
TAMakerHorizontalMuonAlgorithm.hpp:39
triggeralgs::TAMakerHorizontalMuonAlgorithm::m_adjacency_threshold
uint16_t m_adjacency_threshold
Definition
TAMakerHorizontalMuonAlgorithm.hpp:38
triggeralgs::TAMakerHorizontalMuonAlgorithm::m_adj_tolerance
uint16_t m_adj_tolerance
Definition
TAMakerHorizontalMuonAlgorithm.hpp:42
triggeralgs::TAMakerHorizontalMuonAlgorithm::m_trigger_on_sot
bool m_trigger_on_sot
Definition
TAMakerHorizontalMuonAlgorithm.hpp:35
triggeralgs::TAMakerHorizontalMuonAlgorithm::ta_adc
uint16_t ta_adc
Definition
TAMakerHorizontalMuonAlgorithm.hpp:44
triggeralgs::TAMakerHorizontalMuonAlgorithm::m_trigger_on_adjacency
bool m_trigger_on_adjacency
Definition
TAMakerHorizontalMuonAlgorithm.hpp:34
triggeralgs::TAMakerHorizontalMuonAlgorithm::dump_window_record
void dump_window_record()
Definition
TAMakerHorizontalMuonAlgorithm.cpp:280
triggeralgs::TAMakerHorizontalMuonAlgorithm::m_n_channels_threshold
uint16_t m_n_channels_threshold
Definition
TAMakerHorizontalMuonAlgorithm.hpp:41
triggeralgs::TAMakerHorizontalMuonAlgorithm::process
void process(const TriggerPrimitive &input_tp, std::vector< TriggerActivity > &output_ta)
TP processing function that creates & fills TAs.
Definition
TAMakerHorizontalMuonAlgorithm.cpp:22
triggeralgs::TAMakerHorizontalMuonAlgorithm::m_current_window
TPWindow m_current_window
Definition
TAMakerHorizontalMuonAlgorithm.hpp:28
triggeralgs::TAMakerHorizontalMuonAlgorithm::add_window_to_record
void add_window_to_record(TPWindow window)
Definition
TAMakerHorizontalMuonAlgorithm.cpp:272
triggeralgs::TAMakerHorizontalMuonAlgorithm::m_print_tp_info
bool m_print_tp_info
Definition
TAMakerHorizontalMuonAlgorithm.hpp:37
triggeralgs::TAMakerHorizontalMuonAlgorithm::ta_channels
uint16_t ta_channels
Definition
TAMakerHorizontalMuonAlgorithm.hpp:45
triggeralgs::TAMakerHorizontalMuonAlgorithm::construct_ta
TriggerActivity construct_ta() const
Definition
TAMakerHorizontalMuonAlgorithm.cpp:157
triggeralgs::TAMakerHorizontalMuonAlgorithm::m_sot_threshold
uint16_t m_sot_threshold
Definition
TAMakerHorizontalMuonAlgorithm.hpp:36
triggeralgs::TAMakerHorizontalMuonAlgorithm::m_trigger_on_n_channels
bool m_trigger_on_n_channels
Definition
TAMakerHorizontalMuonAlgorithm.hpp:33
triggeralgs::TAMakerHorizontalMuonAlgorithm::m_trigger_on_adc
bool m_trigger_on_adc
Definition
TAMakerHorizontalMuonAlgorithm.hpp:32
triggeralgs::TAMakerHorizontalMuonAlgorithm::check_sot
int check_sot() const
Definition
TAMakerHorizontalMuonAlgorithm.cpp:325
triggeralgs::TPWindow
Definition
TPWindow.hpp:21
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