Analysis Software
Documentation for
sPHENIX
simulation software
Home page
Related Pages
Modules
Namespaces
Classes
Files
Examples
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
TPCMLDataInterface.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file TPCMLDataInterface.h
1
// $Id: $
2
11
#ifndef TPCDATASTREAMEMULATOR_H_
12
#define TPCDATASTREAMEMULATOR_H_
13
14
#include <
fun4all/SubsysReco.h
>
15
16
#include <vector>
17
18
class
PHCompositeNode
;
19
class
Fun4AllHistoManager
;
20
class
SvtxEvalStack
;
21
class
TH1;
22
class
TH2;
23
namespace
H5
24
{
25
class
H5File;
26
}
27
31
class
TPCMLDataInterface
:
public
SubsysReco
32
{
33
public
:
34
TPCMLDataInterface
(
35
unsigned
int
minLayer
,
36
unsigned
int
m_maxLayer
,
37
const
std::string
&outputfilenamebase =
"TPCMLDataInterface"
);
38
virtual
~TPCMLDataInterface
();
39
40
int
Init
(
PHCompositeNode
*topNode);
41
int
InitRun
(
PHCompositeNode
*topNode);
42
int
process_event
(
PHCompositeNode
*topNode);
43
int
End
(
PHCompositeNode
*topNode);
44
45
void
maxLayer
(
int
maxLayer
)
46
{
47
m_maxLayer =
maxLayer
;
48
}
49
50
void
minLayer
(
int
minLayer)
51
{
52
m_minLayer
=
minLayer
;
53
}
54
55
void
outputFileNameBase
(
const
std::string
&
outputFileNameBase
)
56
{
57
m_outputFileNameBase
=
outputFileNameBase
;
58
}
59
60
void
saveDataStreamFile
(
bool
saveDataStreamFile
)
61
{
62
m_saveDataStreamFile
=
saveDataStreamFile
;
63
}
64
65
double
getEtaAcceptanceCut
()
const
66
{
67
return
m_etaAcceptanceCut
;
68
}
69
70
void
setEtaAcceptanceCut
(
double
etaAcceptanceCut)
71
{
72
m_etaAcceptanceCut
= etaAcceptanceCut;
73
}
74
75
double
getVertexZAcceptanceCut
()
const
76
{
77
return
m_vertexZAcceptanceCut
;
78
}
79
80
void
setVertexZAcceptanceCut
(
double
vertexZAcceptanceCut)
81
{
82
m_vertexZAcceptanceCut
= vertexZAcceptanceCut;
83
}
84
85
86
private
:
87
#ifndef __CINT__
88
89
Fun4AllHistoManager
*
getHistoManager
();
90
int
writeWavelet
(
int
layer
,
int
side,
int
phibin,
int
hittime,
const
std::vector<unsigned int> &wavelet);
91
92
SvtxEvalStack
*
m_svtxevalstack
;
93
94
bool
m_strict
;
95
bool
m_saveDataStreamFile
;
96
97
std::string
m_outputFileNameBase
;
98
H5::H5File *
m_h5File
;
99
100
int
m_minLayer
;
101
int
m_maxLayer
;
102
103
int
m_evtCounter
;
104
105
double
m_vertexZAcceptanceCut
;
106
double
m_etaAcceptanceCut
;
107
double
m_momentumCut
;
108
bool
m_use_initial_vertex
=
true
;
109
bool
m_use_genfit_vertex
=
false
;
110
111
112
// histograms
113
TH1 *
m_hDataSize
;
114
TH1 *
m_hWavelet
;
115
TH1 *
m_hNChEta
;
116
TH2 *
m_hLayerWaveletSize
;
117
TH2 *
m_hLayerHit
;
118
TH2 *
m_hLayerZBinHit
;
119
TH2 *
m_hLayerZBinADC
;
120
TH2 *
m_hLayerDataSize
;
121
TH2 *
m_hLayerSumHit
;
122
TH2 *
m_hLayerSumDataSize
;
123
124
#endif // #ifndef __CINT__
125
};
126
127
#endif
/* TPCDATASTREAMEMULATOR_H_ */
analysis
blob
master
TPC
DAQ
TPCMLDataInterface
TPCMLDataInterface.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:17:58
using
1.8.2 with
sPHENIX GitHub integration