Iguana
1.2.1
Implementation Guardian of Analysis Algorithms
Toggle main menu visibility
Loading...
Searching...
No Matches
Validator.h
1
#pragma once
2
3
#include <mutex>
4
#include <optional>
5
6
#include <hipo4/bank.h>
7
8
#include "iguana/algorithms/Algorithm.h"
9
#include "iguana/algorithms/AlgorithmSequence.h"
10
11
#ifdef IGUANA_ROOT_FOUND
12
#include <TStyle.h>
13
#endif
14
15
namespace
iguana {
16
21
class
Validator
:
public
Algorithm
22
{
23
24
public
:
25
27
Validator
(std::string_view name =
"validator"
)
28
:
Algorithm
(name)
29
, m_output_dir(
""
)
30
{
31
#ifdef IGUANA_ROOT_FOUND
32
// set styles for all validators' ROOT plots
33
gStyle->SetOptStat(0);
34
gStyle->SetPalette(55);
35
#endif
36
}
37
virtual
~Validator
() {}
38
41
void
SetOutputDirectory
(std::string_view output_dir);
42
45
std::optional<std::string>
GetOutputDirectory
();
46
47
protected
:
48
50
std::unique_ptr<AlgorithmSequence>
m_algo_seq
;
51
53
mutable
std::mutex
m_mutex
;
54
55
private
:
56
57
// hooks are no-ops, since subclasses will implement
58
virtual
void
ConfigHook() {}
59
virtual
void
StartHook(hipo::banklist& banks) {}
60
virtual
bool
RunHook(hipo::banklist& banks)
const
{
return
true
; }
61
virtual
void
StopHook() {}
62
64
std::string m_output_dir;
65
};
66
}
iguana::Algorithm::Algorithm
Algorithm(std::string_view name)
Definition
Algorithm.h:74
iguana::Validator
Base class for all algorithm validators to inherit from.
Definition
Validator.h:22
iguana::Validator::SetOutputDirectory
void SetOutputDirectory(std::string_view output_dir)
iguana::Validator::Validator
Validator(std::string_view name="validator")
Definition
Validator.h:27
iguana::Validator::m_mutex
std::mutex m_mutex
Mutex for locking procedures such as histogram filling in Validator::Run.
Definition
Validator.h:53
iguana::Validator::GetOutputDirectory
std::optional< std::string > GetOutputDirectory()
iguana::Validator::m_algo_seq
std::unique_ptr< AlgorithmSequence > m_algo_seq
An iguana::AlgorithmSequence to be used for this validator.
Definition
Validator.h:50
iguana_v1.2.1
src
iguana
algorithms
Validator.h
Generated by
1.18.0