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
RawClusterBuilderTemplate.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file RawClusterBuilderTemplate.h
1
#ifndef CALORECO_RAWCLUSTERBUILDERTEMPLATE_H
2
#define CALORECO_RAWCLUSTERBUILDERTEMPLATE_H
3
4
#include <
fun4all/SubsysReco.h
>
5
6
#include <string>
7
8
class
PHCompositeNode
;
9
class
RawClusterContainer
;
10
class
RawTowerGeomContainer
;
11
class
BEmcRec
;
12
class
TowerInfo
;
13
class
RawTower
;
14
15
class
RawClusterBuilderTemplate
:
public
SubsysReco
16
{
17
public
:
18
explicit
RawClusterBuilderTemplate
(
const
std::string
&
name
=
"RawClusterBuilderTemplate"
);
19
~RawClusterBuilderTemplate
()
override
;
20
21
int
InitRun
(
PHCompositeNode
* topNode)
override
;
22
int
process_event
(
PHCompositeNode
* topNode)
override
;
23
void
Detector
(
const
std::string
& d);
24
25
void
SetCylindricalGeometry
();
26
void
SetPlanarGeometry
();
27
void
PrintGeometry
() {
bPrintGeom
=
true
; }
// Prints it at InitRun time
28
void
PrintCylGeom
(
RawTowerGeomContainer
* towergeom,
const
std::string
&
fname
);
29
void
SetProfileProb
(
bool
pprob) {
bProfProb
= pprob; }
30
void
SetProbNoiseParam
(
float
rn) {
fProbNoiseParam
= rn; }
31
32
void
set_threshold_energy
(
const
float
e
) {
_min_tower_e
=
e
; }
33
void
setEnergyNorm
(
const
float
norm
) {
fEnergyNorm
=
norm
; }
34
void
checkenergy
(
const
int
i
= 1) {
chkenergyconservation
=
i
; }
35
void
LoadProfile
(
const
std::string
&
fname
);
36
37
void
set_UseTowerInfo
(
const
int
useMode)
38
{
// 0 only old tower, 1 only new (TowerInfo based),
39
m_UseTowerInfo
= useMode;
40
}
41
42
void
set_ApplyTowerSelection
(
bool
b
)
43
{
44
m_do_tower_selection
=
b
;
45
}
46
47
void
set_UseAltZVertex
(
const
int
useAltZMode)
48
{
// 0 use global vtx, 1 only bbcout bbczvtx , 2 use NO zvtx[set to 0]
49
m_UseAltZVertex
= useAltZMode;
50
}
51
52
void
setOutputClusterNodeName
(
const
std::string
& inpNodenm)
53
{
54
m_outputnodename
= inpNodenm;
55
}
56
57
// !!! note : next fn NOT implemented for RawTowers
58
// only TowerInfo mode
59
void
setInputTowerNodeName
(
const
std::string
& inpNodenm)
60
{
61
m_inputnodename
= inpNodenm;
62
}
63
64
private
:
65
void
CreateNodes
(
PHCompositeNode
* topNode);
66
bool
Cell2Abs
(
RawTowerGeomContainer
* towergeom,
float
phiC,
float
etaC,
float
&
phi
,
float
&
eta
);
67
bool
IsAcceptableTower
(
TowerInfo
*
tower
);
68
bool
IsAcceptableTower
(
RawTower
*
tower
);
69
70
RawClusterContainer
*
_clusters
=
nullptr
;
71
// BEmcProfile *_emcprof;
72
73
BEmcRec
*
bemc
=
nullptr
;
74
float
fEnergyNorm
= 1.;
75
76
float
_min_tower_e
= 0.020;
77
int
chkenergyconservation
= 0;
78
79
std::string
detector
;
80
std::string
ClusterNodeName
;
81
82
int
BINX0
= 0;
83
int
NBINX
= 0;
84
int
BINY0
= 0;
85
int
NBINY
= 0;
86
87
bool
bPrintGeom
=
false
;
88
bool
bProfProb
=
false
;
89
float
fProbNoiseParam
= 0.04;
90
91
int
m_UseTowerInfo
= 0;
// 0 only old tower, 1 only new (TowerInfo based),
92
93
bool
m_do_tower_selection
=
true
;
94
95
std::string
m_towerInfo_nodename
;
96
97
int
m_UseAltZVertex
= 2;
98
// 0 - use GlobalVtxMap
99
// 1 - use BbcReco ZVtx
100
// 2 - use NO zvertex (zvtx = 0)
101
102
std::string
m_inputnodename
;
103
std::string
m_outputnodename
;
104
};
105
106
#endif
/* RawClusterBuilderTemplate_H__ */
coresoftware
blob
master
offline
packages
CaloReco
RawClusterBuilderTemplate.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:18:05
using
1.8.2 with
sPHENIX GitHub integration