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
PHMicromegasTpcTrackMatching.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file PHMicromegasTpcTrackMatching.h
1
// Tell emacs that this is a C++ source
2
// -*- C++ -*-.
3
#ifndef PHMICROMEGASTPCTRACKMATCHING_H
4
#define PHMICROMEGASTPCTRACKMATCHING_H
5
6
#include <
fun4all/SubsysReco.h
>
7
#include <
tpc/TpcDistortionCorrection.h
>
8
#include <
tpc/TpcClusterZCrossingCorrection.h
>
9
10
#include <
trackbase/TrkrDefs.h
>
11
12
#include <array>
13
#include <string>
14
#include <vector>
15
16
class
ActsGeometry
;
17
class
TrkrClusterContainer
;
18
class
TrkrClusterIterationMapv1
;
19
class
TrackSeedContainer
;
20
class
PHCompositeNode
;
21
class
PHG4CylinderGeomContainer
;
22
class
TrackSeed
;
23
class
TrkrCluster
;
24
class
TF1;
25
class
TH1;
26
27
class
PHMicromegasTpcTrackMatching
:
public
SubsysReco
28
{
29
30
public
:
31
PHMicromegasTpcTrackMatching
(
const
std::string
&
name
=
"PHMicromegasTpcTrackMatching"
);
32
~PHMicromegasTpcTrackMatching
()
override
=
default
;
33
34
void
set_rphi_search_window_lyr1
(
const
double
win){
_rphi_search_win
[0] = win;}
35
void
set_z_search_window_lyr1
(
const
double
win){
_z_search_win
[0] = win;}
36
void
set_rphi_search_window_lyr2
(
const
double
win){
_rphi_search_win
[1] = win;}
37
void
set_z_search_window_lyr2
(
const
double
win){
_z_search_win
[1] = win;}
38
void
set_min_tpc_layer
(
const
unsigned
int
layer
){
_min_tpc_layer
=
layer
;}
39
void
set_test_windows_printout
(
const
bool
test
){
_test_windows
=
test
;}
40
void
SetIteration
(
int
iter){
_n_iteration
= iter;}
41
42
int
InitRun
(
PHCompositeNode
* topNode)
override
;
43
int
process_event
(
PHCompositeNode
*)
override
;
44
int
End
(
PHCompositeNode
*)
override
;
45
46
// deprecated calls
47
inline
void
set_sc_calib_mode
(
const
bool
) {}
48
inline
void
set_collision_rate
(
const
double
) {}
49
50
private
:
51
53
int
GetNodes
(
PHCompositeNode
* topNode);
54
55
void
copyMicromegasClustersToCorrectedMap
( );
56
Acts::Vector3
getGlobalPosition
(
TrkrDefs::cluskey
key,
TrkrCluster
* cluster,
short
int
crossing,
unsigned
int
side);
57
59
static
constexpr
unsigned
int
_n_mm_layers
= 2;
60
61
bool
_use_truth_clusters
=
false
;
62
TrkrClusterContainer
*
_cluster_map
{
nullptr
};
63
TrkrClusterContainer
*
_corrected_cluster_map
{
nullptr
};
64
65
TrackSeedContainer
*
_svtx_seed_map
{
nullptr
};
66
TrackSeedContainer
*
_tpc_track_map
{
nullptr
};
67
TrackSeedContainer
*
_si_track_map
{
nullptr
};
68
70
std::array<double,_n_mm_layers>
_rphi_search_win
= {0.25, 13.0};
71
73
std::array<double,_n_mm_layers>
_z_search_win
= {26.0, 0.25};
74
75
// range of TPC layers to use in projection to micromegas
76
unsigned
int
_min_tpc_layer
= 38;
77
79
80
unsigned
int
_min_mm_layer
= 55;
81
83
int
_event
= -1;
84
86
PHG4CylinderGeomContainer
*
_geomContainerMicromegas
=
nullptr
;
87
TrkrClusterIterationMapv1
*
_iteration_map
=
nullptr
;
88
int
_n_iteration
= 0;
89
// std::string _track_map_name = "TpcTrackSeedContainer";
90
91
ActsGeometry
*
_tGeometry
=
nullptr
;
92
93
// crossing z correction
94
TpcClusterZCrossingCorrection
m_clusterCrossingCorrection
;
95
96
// distortion corrections
97
TpcDistortionCorrectionContainer
*
m_dcc_static
=
nullptr
;
98
TpcDistortionCorrectionContainer
*
m_dcc_average
=
nullptr
;
99
TpcDistortionCorrectionContainer
*
m_dcc_fluctuation
=
nullptr
;
100
102
TpcDistortionCorrection
m_distortionCorrection
;
103
105
bool
_test_windows
=
false
;
106
107
};
108
109
#endif // PHMICROMEGASTPCTRACKMATCHING_H
coresoftware
blob
master
offline
packages
trackreco
PHMicromegasTpcTrackMatching.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:18:11
using
1.8.2 with
sPHENIX GitHub integration