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
EMCalAna.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file EMCalAna.h
1
#ifndef __CALOEVALUATOR_H__
2
#define __CALOEVALUATOR_H__
3
4
#include <
fun4all/SubsysReco.h
>
5
#include <
phool/PHCompositeNode.h
>
6
#include <g4hough/PHG4HoughTransform.h>
7
8
#include <TNtuple.h>
9
#include <TFile.h>
10
11
#include "
EMCalTrk.h
"
12
13
#include <string>
14
#include <stdint.h>
15
16
class
PHCompositeNode
;
17
class
PHG4HitContainer
;
18
class
Fun4AllHistoManager
;
19
class
TH1F;
20
class
TTree;
21
class
SvtxEvalStack
;
22
class
PHG4Particle
;
23
class
RawTowerGeom
;
24
class
RawTowerContainer
;
25
class
SvtxTrack
;
26
28
class
EMCalAna
:
public
SubsysReco
29
{
30
31
public
:
32
33
enum
enu_flags
34
{
35
kProcessSF
= 1 << 1,
36
kProcessTower
= 1 << 2,
37
kProcessTrk
= 1 << 3,
38
kProcessUpslisonTrig
= 1 << 4,
39
40
kDefaultFlag
=
kProcessSF
|
kProcessTower
41
};
42
43
EMCalAna
(
const
std::string
&
filename
=
"cemc_ana.root"
,
enu_flags
flags =
44
kDefaultFlag
);
45
virtual
46
~EMCalAna
();
47
48
int
49
Init
(
PHCompositeNode
*topNode);
50
int
51
InitRun
(
PHCompositeNode
*topNode);
52
int
53
process_event
(
PHCompositeNode
*topNode);
54
int
55
End
(
PHCompositeNode
*topNode);
56
57
uint32_t
58
get_flags
()
const
59
{
60
return
_flags
;
61
}
62
63
void
64
set_flags
(
enu_flags
flags)
65
{
66
_flags
= (uint32_t) flags;
67
}
68
69
void
70
set_flag
(
enu_flags
flag
)
71
{
72
_flags
|= (uint32_t) flag;
73
}
74
75
bool
76
flag
(
enu_flags
flag
)
77
{
78
return
_flags
&
flag
;
79
}
80
81
void
82
reset_flag
(
enu_flags
flag
)
83
{
84
_flags
&= ~(uint32_t) flag;
85
}
86
87
float
get_mag_field
()
const
{
return
_magfield
;}
88
void
set_mag_field
(
float
magfield
) {
_magfield
=
magfield
;}
89
90
private
:
91
92
Fun4AllHistoManager
*
93
get_HistoManager
();
94
95
int
96
Init_SF
(
PHCompositeNode
*topNode);
97
int
98
process_event_SF
(
PHCompositeNode
*topNode);
99
100
int
101
Init_Tower
(
PHCompositeNode
*topNode);
102
int
103
process_event_Tower
(
PHCompositeNode
*topNode);
104
105
int
106
Init_Trk
(
PHCompositeNode
*topNode);
107
int
108
process_event_Trk
(
PHCompositeNode
*topNode);
109
110
int
111
Init_UpslisonTrig
(
PHCompositeNode
*topNode);
112
int
113
process_event_UpslisonTrig
(
PHCompositeNode
*topNode);
114
115
void
eval_trk
(
PHG4Particle
* primary_particle,
EMCalTrk
& trk,
PHCompositeNode
*topNode);
116
117
enum
enu_calo
118
{
119
kCEMC
,
120
kHCALIN
,
121
kHCALOUT
122
};
123
124
void
eval_trk_proj
(
//
125
SvtxTrack
* track,
//
126
EMCalTrk
& trk,
127
enu_calo
calo_id,
//
128
const
double
gvz,
129
PHCompositeNode
*topNode
//
130
);
131
132
SvtxEvalStack
*
_eval_stack
;
133
TTree *
_T_EMCalTrk
;
134
EMCalTrk
*
_trk
;
135
136
double
_magfield
;
137
PHG4HoughTransform
_hough
;
138
139
std::string
_filename
;
140
141
uint32_t
_flags
;
142
unsigned
long
_ievent
;
143
144
PHG4HitContainer
*
_hcalout_hit_container
;
145
PHG4HitContainer
*
_hcalin_hit_container
;
146
PHG4HitContainer
*
_cemc_hit_container
;
147
PHG4HitContainer
*
_hcalout_abs_hit_container
;
148
PHG4HitContainer
*
_hcalin_abs_hit_container
;
149
PHG4HitContainer
*
_cemc_abs_hit_container
;
150
PHG4HitContainer
*
_magnet_hit_container
;
151
PHG4HitContainer
*
_bh_hit_container
;
152
PHG4HitContainer
*
_bh_plus_hit_container
;
153
PHG4HitContainer
*
_bh_minus_hit_container
;
154
PHG4HitContainer
*
_cemc_electronics_hit_container
;
155
PHG4HitContainer
*
_hcalin_spt_hit_container
;
156
PHG4HitContainer
*
_svtx_hit_container
;
157
PHG4HitContainer
*
_svtx_support_hit_container
;
158
};
159
160
#endif // __CALOEVALUATOR_H__
analysis
blob
master
EMCal-analysis
EMCalAna
EMCalAna.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:17:50
using
1.8.2 with
sPHENIX GitHub integration