BmnRoot
26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
BmnMonitor.h
Go to the documentation of this file.
1
#ifndef BMNMONITOR_H
2
#define BMNMONITOR_H 1
3
// STL
4
#include <chrono>
5
#include <exception>
6
#include <iterator>
7
#include <regex>
8
// Auxillary
9
#include <zmq.h>
10
// FairSoft
11
#include <
TBufferFile.h
>
12
#include <
TChain.h
>
13
#include <
TClonesArray.h
>
14
#include <
TColor.h
>
15
#include <
TFile.h
>
16
#include <
TFolder.h
>
17
#include <
THttpServer.h
>
18
#include <
TList.h
>
19
#include <
TNamed.h
>
20
#include <
TString.h
>
21
#include <
TSystemDirectory.h
>
22
#include <
TSystemFile.h
>
23
// BmnRoot
24
#include <
BmnEventHeader.h
>
25
#include <
BmnRawDataDecoder.h
>
26
// BmnRoot Monitor
27
// #include "BmnDataReceiver.h"
28
#include "
BmnOnlineDecoder.h
"
29
30
#include <
BmnRunInfo.h
>
31
32
#define TTREE_MAX_SIZE 3e11
33
34
class
BmnMonitor
:
public
TNamed
35
{
36
public
:
37
BmnMonitor
();
38
virtual
~BmnMonitor
();
39
void
MonitorStreamZ
(
TString
dir,
TString
refDir =
""
,
TString
decoAddr =
"localhost"
,
Int_t
webPort = 9000);
40
TObjArray
*
GetAlikeRunsByElog
(uint32_t periodID, uint32_t rinID);
41
TObjArray
*
GetAlikeRunsByUniDB
(uint32_t periodID, uint32_t rinID);
42
43
void
SetPeriodID
(
Int_t
v
) { this->
fPeriodID
=
v
; }
44
Int_t
GetPeriodID
()
const
{
return
fPeriodID
; }
45
46
void
SetBmnSetup
(BmnSetup
v
) {
fSetup
=
v
; }
47
BmnSetup
GetBmnSetup
()
const
{
return
fSetup
; }
48
49
void
SetHistFileNameAdd
(
TString
add) {
fHistFileNameAdd
= add; }
50
51
void
SetDetectorSetup
(uint64_t setup) {
fDetectorSetup
= setup; }
52
53
void
SetNItersToUpdate
(uint64_t val) {
fNItersToUpdate
= val; }
54
55
void
SetSlowMode
(
bool
val) {
fIsSlowMode
= val; }
56
57
private
:
58
void
InitServer
();
59
void
ProcessDigi
(
Int_t
iEv);
60
void
RegisterAll
();
61
void
UpdateRuns
();
62
BmnStatus
CreateFile
(uint32_t runID = 0);
63
BmnStatus
OpenStream
();
64
void
FinishRun
();
65
void
InitHistVectors
(vector<BmnHist*>&
vec
,
TString
refName =
""
);
66
inline
void
ProcessRequests
();
67
68
void
*
_ctx
;
69
void
*
_decoSocket
;
70
TString
_curFile
;
71
TString
_curDir
;
72
TString
_refDir
;
73
TString
fRawDecoAddr
;
74
TTree
*
fRecoTree
;
75
TTree
*
fRecoTree4Show
;
76
TFile
*
fHistOut
;
77
TFile
*
fHistOutTemp
;
78
THttpServer
*
fServer
;
79
DigiArrays
*
fDigiArrays
;
80
81
uint64_t
fDetectorSetup
;
82
83
vector<BmnHist*>
bhVec
;
84
vector<BmnHist*>
bhVec4show
;
85
vector<bool>
bhVecIsStat
;
// temp crutch to distinguish stat events histogram sets
86
87
TCanvas
*
infoCanvas
;
88
// TList *refList;
89
TList
*
refTable
;
90
TList
*
runPub
;
91
BmnRunInfo
*
CurRun
;
92
93
Bool_t
keepWorking
;
94
Int_t
_webPort
;
95
Int_t
fTest
;
96
uint32_t
fPeriodID
;
97
BmnSetup
fSetup
;
98
uint32_t
fRunID
;
99
BmnTrigRaw2Digit
*
fTrigMapper
;
100
uint64_t
fEvents
;
101
uint64_t
fNItersSinceUpdate
;
102
uint64_t
fNItersToUpdate
;
103
const
chrono::milliseconds
fTimeToProcessRequests
;
//! answer each timeout seconds
104
chrono::time_point<chrono::system_clock>
fTicksLastProcess
;
//!
105
const
chrono::seconds
fTimeToUpdate
;
//! redraw each timeout seconds
106
chrono::time_point<chrono::system_clock>
fTicksLastUpdate
;
//!
107
bool
fIsSlowMode
;
// process requests for each iteration (not good for MSC)
108
BmnWorkerState
fState
;
109
Int_t
decoTimeout
;
110
111
TString
fHistFileNameAdd
;
112
113
ClassDef
(
BmnMonitor
, 1)
114
};
115
116
#endif
v
__m128 v
Definition
P4_F32vec4.h:1
Bool_t
bool Bool_t
Int_t
int Int_t
ClassDef
#define ClassDef(name, id)
TBufferFile.h
TChain.h
TClonesArray.h
TColor.h
TFile.h
TFolder.h
THttpServer.h
TList.h
TNamed.h
TString.h
TSystemDirectory.h
TSystemFile.h
BmnStatus
BmnStatus
Define status code.
Definition
BmnEnums.h:93
BmnMonitor::infoCanvas
TCanvas * infoCanvas
Definition
BmnMonitor.h:87
BmnMonitor::CreateFile
BmnStatus CreateFile(uint32_t runID=0)
Definition
BmnMonitor.cxx:274
BmnMonitor::fHistFileNameAdd
TString fHistFileNameAdd
Definition
BmnMonitor.h:111
BmnMonitor::_refDir
TString _refDir
Definition
BmnMonitor.h:72
BmnMonitor::BmnMonitor
BmnMonitor()
Definition
BmnMonitor.cxx:40
BmnMonitor::MonitorStreamZ
void MonitorStreamZ(TString dir, TString refDir="", TString decoAddr="localhost", Int_t webPort=9000)
Definition
BmnMonitor.cxx:104
BmnMonitor::fTicksLastUpdate
chrono::time_point< chrono::system_clock > fTicksLastUpdate
redraw each timeout seconds
Definition
BmnMonitor.h:106
BmnMonitor::fState
BmnWorkerState fState
Definition
BmnMonitor.h:108
BmnMonitor::runPub
TList * runPub
Definition
BmnMonitor.h:90
BmnMonitor::fTimeToUpdate
const chrono::seconds fTimeToUpdate
Definition
BmnMonitor.h:105
BmnMonitor::GetPeriodID
Int_t GetPeriodID() const
Definition
BmnMonitor.h:44
BmnMonitor::_curFile
TString _curFile
Definition
BmnMonitor.h:70
BmnMonitor::fDigiArrays
DigiArrays * fDigiArrays
Definition
BmnMonitor.h:79
BmnMonitor::SetNItersToUpdate
void SetNItersToUpdate(uint64_t val)
Definition
BmnMonitor.h:53
BmnMonitor::GetBmnSetup
BmnSetup GetBmnSetup() const
Definition
BmnMonitor.h:47
BmnMonitor::SetSlowMode
void SetSlowMode(bool val)
Definition
BmnMonitor.h:55
BmnMonitor::SetBmnSetup
void SetBmnSetup(BmnSetup v)
Definition
BmnMonitor.h:46
BmnMonitor::InitHistVectors
void InitHistVectors(vector< BmnHist * > &vec, TString refName="")
Definition
BmnMonitor.cxx:237
BmnMonitor::SetDetectorSetup
void SetDetectorSetup(uint64_t setup)
Definition
BmnMonitor.h:51
BmnMonitor::keepWorking
Bool_t keepWorking
Definition
BmnMonitor.h:93
BmnMonitor::ProcessDigi
void ProcessDigi(Int_t iEv)
Definition
BmnMonitor.cxx:304
BmnMonitor::fRawDecoAddr
TString fRawDecoAddr
Definition
BmnMonitor.h:73
BmnMonitor::fTimeToProcessRequests
const chrono::milliseconds fTimeToProcessRequests
Definition
BmnMonitor.h:103
BmnMonitor::SetPeriodID
void SetPeriodID(Int_t v)
Definition
BmnMonitor.h:43
BmnMonitor::fHistOutTemp
TFile * fHistOutTemp
Definition
BmnMonitor.h:77
BmnMonitor::bhVec
vector< BmnHist * > bhVec
Definition
BmnMonitor.h:83
BmnMonitor::_webPort
Int_t _webPort
Definition
BmnMonitor.h:94
BmnMonitor::OpenStream
BmnStatus OpenStream()
BmnMonitor::fEvents
uint64_t fEvents
Definition
BmnMonitor.h:100
BmnMonitor::UpdateRuns
void UpdateRuns()
Definition
BmnMonitor.cxx:430
BmnMonitor::~BmnMonitor
virtual ~BmnMonitor()
Definition
BmnMonitor.cxx:74
BmnMonitor::_decoSocket
void * _decoSocket
Definition
BmnMonitor.h:69
BmnMonitor::CurRun
BmnRunInfo * CurRun
Definition
BmnMonitor.h:91
BmnMonitor::FinishRun
void FinishRun()
Definition
BmnMonitor.cxx:458
BmnMonitor::_curDir
TString _curDir
Definition
BmnMonitor.h:71
BmnMonitor::GetAlikeRunsByElog
TObjArray * GetAlikeRunsByElog(uint32_t periodID, uint32_t rinID)
Definition
BmnMonitor.cxx:472
BmnMonitor::InitServer
void InitServer()
Definition
BmnMonitor.cxx:225
BmnMonitor::fDetectorSetup
uint64_t fDetectorSetup
Definition
BmnMonitor.h:81
BmnMonitor::fIsSlowMode
bool fIsSlowMode
Definition
BmnMonitor.h:107
BmnMonitor::ProcessRequests
void ProcessRequests()
Definition
BmnMonitor.cxx:402
BmnMonitor::GetAlikeRunsByUniDB
TObjArray * GetAlikeRunsByUniDB(uint32_t periodID, uint32_t rinID)
Definition
BmnMonitor.cxx:531
BmnMonitor::decoTimeout
Int_t decoTimeout
Definition
BmnMonitor.h:109
BmnMonitor::fRunID
uint32_t fRunID
Definition
BmnMonitor.h:98
BmnMonitor::fNItersSinceUpdate
uint64_t fNItersSinceUpdate
Definition
BmnMonitor.h:101
BmnMonitor::bhVec4show
vector< BmnHist * > bhVec4show
Definition
BmnMonitor.h:84
BmnMonitor::fHistOut
TFile * fHistOut
Definition
BmnMonitor.h:76
BmnMonitor::bhVecIsStat
vector< bool > bhVecIsStat
Definition
BmnMonitor.h:85
BmnMonitor::fRecoTree
TTree * fRecoTree
Definition
BmnMonitor.h:74
BmnMonitor::fSetup
BmnSetup fSetup
Definition
BmnMonitor.h:97
BmnMonitor::RegisterAll
void RegisterAll()
Definition
BmnMonitor.cxx:414
BmnMonitor::fServer
THttpServer * fServer
Definition
BmnMonitor.h:78
BmnMonitor::fPeriodID
uint32_t fPeriodID
Definition
BmnMonitor.h:96
BmnMonitor::fTrigMapper
BmnTrigRaw2Digit * fTrigMapper
Definition
BmnMonitor.h:99
BmnMonitor::SetHistFileNameAdd
void SetHistFileNameAdd(TString add)
Definition
BmnMonitor.h:49
BmnMonitor::fTicksLastProcess
chrono::time_point< chrono::system_clock > fTicksLastProcess
answer each timeout seconds
Definition
BmnMonitor.h:104
BmnMonitor::fNItersToUpdate
uint64_t fNItersToUpdate
Definition
BmnMonitor.h:102
BmnMonitor::refTable
TList * refTable
Definition
BmnMonitor.h:89
BmnMonitor::fTest
Int_t fTest
Definition
BmnMonitor.h:95
BmnMonitor::fRecoTree4Show
TTree * fRecoTree4Show
Definition
BmnMonitor.h:75
BmnMonitor::_ctx
void * _ctx
Definition
BmnMonitor.h:68
BmnRunInfo
Definition
BmnRunInfo.h:7
BmnTrigRaw2Digit
Definition
BmnTrigRaw2Digit.h:69
DigiArrays
Definition
DigiArrays.h:10
TCanvas
TFile
THttpServer
TList
TNamed::TNamed
TNamed()
TObjArray
TString
TTree
BmnEventHeader.h
BmnOnlineDecoder.h
BmnRawDataDecoder.h
BmnRunInfo.h
vec
install
include
BmnMonitor.h
Generated on
for BmnRoot by
1.17.0