BmnRoot
26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
BmnHistStat.h
Go to the documentation of this file.
1
/*
2
* Author: Andrei Driuk
3
*
4
* Created on August 14, 2022
5
*/
6
#ifndef BMNHISTStat_H
7
#define BMNHISTStat_H 1
8
// STL
9
#include <vector>
10
// prometheus-cpp
11
#ifdef HAVE_PROMCPP
12
#include <prometheus/counter.h>
13
#include <prometheus/exposer.h>
14
#include <prometheus/registry.h>
15
#endif
16
// ROOT
17
#include <
TH1.h
>
18
// BmnRoot
19
#include "BmnHist.h"
20
#include "BmnMath.h"
21
22
using
std::string;
23
using
std::vector;
24
// using namespace prometheus;
25
26
class
BmnHistStat
:
public
BmnHist
27
{
28
public
:
29
BmnHistStat
(
TString
title,
TString
path =
""
);
30
virtual
~BmnHistStat
();
31
void
Reset
();
32
void
Register
(
THttpServer
* serv);
33
void
SetDir
(
TFile
* outFile = NULL,
TTree
* recoTree = NULL);
34
void
DrawBoth
();
35
void
FillFromDigi
(
DigiArrays
* fDigiArrays);
36
void
ClearRefRun
();
37
BmnStatus
SetRefRun
(
Int_t
id
);
38
39
private
:
40
void
initHistDet
();
41
void
initHistFD
();
42
void
initHistBD
();
43
void
initHistCorr
();
44
Int_t
getPositionInArray
(vector<TClonesArray*>* trigDigits,
TString
name);
45
46
// BmnStatus SendMetrics();
47
void
ResetTimelineCounters
();
48
49
void
ResetRegistry
();
50
void
CreateMetrics
();
51
void
DestroyMetrics
();
52
BmnStatus
UpdateMetrics
();
53
54
vector<TString>
NamesStatDet
;
55
vector<TString>
NamesStatFD
;
56
vector<TString>
NamesStatBD
;
57
vector<TString>
NamesStatCorr
;
58
59
const
int32_t
Max_ToF_Cnt
= 301;
60
const
int32_t
Max_GEM_Cnt
= 5001;
61
const
int32_t
Max_FSD_Cnt
= 5001;
62
const
int32_t
Max_CSC_Cnt
= 2001;
63
const
int32_t
Max_FHC_Cnt
= 1001;
64
65
const
int32_t
Max_BD_Cnt
= 51;
66
67
const
int32_t
Max_FD_Sig
= 8000;
68
69
TH1I
*
histGemStat
;
70
TH1I
*
histSiliconStat
;
71
TH1I
*
histTof400Stat
;
72
TH1I
*
histTof700Stat
;
73
TH1I
*
histCscStat
;
74
TH1I
*
histFHCalStat
;
75
//===FD vs Det======
76
TH2F
*
histFDGemStat
;
77
TH2F
*
histFDSiliconStat
;
78
TH2F
*
histFDTof400Stat
;
79
TH2F
*
histFDTof700Stat
;
80
TH2F
*
histFDCscStat
;
81
TH2F
*
histFDFHCalStat
;
82
//===BD vs Det======
83
TH2F
*
histBDGemStat
;
84
TH2F
*
histBDSiliconStat
;
85
TH2F
*
histBDTof400Stat
;
86
TH2F
*
histBDTof700Stat
;
87
TH2F
*
histBDCscStat
;
88
TH2F
*
histBDFHCalStat
;
89
90
//===Correlations=====
91
TH2F
*
histGemSilicon
;
92
TH2F
*
histGemTof400
;
93
TH2F
*
histGemTof700
;
94
TH2F
*
histGemCsc
;
95
TH2F
*
histGemFHCal
;
96
TH2F
*
histCscFHCal
;
97
98
TCanvas
*
canStatDet
;
99
TCanvas
*
canStatFD
;
100
TCanvas
*
canStatBD
;
101
TCanvas
*
canStatCorr
;
102
vector<PadInfo*>
canStatDetPads
;
103
vector<PadInfo*>
canStatFDPads
;
104
vector<PadInfo*>
canStatBDPads
;
105
vector<PadInfo*>
canStatCorrPads
;
106
107
bool
varsInitDone
;
108
int32_t
fdPosition
;
109
int32_t
bdPosition
;
110
int32_t
bc1Position
;
111
112
/** Spill stat for DB */
113
const
double
Min_NBC1
= 100000;
114
uint16_t
bit_filter
;
115
116
double
sum_fsd
;
117
double
sum_tof400
;
118
double
sum_tof700
;
119
double
sum_csc
;
120
double
sum_fhcal
;
121
double
sum_gem
;
122
double
sum_nbc1
;
123
124
double
nbc1
;
125
double
fsd2gem
;
126
double
tof4002gem
;
127
double
tof7002gem
;
128
double
csc2gem
;
129
double
fhcal2gem
;
130
double
gem2nbc1
;
131
uint64_t
nevents
;
132
SysPoint
last_ev_time
;
133
SysPoint
last_ev_time_show
;
134
135
BmnEventType
ev_type
;
136
BmnEventType
ev_type_prev
;
137
138
#ifdef HAVE_PROMCPP
139
unique_ptr<prometheus::Exposer>
exposer
;
140
shared_ptr<prometheus::Registry>
registry
;
141
142
prometheus::Family<prometheus::Gauge>*
gauge_family
;
143
prometheus::Counter*
counter_family
;
144
unordered_map<string, prometheus::Gauge*>
gauges_by_name
;
145
bool
registry_init_done
;
146
bool
metrics_available
;
147
#endif
148
149
// string pushgateway;
150
151
ClassDef
(
BmnHistStat
, 1)
152
};
153
154
#endif
/* BMNMONHISTS_H */
Int_t
int Int_t
ClassDef
#define ClassDef(name, id)
TH1.h
BmnStatus
BmnStatus
Define status code.
Definition
BmnEnums.h:93
BmnEventType
BmnEventType
Define type of event.
Definition
BmnEnums.h:143
SysPoint
std::chrono::time_point< SysClock > SysPoint
Definition
BmnFunctionSet.h:18
BmnHistStat
Definition
BmnHistStat.h:27
BmnHistStat::Max_FHC_Cnt
const int32_t Max_FHC_Cnt
Definition
BmnHistStat.h:63
BmnHistStat::initHistDet
void initHistDet()
BmnHistStat::histBDTof700Stat
TH2F * histBDTof700Stat
Definition
BmnHistStat.h:86
BmnHistStat::NamesStatFD
vector< TString > NamesStatFD
Definition
BmnHistStat.h:55
BmnHistStat::varsInitDone
bool varsInitDone
Definition
BmnHistStat.h:107
BmnHistStat::SetRefRun
BmnStatus SetRefRun(Int_t id)
BmnHistStat::histFDSiliconStat
TH2F * histFDSiliconStat
Definition
BmnHistStat.h:77
BmnHistStat::counter_family
prometheus::Counter * counter_family
Definition
BmnHistStat.h:143
BmnHistStat::canStatDet
TCanvas * canStatDet
Definition
BmnHistStat.h:98
BmnHistStat::FillFromDigi
void FillFromDigi(DigiArrays *fDigiArrays)
BmnHistStat::last_ev_time
SysPoint last_ev_time
Definition
BmnHistStat.h:132
BmnHistStat::tof4002gem
double tof4002gem
Definition
BmnHistStat.h:126
BmnHistStat::gem2nbc1
double gem2nbc1
Definition
BmnHistStat.h:130
BmnHistStat::last_ev_time_show
SysPoint last_ev_time_show
Definition
BmnHistStat.h:133
BmnHistStat::histSiliconStat
TH1I * histSiliconStat
Definition
BmnHistStat.h:70
BmnHistStat::fdPosition
int32_t fdPosition
Definition
BmnHistStat.h:108
BmnHistStat::bit_filter
uint16_t bit_filter
Definition
BmnHistStat.h:114
BmnHistStat::tof7002gem
double tof7002gem
Definition
BmnHistStat.h:127
BmnHistStat::histTof700Stat
TH1I * histTof700Stat
Definition
BmnHistStat.h:72
BmnHistStat::canStatCorrPads
vector< PadInfo * > canStatCorrPads
Definition
BmnHistStat.h:105
BmnHistStat::histFHCalStat
TH1I * histFHCalStat
Definition
BmnHistStat.h:74
BmnHistStat::canStatFDPads
vector< PadInfo * > canStatFDPads
Definition
BmnHistStat.h:103
BmnHistStat::Min_NBC1
const double Min_NBC1
Spill stat for DB.
Definition
BmnHistStat.h:113
BmnHistStat::initHistCorr
void initHistCorr()
BmnHistStat::Max_BD_Cnt
const int32_t Max_BD_Cnt
Definition
BmnHistStat.h:65
BmnHistStat::SetDir
void SetDir(TFile *outFile=NULL, TTree *recoTree=NULL)
BmnHistStat::Max_CSC_Cnt
const int32_t Max_CSC_Cnt
Definition
BmnHistStat.h:62
BmnHistStat::nbc1
double nbc1
Definition
BmnHistStat.h:124
BmnHistStat::gauges_by_name
unordered_map< string, prometheus::Gauge * > gauges_by_name
Definition
BmnHistStat.h:144
BmnHistStat::Max_FD_Sig
const int32_t Max_FD_Sig
Definition
BmnHistStat.h:67
BmnHistStat::fhcal2gem
double fhcal2gem
Definition
BmnHistStat.h:129
BmnHistStat::DestroyMetrics
void DestroyMetrics()
BmnHistStat::histBDTof400Stat
TH2F * histBDTof400Stat
Definition
BmnHistStat.h:85
BmnHistStat::DrawBoth
void DrawBoth()
BmnHistStat::ClearRefRun
void ClearRefRun()
BmnHistStat::histFDTof700Stat
TH2F * histFDTof700Stat
Definition
BmnHistStat.h:79
BmnHistStat::sum_tof400
double sum_tof400
Definition
BmnHistStat.h:117
BmnHistStat::~BmnHistStat
virtual ~BmnHistStat()
BmnHistStat::histGemTof700
TH2F * histGemTof700
Definition
BmnHistStat.h:93
BmnHistStat::histBDGemStat
TH2F * histBDGemStat
Definition
BmnHistStat.h:83
BmnHistStat::canStatDetPads
vector< PadInfo * > canStatDetPads
Definition
BmnHistStat.h:102
BmnHistStat::histGemStat
TH1I * histGemStat
Definition
BmnHistStat.h:69
BmnHistStat::histBDCscStat
TH2F * histBDCscStat
Definition
BmnHistStat.h:87
BmnHistStat::initHistFD
void initHistFD()
BmnHistStat::getPositionInArray
Int_t getPositionInArray(vector< TClonesArray * > *trigDigits, TString name)
BmnHistStat::canStatCorr
TCanvas * canStatCorr
Definition
BmnHistStat.h:101
BmnHistStat::exposer
unique_ptr< prometheus::Exposer > exposer
Definition
BmnHistStat.h:139
BmnHistStat::sum_nbc1
double sum_nbc1
Definition
BmnHistStat.h:122
BmnHistStat::Max_ToF_Cnt
const int32_t Max_ToF_Cnt
Definition
BmnHistStat.h:59
BmnHistStat::histGemTof400
TH2F * histGemTof400
Definition
BmnHistStat.h:92
BmnHistStat::histFDGemStat
TH2F * histFDGemStat
Definition
BmnHistStat.h:76
BmnHistStat::histCscStat
TH1I * histCscStat
Definition
BmnHistStat.h:73
BmnHistStat::UpdateMetrics
BmnStatus UpdateMetrics()
BmnHistStat::Reset
void Reset()
BmnHistStat::ResetTimelineCounters
void ResetTimelineCounters()
BmnHistStat::NamesStatBD
vector< TString > NamesStatBD
Definition
BmnHistStat.h:56
BmnHistStat::canStatBDPads
vector< PadInfo * > canStatBDPads
Definition
BmnHistStat.h:104
BmnHistStat::fsd2gem
double fsd2gem
Definition
BmnHistStat.h:125
BmnHistStat::gauge_family
prometheus::Family< prometheus::Gauge > * gauge_family
Definition
BmnHistStat.h:142
BmnHistStat::ev_type
BmnEventType ev_type
Definition
BmnHistStat.h:135
BmnHistStat::histGemFHCal
TH2F * histGemFHCal
Definition
BmnHistStat.h:95
BmnHistStat::histTof400Stat
TH1I * histTof400Stat
Definition
BmnHistStat.h:71
BmnHistStat::sum_fhcal
double sum_fhcal
Definition
BmnHistStat.h:120
BmnHistStat::NamesStatCorr
vector< TString > NamesStatCorr
Definition
BmnHistStat.h:57
BmnHistStat::BmnHistStat
BmnHistStat(TString title, TString path="")
BmnHistStat::histGemCsc
TH2F * histGemCsc
Definition
BmnHistStat.h:94
BmnHistStat::canStatFD
TCanvas * canStatFD
Definition
BmnHistStat.h:99
BmnHistStat::bc1Position
int32_t bc1Position
Definition
BmnHistStat.h:110
BmnHistStat::Max_GEM_Cnt
const int32_t Max_GEM_Cnt
Definition
BmnHistStat.h:60
BmnHistStat::bdPosition
int32_t bdPosition
Definition
BmnHistStat.h:109
BmnHistStat::sum_tof700
double sum_tof700
Definition
BmnHistStat.h:118
BmnHistStat::Register
void Register(THttpServer *serv)
BmnHistStat::registry
shared_ptr< prometheus::Registry > registry
Definition
BmnHistStat.h:140
BmnHistStat::histCscFHCal
TH2F * histCscFHCal
Definition
BmnHistStat.h:96
BmnHistStat::histBDSiliconStat
TH2F * histBDSiliconStat
Definition
BmnHistStat.h:84
BmnHistStat::Max_FSD_Cnt
const int32_t Max_FSD_Cnt
Definition
BmnHistStat.h:61
BmnHistStat::histFDFHCalStat
TH2F * histFDFHCalStat
Definition
BmnHistStat.h:81
BmnHistStat::sum_fsd
double sum_fsd
Definition
BmnHistStat.h:116
BmnHistStat::sum_csc
double sum_csc
Definition
BmnHistStat.h:119
BmnHistStat::ev_type_prev
BmnEventType ev_type_prev
Definition
BmnHistStat.h:136
BmnHistStat::metrics_available
bool metrics_available
Definition
BmnHistStat.h:146
BmnHistStat::sum_gem
double sum_gem
Definition
BmnHistStat.h:121
BmnHistStat::registry_init_done
bool registry_init_done
Definition
BmnHistStat.h:145
BmnHistStat::NamesStatDet
vector< TString > NamesStatDet
Definition
BmnHistStat.h:54
BmnHistStat::initHistBD
void initHistBD()
BmnHistStat::CreateMetrics
void CreateMetrics()
BmnHistStat::histFDCscStat
TH2F * histFDCscStat
Definition
BmnHistStat.h:80
BmnHistStat::csc2gem
double csc2gem
Definition
BmnHistStat.h:128
BmnHistStat::canStatBD
TCanvas * canStatBD
Definition
BmnHistStat.h:100
BmnHistStat::nevents
uint64_t nevents
Definition
BmnHistStat.h:131
BmnHistStat::histFDTof400Stat
TH2F * histFDTof400Stat
Definition
BmnHistStat.h:78
BmnHistStat::histBDFHCalStat
TH2F * histBDFHCalStat
Definition
BmnHistStat.h:88
BmnHistStat::ResetRegistry
void ResetRegistry()
BmnHistStat::histGemSilicon
TH2F * histGemSilicon
Definition
BmnHistStat.h:91
BmnHist
Base class for histogram sets.
Definition
BmnHist.h:34
DigiArrays
Definition
DigiArrays.h:10
TCanvas
TFile
TH1I
TH2F
THttpServer
TString
TTree
monitor
BmnHistStat.h
Generated on
for BmnRoot by
1.17.0