ATLAS Offline Software
Loading...
Searching...
No Matches
HistogramDef.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef AthenaMonitoringKernel_HistogramDef_h
6#define AthenaMonitoringKernel_HistogramDef_h
7
8#include <string>
9#include <vector>
10
11namespace Monitored {
15 struct HistogramDef {
16 std::vector<std::string> name;
17 std::string alias;
18 std::string type;
19 std::string path;
20 std::string title;
21 std::string opt;
22 std::string tld;
23 std::string weight;
24 std::string cutMask;
25
26 // RunMode enum created in case of future usage besides online and offline
27 enum class RunMode {
31 };
32 // RunPeriod enum indicates when to rebook offline monitoring histograms
39 std::string convention;
42
43 bool Sumw2{false};
45 bool kAddBinsDynamically{false};
46 bool kRebinAxes{false};
47 bool kCanRebin{false};
48 bool kVec{false};
49 bool kVecUO{false};
50 bool kCumulative{false};
51 int kLive{0};
52 bool kAlwaysCreate{false};
53
54 std::string xvar;
55 int xbins{0};
56 float xmin{0};
57 float xmax{0};
58 std::vector<std::string> xlabels;
59 std::vector<double> xarray;
60
61 std::string yvar;
62 int ybins{0};
63 float ymin{0};
64 float ymax{0};
65 std::vector<std::string> ylabels;
66 std::vector<double> yarray;
67
68 std::string zvar;
69 int zbins{0};
70 float zmin{0};
71 float zmax{0};
72 std::vector<std::string> zlabels;
73
74 std::string treeDef;
75 std::string merge;
76
77 bool ok{false};
78
85 static const HistogramDef parse(const std::string& histogramDefinition);
86 };
87} // namespace Monitored
88
89#endif /* AthenaMonitoringKernel_HistogramDef_h */
Generic monitoring tool for athena components.
Definition merge.py:1
the internal class used to keep parsed Filler properties
std::string weight
name of weight variable
bool kCanRebin
allow all axes to be rebinned
@ Invalid
monitoring mode not specified
@ Online
monitoring data online
@ Offline
monitoring data offline
int xbins
number of y bins
int kLBNHistoryDepth
length of lb history
bool kAlwaysCreate
always create this histogram, even if never filled
std::string type
class name
float zmax
z axis maximum
bool kVec
add content to each bin from each element of a vector
bool kCumulative
fill bin of monitored object's value, and every bin below it
int zbins
number of z bins
std::string tld
top level directory (below THistSvc stream)
bool kRebinAxes
increase the axis range without adding new bins
int ybins
number of y bins
float ymin
y axis minimum
float ymax
y axis maximum
std::vector< std::string > xlabels
labels for x axis
std::vector< double > xarray
array of x bin edges
RunPeriod runperiod
rebook period in offline monitoring
std::string cutMask
variable that defines whether event is accepted
std::string treeDef
defines output TTree of monitored quantities
std::string opt
options
static const HistogramDef parse(const std::string &histogramDefinition)
Parses histogram defintion from json data.
std::vector< std::string > zlabels
labels for z axis
bool ok
good declaration: parsing or copying successful
std::vector< std::string > name
names of monitored variables
int kLive
fill only the last N lumiblocks in y_vs_lb plots
std::string path
booking path
float xmin
x axis minimum
bool kAddBinsDynamically
add new bins outside the existing range
RunMode runmode
online or offline
@ Lumiblock
rebook histogram after every 1 lumiblock
@ Invalid
rebook period not specified
@ LowStat
rebook histogram after every 20 lumiblocks
@ Run
rebook histogram after each run
std::string convention
path naming convention (e.g.
std::vector< double > yarray
array of y bin edges
bool kVecUO
add content to each bin from vector, including overflow/underflow
std::string yvar
name of y variable
float xmax
x axis maximum
std::string zvar
name of z variable
std::string title
title of the histogram
std::string xvar
name of x variable
float zmin
z axis minimum
std::vector< std::string > ylabels
labels for y axis
std::string alias
unique alias for THistSvc
bool Sumw2
store sum of squares of weights