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
DISKinematicsReco.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file DISKinematicsReco.h
1
#ifndef __DISKinematicsReco_H__
2
#define __DISKinematicsReco_H__
3
4
#include "
PidCandidate.h
"
5
#include "
TrackProjectorPlaneECAL.h
"
6
/* Fun4All includes */
7
#include <
fun4all/SubsysReco.h
>
8
#include <calobase/RawTowerDefs.h>
9
10
/* STL includes */
11
#include <math.h>
12
#include <map>
13
14
/*HepMC include */
15
#include <
phhepmc/PHHepMCGenEvent.h
>
16
#include <
phhepmc/PHHepMCGenEventMap.h
>
17
#include <HepMC/GenEvent.h>
18
class
TTree;
19
class
TFile;
20
21
class
PHCompositeNode
;
22
class
CaloEvalStack
;
23
class
CaloRawTowerEval
;
24
class
RawCluster
;
25
class
RawTowerContainer
;
26
class
RawTowerGeomContainer
;
27
//class JetMap;
28
class
SvtxTrack
;
29
class
SvtxTrackMap
;
30
class
PHHepMCGenEventMap
;
31
32
33
class
PidCandidate
;
34
35
typedef
std::map<float, PidCandidate*>
type_map_tcan
;
36
typedef
std::map< RawTowerDefs::CalorimeterId , std::pair< RawTowerContainer*, RawTowerGeomContainer* > >
type_map_cdata
;
37
38
class
DISKinematicsReco
:
public
SubsysReco
39
{
40
41
public
:
42
43
DISKinematicsReco
(
std::string
filename
);
44
45
int
46
Init
(
PHCompositeNode
*);
47
int
48
InitRun
(
PHCompositeNode
*);
49
int
50
process_event
(
PHCompositeNode
*);
51
int
52
End
(
PHCompositeNode
*);
53
54
void
55
set_beam_energies
(
float
beam_electron ,
float
beam_proton )
56
{
57
_beam_electron_ptotal
= fabs( beam_electron );
58
_beam_hadron_ptotal
= fabs( beam_proton );
59
}
60
61
void
62
set_do_process_geant4_cluster
(
bool
select )
63
{
64
_do_process_geant4_cluster
= select;
65
}
66
67
void
68
set_do_process_truth
(
bool
select )
69
{
70
_do_process_truth
= select;
71
}
72
73
74
private
:
75
76
/* proton rest mass */
77
const
float
_mproton
;
78
79
bool
_verbose
;
80
bool
_save_towers
;
81
bool
_save_tracks
;
82
bool
_do_process_geant4_cluster
;
83
bool
_do_process_truth
;
84
85
int
_ievent
;
86
int
_total_pass
;
87
88
std::string
_filename
;
89
TFile *
_tfile
;
90
91
/* output tree and variables */
92
TTree*
_tree_event_cluster
;
93
94
/* output tree and variables from TRUTH particles */
95
TTree*
_tree_event_truth
;
96
97
/* beam energies electron and proton */
98
float
_beam_electron_ptotal
;
99
float
_beam_hadron_ptotal
;
100
103
std::map< std::string, CaloRawTowerEval* >
_map_towereval
;
104
105
/* Track Projector object */
106
TrackProjectorPlaneECAL
*
_trackproj
;
107
// /** Map of PidCandidate properties that will be written to
108
// * output ROOT Tree */
109
// std::map< PidCandidate::PROPERTY , float > _map_treebranches;
110
113
std::map< PidCandidate::PROPERTY , std::vector< float > >
_map_em_candidate_branches
;
114
117
std::map< std::string , float >
_map_event_branches
;
118
120
PHCompositeNode
*
_topNode
;
121
122
int
CollectEmCandidatesFromCluster
(
type_map_tcan
& );
123
124
int
CollectEmCandidatesFromTruth
(
type_map_tcan
& );
125
126
int
InsertCandidateFromCluster
(
type_map_tcan
& ,
RawCluster
* ,
CaloEvalStack
* ,
SvtxTrackMap
*);
127
128
int
AddGlobalCalorimeterInformation
();
129
130
int
AddReconstructedKinematics
(
type_map_tcan
& ,
std::string
);
131
132
int
WriteCandidatesToTree
(
type_map_tcan
& );
133
134
int
AddTruthEventInformation
();
135
137
PidCandidate
*
FindMinDeltaRCandidate
(
type_map_tcan
*,
const
float
,
const
float
);
138
140
float
CalculateDeltaR
(
float
,
float
,
float
,
float
);
141
143
void
ResetBranchMap
();
144
145
146
};
147
148
#endif // __DISKinematicsReco_H__
analysis
blob
master
EICAnalysis
DISKinematicsReco.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:17:48
using
1.8.2 with
sPHENIX GitHub integration