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
CaloCalibEmc_Pi0.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file CaloCalibEmc_Pi0.h
1
// Tell emacs that this is a C++ source
2
// -*- C++ -*-.
3
#ifndef CALOCALIBEMC_PI0_H
4
#define CALOCALIBEMC_PI0_H
5
6
#include <
fun4all/SubsysReco.h
>
7
8
#include <array>
9
#include <string>
10
11
class
PHCompositeNode
;
12
class
TFile;
13
class
TH1F;
14
class
TH2F;
15
class
TH3F;
16
class
TF1;
17
class
TH1;
18
class
TNtuple;
19
class
TTree;
20
class
TString;
21
class
TCanvas;
22
23
class
CaloCalibEmc_Pi0
:
public
SubsysReco
24
{
25
public
:
26
CaloCalibEmc_Pi0
(
const
std::string
&
name
=
"CaloCalibEmc_Pi0"
,
const
std::string
&fnm =
"outJF"
);
27
28
~CaloCalibEmc_Pi0
()
override
=
default
;
29
35
int
InitRun
(
PHCompositeNode
*topNode)
override
;
36
40
int
process_event
(
PHCompositeNode
*topNode)
override
;
41
43
int
End
(
PHCompositeNode
*topNode)
override
;
44
45
void
Loop
(
int
nevts,
const
std::string
&
filename
, TTree *intree = 0,
const
std::string
&ifileCorr =
""
);
46
void
Loop_for_eta_slices
(
int
nevts,
const
std::string
&filename, TTree *intree = 0,
const
std::string
&ifileCorr =
""
);
47
48
void
Fit_Histos_Etas96
(
const
std::string
&infilent);
49
void
Fit_Histos
(
const
std::string
&infilent);
50
void
Fit_Histos_Eta_Phi_Add96
(
const
std::string
&infilent);
51
void
Fit_Histos_Eta_Phi_Add32
(
const
std::string
&infilent);
52
53
void
set_centrality_nclusters_cut
(
int
n
) {
m_cent_nclus_cut
=
n
; }
54
55
void
Add_32
();
56
void
Add_96
();
57
58
void
Get_Histos
(
const
std::string
&
infile
,
const
std::string
&
outfile
);
59
60
void
set_UseTowerInfo
(
const
int
useMode)
61
{
// 0 only old tower, 1 only new (TowerInfo based),
62
m_UseTowerInfo
= useMode;
63
}
64
65
void
setInputClusterNodeName
(
const
std::string
&inpNodenm)
66
{
67
_inputnodename
= inpNodenm;
68
}
69
70
void
setInputTowerNodeName
(
const
std::string
&inpNodenm)
71
{
72
_inputtownodename
= inpNodenm;
73
}
74
75
void
set_calibSetMassVal
(
float
insetval)
76
{
77
_setMassVal
= insetval;
78
}
79
80
private
:
81
// float setMassVal = 0.135;
82
float
_setMassVal
{0.152};
83
// currently defaulting to 0.152 to match sim
84
85
int
m_ievent
{0};
86
std::string
m_Filename
;
87
TFile *
cal_output
{
nullptr
};
88
std::string
_caloname
{
"CEMC"
};
89
std::string
_inputnodename
;
90
std::string
_inputtownodename
;
91
92
int
m_cent_nclus_cut
{0};
93
94
// histos lists
95
// std::arrays have their indices backward, this is the old TH1 *cemc_hist_eta_phi[96][258];
96
std::array<std::array<TH1 *, 258>, 96>
cemc_hist_eta_phi
{};
97
std::array<TH1 *, 96>
eta_hist
{};
98
TH2F *
mass_eta
{
nullptr
};
99
TH3F *
mass_eta_phi
{
nullptr
};
100
TH1F *
h_totalClusters
{
nullptr
};
101
TH3F *
pt1_ptpi0_alpha
{
nullptr
};
102
TH2F *
fitp1_eta_phi2d
{
nullptr
};
103
TH1F *
pairInvMassTotal
{
nullptr
};
104
105
TTree *
_eventTree
{
nullptr
};
106
// TTree variables
107
int
_eventNumber
{-1};
108
int
_nClusters
{-1};
109
float
_clusterIDs
[10000]{0};
110
float
_clusterEnergies
[10000]{0};
111
float
_clusterPts
[10000]{0};
112
float
_clusterEtas
[10000]{0};
113
float
_clusterPhis
[10000]{0};
114
115
int
maxTowerEta
{-1};
116
int
maxTowerPhi
{-1};
117
118
int
_maxTowerEtas
[10000]{0};
119
int
_maxTowerPhis
[10000]{0};
120
121
float
alphaCut
{-1.};
122
// TNtuple -> to store fit parameters
123
124
/* TNtuple *nt_corrVals; */
125
/* TF1 *fit_func; */
126
/* TF1 *fit_result; */
127
/* float fit_value_mean; */
128
/* float corr_val; */
129
130
TFile *
f_temp
{
nullptr
};
131
132
int
m_UseTowerInfo
{0};
// 0 only old tower, 1 only new (TowerInfo based),
133
};
134
135
#endif // CALOCALIBEMC_PI0_H
coresoftware
blob
master
calibrations
calorimeter
calo_emc_pi0_tbt
CaloCalibEmc_Pi0.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:17:58
using
1.8.2 with
sPHENIX GitHub integration