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
PHTpcCentralMembraneClusterizer.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file PHTpcCentralMembraneClusterizer.h
1
// Tell emacs that this is a C++ source
2
// -*- C++ -*-.
3
#ifndef PHTPCCENTRALMEMBRANECLUSTERIZER_H
4
#define PHTPCCENTRALMEMBRANECLUSTERIZER_H
5
6
#include <string>
7
8
#include <
fun4all/SubsysReco.h
>
9
10
#include <
trackbase/TrkrDefs.h
>
11
#include <
trackbase/TrkrClusterContainer.h
>
12
#include <
tpc/TpcDistortionCorrectionContainer.h
>
13
#include <
tpc/TpcDistortionCorrection.h
>
14
15
#include <memory>
16
17
class
PHCompositeNode
;
18
class
SvtxTrackMap
;
19
class
SvtxTrack
;
20
class
SvtxVertexMap
;
21
class
TrkrClusterContainer
;
22
class
TrkrClusterHitAssoc
;
23
class
CMFlashClusterContainer
;
24
class
PHG4TpcCylinderGeomContainer
;
25
26
class
TF1;
27
class
TFile;
28
class
TH1F;
29
class
TH2F;
30
31
class
PHTpcCentralMembraneClusterizer
:
public
SubsysReco
32
{
33
public
:
34
35
PHTpcCentralMembraneClusterizer
(
const
std::string
&
name
=
"PHTpcCentralMembraneClusterizer"
);
36
37
void
set_histos_on
(
const
bool
val) {
_histos
= val;}
38
40
void
set_histogram_outputfile
(
const
std::string
&outputfile)
41
{
m_histogramfilename
= outputfile;}
42
43
void
set_min_adc_value
(
const
unsigned
int
val) {
_min_adc_value
= val;}
44
void
set_min_z_value
(
const
double
val) {
_min_z_value
= val;}
45
void
set_stripe_dr_values
(
const
double
dr1,
const
double
dr2,
const
double
dr3){
_cmclus_dr_inner
= dr1;
_cmclus_dr_mid
= dr2;
_cmclus_dr_outer
= dr3;}
46
47
void
set_modulo_threshold
(
int
val ) {
m_moduloThreshold
= val; }
48
void
set_metaCluster_threshold
(
int
val ) {
m_metaClusterThreshold
= val; }
49
51
int
InitRun
(
PHCompositeNode
*topNode);
52
54
int
process_event
(
PHCompositeNode
*topNode);
55
57
int
End
(
PHCompositeNode
* topNode);
58
59
protected
:
60
61
private
:
62
63
int
GetNodes
(
PHCompositeNode
* topNode);
64
65
std::string
_track_map_name
;
66
68
TpcDistortionCorrection
_distortionCorrection
;
69
70
TrkrClusterContainer
*
_cluster_map
{
nullptr
};
71
CMFlashClusterContainer
*
_corrected_CMcluster_map
{
nullptr
};
72
PHG4TpcCylinderGeomContainer
*
_geom_container
{
nullptr
};
73
TpcDistortionCorrectionContainer
*
_dcc
{
nullptr
};
74
76
77
int
m_total_clusters
= 0;
78
int
m_accepted_clusters
= 0;
79
int
m_cm_clusters
= 0;
80
int
m_cm_clusters_size1
= 0;
81
int
m_cm_clusters_size2
= 0;
83
84
int
m_moduloThreshold
= 5;
85
int
m_metaClusterThreshold
= 18;
86
87
bool
_histos
=
false
;
88
TH1F *
henergy
=
nullptr
;
89
TH1F *
hz
=
nullptr
;
90
TH1F *
hz_pos
=
nullptr
;
91
TH1F *
hz_neg
=
nullptr
;
92
TH2F *
hxy
=
nullptr
;
93
TH1F *
hDist
=
nullptr
;
94
TH2F *
hDistRow
=
nullptr
;
95
TH1F *
hDist2
=
nullptr
;
96
TH2F *
hDistRowAdj
=
nullptr
;
97
TH1F *
hDist2Adj
=
nullptr
;
98
TH1F *
hClustE
[3] = {
nullptr
};
99
100
TH2F *
hrPhi_reco_petalModulo_pos
=
nullptr
;
101
TH2F *
hrPhi_reco_petalModulo_neg
=
nullptr
;
102
103
TH1F *
hphi_reco_pos
[48] = {
nullptr
};
104
TH1F *
hphi_reco_neg
[48] = {
nullptr
};
105
106
TH1F *
hphi_reco_pair_pos
[47] = {
nullptr
};
107
TH1F *
hphi_reco_pair_neg
[47] = {
nullptr
};
108
109
int
nPairAbove_pos
[47] = {0};
110
int
nPairAbove_neg
[47] = {0};
111
112
double
pairAboveContent_pos
[47] = {0.0};
113
double
pairAboveContent_neg
[47] = {0.0};
114
115
std::string
m_histogramfilename
=
"PHTpcCentralMembraneClusterizer.root"
;
116
std::unique_ptr<TFile>
m_histogramfile
;
117
118
unsigned
int
_min_adc_value
= 0;
119
double
_min_z_value
= 0.0;
120
double
_cmclus_dr_inner
= 0.51;
//cm
121
double
_cmclus_dr_mid
= 0.95;
//cm
122
double
_cmclus_dr_outer
= 1.025;
//cm
123
124
};
125
126
#endif // PHTPCCENTRALMEMBRANECLUSTERIZER_H
coresoftware
blob
master
offline
packages
tpccalib
PHTpcCentralMembraneClusterizer.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:18:08
using
1.8.2 with
sPHENIX GitHub integration