Class Reference for E1039 Core & Analysis Software
Home page
Related Pages
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
Fun4MainDaq.C
Go to the documentation of this file.
1
#if ROOT_VERSION_CODE >= ROOT_VERSION(6,00,0)
3
R__LOAD_LIBRARY(libinterface_main)
4
R__LOAD_LIBRARY(libdecoder_maindaq)
5
R__LOAD_LIBRARY(libonlmonserver)
6
R__LOAD_LIBRARY(libpheve_modules)
7
#endif
8
9
int
Fun4MainDaq
(
const
int
run
=46,
const
int
nevent=0,
const
bool
is_online=
false
)
10
{
11
gSystem->Umask(0002);
12
gSystem->Load(
"libinterface_main.so"
);
13
gSystem->Load(
"libdecoder_maindaq.so"
);
14
gSystem->Load(
"libonlmonserver.so"
);
15
gSystem->Load(
"libpheve_modules.so"
);
16
GeomSvc::UseDbSvc
(
true
);
17
const
bool
use_onlmon =
true
;
18
const
bool
use_evt_disp =
true
;
19
20
const
char
* deco_mode = gSystem->Getenv(
"E1039_DECODER_MODE"
);
21
if
(deco_mode && strcmp(deco_mode,
"std"
) == 0) {
22
cout <<
"Output mode = standard."
<< endl;
23
}
else
{
24
cout <<
"output mode = devel."
<< endl;
25
UtilOnline::UseOutputLocationForDevel
();
26
}
27
28
DecoStatusDb
deco_stat;
29
deco_stat.
RunStarted
(
run
);
30
31
ostringstream oss;
32
oss <<
UtilOnline::GetCodaFileDir
() <<
"/"
<<
UtilOnline::RunNum2CodaFile
(
run
);
33
string
fn_in = oss.str();
34
oss.str(
""
);
35
oss <<
UtilOnline::GetDstFileDir
() <<
"/"
<<
UtilOnline::RunNum2DstFile
(
run
);
36
string
fn_out = oss.str();
37
gSystem->mkdir(
UtilOnline::GetDstFileDir
().c_str(),
true
);
38
39
OnlMonServer
*
se
=
OnlMonServer::instance
();
40
//se->Verbosity(1);
41
se->
SetOnline
(is_online);
42
43
Fun4AllEVIOInputManager
*in =
new
Fun4AllEVIOInputManager
(
"MainDaq"
);
44
in->
Verbosity
(2);
45
in->
SetOnline
(is_online);
46
//if (is_online) in->PretendSpillInterval(20);
47
in->
fileopen
(fn_in);
48
se->
registerInputManager
(in);
49
50
se->
registerSubsystem
(
new
DbUpRun
());
51
se->
registerSubsystem
(
new
DbUpSpill
());
52
//se->registerSubsystem(new CalibInTime());
53
se->
registerSubsystem
(
new
CalibMergeH4
());
54
//se->registerSubsystem(new CalibXT());
55
56
if
(use_onlmon) {
// Register the online-monitoring clients
57
if
(is_online) se->
StartServer
();
58
se->
registerSubsystem
(
new
OnlMonMainDaq
());
59
se->
registerSubsystem
(
new
OnlMonTrigSig
());
60
se->
registerSubsystem
(
new
OnlMonTrigNim
());
61
se->
registerSubsystem
(
new
OnlMonV1495
(
OnlMonV1495::H1X
, 1));
62
se->
registerSubsystem
(
new
OnlMonV1495
(
OnlMonV1495::H2X
, 1));
63
se->
registerSubsystem
(
new
OnlMonV1495
(
OnlMonV1495::H3X
, 1));
64
se->
registerSubsystem
(
new
OnlMonV1495
(
OnlMonV1495::H4X
, 1));
65
se->
registerSubsystem
(
new
OnlMonHodo
(
OnlMonHodo::H1X
));
66
se->
registerSubsystem
(
new
OnlMonHodo
(
OnlMonHodo::H2X
));
67
se->
registerSubsystem
(
new
OnlMonHodo
(
OnlMonHodo::H3X
));
68
se->
registerSubsystem
(
new
OnlMonHodo
(
OnlMonHodo::H4X
));
69
se->
registerSubsystem
(
new
OnlMonHodo
(
OnlMonHodo::H1Y
));
70
se->
registerSubsystem
(
new
OnlMonHodo
(
OnlMonHodo::H2Y
));
71
se->
registerSubsystem
(
new
OnlMonHodo
(
OnlMonHodo::H4Y1
));
72
se->
registerSubsystem
(
new
OnlMonHodo
(
OnlMonHodo::H4Y2
));
73
se->
registerSubsystem
(
new
OnlMonHodo
(
OnlMonHodo::DP1T
));
74
se->
registerSubsystem
(
new
OnlMonHodo
(
OnlMonHodo::DP1B
));
75
se->
registerSubsystem
(
new
OnlMonHodo
(
OnlMonHodo::DP2T
));
76
se->
registerSubsystem
(
new
OnlMonHodo
(
OnlMonHodo::DP2B
));
77
se->
registerSubsystem
(
new
OnlMonH4
(
OnlMonH4::H4T
));
78
se->
registerSubsystem
(
new
OnlMonH4
(
OnlMonH4::H4B
));
79
se->
registerSubsystem
(
new
OnlMonH4
(
OnlMonH4::H4Y1L
));
80
se->
registerSubsystem
(
new
OnlMonH4
(
OnlMonH4::H4Y1R
));
81
se->
registerSubsystem
(
new
OnlMonH4
(
OnlMonH4::H4Y2L
));
82
se->
registerSubsystem
(
new
OnlMonH4
(
OnlMonH4::H4Y2R
));
83
se->
registerSubsystem
(
new
OnlMonCham
(
OnlMonCham::D0
));
84
se->
registerSubsystem
(
new
OnlMonCham
(
OnlMonCham::D2
));
85
se->
registerSubsystem
(
new
OnlMonCham
(
OnlMonCham::D3p
));
86
se->
registerSubsystem
(
new
OnlMonCham
(
OnlMonCham::D3m
));
87
se->
registerSubsystem
(
new
OnlMonProp
(
OnlMonProp::P1
));
88
se->
registerSubsystem
(
new
OnlMonProp
(
OnlMonProp::P2
));
89
}
90
91
Fun4AllDstOutputManager
*out =
new
Fun4AllDstOutputManager
(
"DSTOUT"
, fn_out);
92
se->
registerOutputManager
(out);
93
94
if
(use_evt_disp) {
95
se->
registerSubsystem
(
new
EvtDispFilter
(1000, 1));
// (step, max per spill)
96
97
oss.str(
""
);
98
oss <<
"/data2/e1039/onlmon/evt_disp"
;
99
gSystem->mkdir(oss.str().c_str(),
true
);
100
oss <<
"/run_"
<< setfill(
'0'
) << setw(6) <<
run
<<
"_evt_disp.root"
;
101
Fun4AllDstOutputManager
*out2 =
new
Fun4AllDstOutputManager
(
"DSTOUT2"
, oss.str());
102
out2->
EnableRealTimeSave
();
103
out2->
AddEventSelector
(
"EvtDispFilter"
);
104
se->
registerOutputManager
(out2);
105
}
106
107
se->
run
(nevent);
108
se->
End
();
109
deco_stat.
RunFinished
(
run
, 0);
// always "result = 0" for now.
110
111
delete
se
;
112
cout <<
"Fun4MainDaq Done!"
<< endl;
113
return
0;
114
}
115
116
void
TestOnlMonServer
()
117
{
118
gSystem->Load(
"libonlmonserver.so"
);
119
OnlMonServer
*
se
=
OnlMonServer::instance
();
120
//se->Verbosity(1);
121
se->
StartServer
();
122
}
Fun4AllServer::registerInputManager
int registerInputManager(Fun4AllInputManager *InManager)
Definition:
Fun4AllServer.cc:1256
UtilOnline::RunNum2CodaFile
static std::string RunNum2CodaFile(const int run)
Convert a run number to the corresponding name of Coda file.
Definition:
UtilOnline.cc:33
EvtDispFilter
Definition:
EvtDispFilter.h:7
Fun4AllEVIOInputManager
Definition:
Fun4AllEVIOInputManager.h:13
OnlMonHodo::H1X
Definition:
OnlMonHodo.h:7
Fun4AllEVIOInputManager::SetOnline
void SetOnline(const bool is_online)
Definition:
Fun4AllEVIOInputManager.cc:547
OnlMonHodo::H2X
Definition:
OnlMonHodo.h:7
OnlMonH4::H4Y2R
Definition:
OnlMonH4.h:7
OnlMonServer
Definition:
OnlMonServer.h:8
OnlMonH4::H4Y1R
Definition:
OnlMonH4.h:7
OnlMonHodo::H3X
Definition:
OnlMonHodo.h:7
DecoStatusDb::RunStarted
void RunStarted(const int run, int utime=0)
Definition:
DecoStatusDb.cc:49
OnlMonH4
Definition:
OnlMonH4.h:5
TestOnlMonServer
void TestOnlMonServer()
Definition:
Fun4MainDaq.C:116
OnlMonHodo::DP1B
Definition:
OnlMonHodo.h:7
OnlMonCham::D3p
Definition:
OnlMonCham.h:7
OnlMonServer::End
int End()
Definition:
OnlMonServer.cc:96
OnlMonCham::D3m
Definition:
OnlMonCham.h:7
OnlMonHodo
Definition:
OnlMonHodo.h:5
OnlMonHodo::DP2B
Definition:
OnlMonHodo.h:7
Fun4AllOutputManager::AddEventSelector
virtual int AddEventSelector(const std::string &recomodule)
add an event selector to the outputmanager. event will get written only if all event selectors proces...
Definition:
Fun4AllOutputManager.cc:18
se
Fun4AllServer * se
Definition:
EventDisplay4Sim.C:21
OnlMonProp::P1
Definition:
OnlMonProp.h:7
OnlMonServer::SetOnline
void SetOnline(const bool val)
Definition:
OnlMonServer.h:41
OnlMonCham
Definition:
OnlMonCham.h:5
run
int run(const int nEvents=1)
Definition:
run.C:10
Fun4AllEVIOInputManager::fileopen
int fileopen(const std::string &filenam)
Definition:
Fun4AllEVIOInputManager.cc:108
OnlMonMainDaq
OnlMonMainDaq.
Definition:
OnlMonMainDaq.h:6
OnlMonHodo::H2Y
Definition:
OnlMonHodo.h:7
Fun4AllServer::registerSubsystem
int registerSubsystem(SubsysReco *subsystem, const std::string &topnodename="TOP")
Definition:
Fun4AllServer.cc:181
OnlMonCham::D0
Definition:
OnlMonCham.h:7
DbUpSpill
Definition:
DbUpSpill.h:6
OnlMonHodo::DP2T
Definition:
OnlMonHodo.h:7
GeomSvc::UseDbSvc
static bool UseDbSvc()
Definition:
GeomSvc.h:304
OnlMonTrigNim
Definition:
OnlMonTrigNim.h:6
OnlMonHodo::H4X
Definition:
OnlMonHodo.h:7
OnlMonV1495::H4X
Definition:
OnlMonV1495.h:7
OnlMonCham::D2
Definition:
OnlMonCham.h:7
Fun4AllServer::run
int run(const int nevnts=0, const bool require_nevents=false)
run n events (0 means up to end of file)
Definition:
Fun4AllServer.cc:1288
OnlMonH4::H4Y1L
Definition:
OnlMonH4.h:7
OnlMonProp
Definition:
OnlMonProp.h:5
CalibMergeH4
Definition:
CalibMergeH4.h:6
Fun4AllServer::registerOutputManager
int registerOutputManager(Fun4AllOutputManager *manager)
Definition:
Fun4AllServer.cc:359
OnlMonHodo::H4Y2
Definition:
OnlMonHodo.h:7
OnlMonHodo::DP1T
Definition:
OnlMonHodo.h:7
OnlMonHodo::H1Y
Definition:
OnlMonHodo.h:7
Fun4AllDstOutputManager
Definition:
Fun4AllDstOutputManager.h:12
OnlMonH4::H4T
Definition:
OnlMonH4.h:7
OnlMonV1495::H2X
Definition:
OnlMonV1495.h:7
OnlMonProp::P2
Definition:
OnlMonProp.h:7
Fun4MainDaq
int Fun4MainDaq(const int run=46, const int nevent=0, const bool is_online=false)
Fun4MainDaq.C: Fun4all macro to decode the MainDAQ data.
Definition:
Fun4MainDaq.C:9
UtilOnline::UseOutputLocationForDevel
static void UseOutputLocationForDevel()
Definition:
UtilOnline.cc:14
DbUpRun
Definition:
DbUpRun.h:7
OnlMonV1495::H3X
Definition:
OnlMonV1495.h:7
OnlMonV1495::H1X
Definition:
OnlMonV1495.h:7
OnlMonServer::StartServer
void StartServer()
Definition:
OnlMonServer.cc:66
UtilOnline::RunNum2DstFile
static std::string RunNum2DstFile(const int run)
Convert a run number to the corresponding name of DST file.
Definition:
UtilOnline.cc:49
OnlMonV1495
Definition:
OnlMonV1495.h:5
DecoStatusDb::RunFinished
void RunFinished(const int run, const int result, int utime=0)
Definition:
DecoStatusDb.cc:80
Fun4AllBase::Verbosity
virtual void Verbosity(const int ival)
Sets the verbosity of this module (0 by default=quiet).
Definition:
Fun4AllBase.h:58
UtilOnline::GetCodaFileDir
static std::string GetCodaFileDir()
Definition:
UtilOnline.h:24
OnlMonServer::instance
static OnlMonServer * instance()
Definition:
OnlMonServer.cc:34
Fun4AllDstOutputManager::EnableRealTimeSave
void EnableRealTimeSave()
Definition:
Fun4AllDstOutputManager.cc:236
OnlMonH4::H4B
Definition:
OnlMonH4.h:7
OnlMonH4::H4Y2L
Definition:
OnlMonH4.h:7
OnlMonHodo::H4Y1
Definition:
OnlMonHodo.h:7
UtilOnline::GetDstFileDir
static std::string GetDstFileDir()
Definition:
UtilOnline.h:25
OnlMonTrigSig
Definition:
OnlMonTrigSig.h:5
DecoStatusDb
Definition:
DecoStatusDb.h:5
e1039-core
online
macros
Fun4MainDaq.C
Built by
Haiwang Yu
. updated:
Wed May 26 2021 21:44:02
using
1.8.5 with
SeaQuest GitHub integration