R3BROOT
R3B analysis software
Loading...
Searching...
No Matches
ParResultReader.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <cstdint>
4
#include <fmt/base.h>
5
#include <fmt/core.h>
6
#include <string>
7
#include <string_view>
8
#include <unordered_map>
9
10
namespace
R3B::Millepede
11
{
12
struct
ParResultEntry
13
{
14
int
par_num
= 0;
15
float
value
= 0.F;
16
float
pre_sigma
= 0.F;
17
float
value_diff
= 0.F;
18
float
error
= 0.F;
19
};
20
21
struct
JsonParResultEntry
22
{
23
int
label
= 0;
24
int
entry
= 0;
25
float
correction
= 0.;
26
float
error
= 0.;
27
};
28
29
class
ResultReader
30
{
31
public
:
32
enum class
Mode
: uint8_t
33
{
34
res
,
35
json
36
};
37
ResultReader
() =
default
;
38
void
set_filename
(std::string_view filename) {
filename_
= filename; }
39
void
set_mode
(
Mode
mode) {
mode_
= mode; }
40
41
void
read
();
42
void
print
();
43
[[nodiscard]]
auto
get_pars
() const -> const auto& {
return
par_results_
; }
44
45
private
:
46
Mode
mode_
=
Mode::res
;
47
std::string
filename_
;
48
void
read_pede_par_file
();
49
void
read_json_file
();
50
std::unordered_map<int, ParResultEntry>
par_results_
;
51
};
52
53
}
// namespace R3B::Millepede
54
55
template
<>
56
class
fmt::formatter<
R3B
::Millepede::ParResultEntry>
57
{
58
public
:
59
static
constexpr
auto
parse
(format_parse_context& ctx) {
return
ctx.end(); }
60
template
<
typename
FmtContent>
61
constexpr
auto
format
(
const
R3B::Millepede::ParResultEntry
& entry, FmtContent& ctn)
const
62
{
63
return
fmt::format_to(ctn.out(),
64
"par id: {}, value: {}, sigma: {}, value_diff: {}, error: {}"
,
65
entry.
par_num
,
66
entry.
value
,
67
entry.
pre_sigma
,
68
entry.
value_diff
,
69
entry.
error
);
70
}
71
};
R3B::Millepede::ResultReader::filename_
std::string filename_
Definition
ParResultReader.h:47
R3B::Millepede::ResultReader::par_results_
std::unordered_map< int, ParResultEntry > par_results_
Definition
ParResultReader.h:50
R3B::Millepede::ResultReader::mode_
Mode mode_
Definition
ParResultReader.h:46
R3B::Millepede::ResultReader::read
void read()
Definition
ParResultReader.cxx:74
R3B::Millepede::ResultReader::print
void print()
Definition
ParResultReader.cxx:136
R3B::Millepede::ResultReader::get_pars
auto get_pars() const -> const auto &
Definition
ParResultReader.h:43
R3B::Millepede::ResultReader::read_json_file
void read_json_file()
Definition
ParResultReader.cxx:111
R3B::Millepede::ResultReader::read_pede_par_file
void read_pede_par_file()
Definition
ParResultReader.cxx:88
R3B::Millepede::ResultReader::ResultReader
ResultReader()=default
R3B::Millepede::ResultReader::Mode
Mode
Definition
ParResultReader.h:33
R3B::Millepede::ResultReader::Mode::json
@ json
Definition
ParResultReader.h:35
R3B::Millepede::ResultReader::Mode::res
@ res
Definition
ParResultReader.h:34
R3B::Millepede::ResultReader::set_mode
void set_mode(Mode mode)
Definition
ParResultReader.h:39
R3B::Millepede::ResultReader::set_filename
void set_filename(std::string_view filename)
Definition
ParResultReader.h:38
fmt::formatter< R3B::Millepede::ParResultEntry >::format
constexpr auto format(const R3B::Millepede::ParResultEntry &entry, FmtContent &ctn) const
Definition
ParResultReader.h:61
fmt::formatter< R3B::Millepede::ParResultEntry >::parse
static constexpr auto parse(format_parse_context &ctx)
Definition
ParResultReader.h:59
R3B::Millepede
Definition
ParResultReader.cxx:72
R3B
Definition
R3BNeulandAnalysisApp.cxx:44
R3B::Millepede::JsonParResultEntry
Definition
ParResultReader.h:22
R3B::Millepede::JsonParResultEntry::entry
int entry
Definition
ParResultReader.h:24
R3B::Millepede::JsonParResultEntry::label
int label
Definition
ParResultReader.h:23
R3B::Millepede::JsonParResultEntry::error
float error
Definition
ParResultReader.h:26
R3B::Millepede::JsonParResultEntry::correction
float correction
Definition
ParResultReader.h:25
R3B::Millepede::ParResultEntry
Definition
ParResultReader.h:13
R3B::Millepede::ParResultEntry::error
float error
Definition
ParResultReader.h:18
R3B::Millepede::ParResultEntry::value
float value
Definition
ParResultReader.h:15
R3B::Millepede::ParResultEntry::value_diff
float value_diff
Definition
ParResultReader.h:17
R3B::Millepede::ParResultEntry::par_num
int par_num
Definition
ParResultReader.h:14
R3B::Millepede::ParResultEntry::pre_sigma
float pre_sigma
Definition
ParResultReader.h:16
neuland
calibration
mille
ParResultReader.h
Generated by
1.16.1