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
JetBkgdSub.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file JetBkgdSub.h
1
// Tell emacs that this is a C++ source
2
// -*- C++ -*-.
3
#ifndef JETBKGDSUB_H
4
#define JETBKGDSUB_H
5
6
#include <
fun4all/SubsysReco.h
>
7
#include <
jetbase/Jetv1.h
>
8
9
#include <memory>
10
#include <string>
11
#include <utility>
// std::pair, std::make_pair
12
#include <vector>
13
14
class
PHCompositeNode
;
15
class
TTree;
16
class
JetInput
;
17
class
JetAlgo
;
18
class
JetEvalStack
;
19
20
class
JetBkgdSub
:
public
SubsysReco
21
{
22
public
:
23
// constructor
24
JetBkgdSub
(
const
double
jet_R
= 0.4,
25
const
std::string
&outputfilename =
"jettree.root"
);
26
27
~JetBkgdSub
()
override
;
// destructor
28
29
// setters
30
void
doIterative
(
bool
b
=
true
) {
_doIterative
=
b
; }
31
void
doAreaSub
(
bool
b
=
true
) {
_doAreaSub
=
b
; }
32
void
doMultSub
(
bool
b
=
true
) {
_doMultSub
=
b
; }
33
void
doTruth
(
bool
b
=
true
) {
_doTruth
=
b
; }
34
void
doData
(
bool
b
=
true
) {
_doData
=
b
; }
35
void
doEmbed
(
bool
b
=
true
) {
_doEmbed
=
b
;}
36
void
doTowerECut
(
bool
b
=
true
) {
_doTowerECut
=
b
;}
37
38
void
setEtaRange
(
double
low,
double
high)
39
{
40
m_etaRange
.first = low;
41
m_etaRange
.second = high;
42
}
43
44
void
setPtRange
(
double
low,
double
high)
45
{
46
m_ptRange
.first = low;
47
m_ptRange
.second = high;
48
}
49
50
void
setMinRecoPt
(
double
pt
) {
_minrecopT
=
pt
; }
51
52
void
setVzCut
(
double
cut) {
m_vtxZ_cut
= cut; }
53
54
void
setTowerThreshold
(
double
threshold) {
m_towerThreshold
= threshold;}
55
56
void
add_input
(
JetInput
*
input
) {
_inputs
.push_back(input); }
57
58
// event trigger (for simulation)
59
float
LeadingR04TruthJet
(
PHCompositeNode
*topNode);
60
61
// Standard Fun4All functions
62
int
Init
(
PHCompositeNode
*topNode)
override
;
63
int
process_event
(
PHCompositeNode
*topNode)
override
;
64
int
ResetEvent
(
PHCompositeNode
*topNode)
override
;
65
int
End
(
PHCompositeNode
*topNode)
override
;
66
67
void
EstimateRhoMult
(
PHCompositeNode
*topNode);
68
double
GetMedian
(std::vector<double> &
v
);
69
void
GetCentInfo
(
PHCompositeNode
*topNode);
70
float
NSignalCorrection
(
float
jet_pt,
int
cent);
71
72
private
:
73
74
// private variables
75
double
m_jet_R
;
76
std::string
m_iter_input
;
77
std::string
m_raw_input
;
78
std::string
m_truth_input
;
79
std::string
m_outputfilename
;
80
std::pair<double, double>
m_etaRange
;
81
std::pair<double, double>
m_ptRange
;
82
double
_minrecopT
;
83
double
m_vtxZ_cut
;
84
double
m_towerThreshold
;
85
std::vector<JetInput *>
_inputs
;
86
bool
_doIterative
;
87
bool
_doAreaSub
;
88
bool
_doMultSub
;
89
bool
_doTruth
;
90
bool
_doData
;
91
bool
_doEmbed
;
92
bool
_doTowerECut
;
93
94
//____________________________________________________________________________..
95
// output tree variables
96
int
m_event
;
97
int
m_rhoA_jets
;
98
int
m_mult_jets
;
99
int
m_iter_jets
;
100
int
m_truth_jets
;
101
int
m_centrality
;
102
double
m_mbd_NS
;
103
double
m_rho_area
;
104
double
m_rho_area_sigma
;
105
double
m_rho_area_CEMC
;
106
double
m_rho_area_sigma_CEMC
;
107
double
m_rho_area_IHCAL
;
108
double
m_rho_area_sigma_IHCAL
;
109
double
m_rho_area_OHCAL
;
110
double
m_rho_area_sigma_OHCAL
;
111
double
m_rho_mult
;
112
113
float
m_event_leading_truth_pt
;
114
115
// output trees
116
TTree *
m_tree
;
117
//sub1 jet variables
118
std::vector<float>
m_iter_eta
;
119
std::vector<float>
m_iter_phi
;
120
std::vector<float>
m_iter_pt
;
121
std::vector<float>
m_iter_pt_unsub
;
122
123
// rhoA jet variables
124
std::vector<float>
m_rhoA_eta
;
125
std::vector<float>
m_rhoA_phi
;
126
std::vector<float>
m_rhoA_pt
;
127
std::vector<float>
m_rhoA_area
;
128
std::vector<float>
m_rhoA_pt_unsub
;
129
130
// mult jet variables
131
std::vector<int>
m_mult_ncomponent
;
132
std::vector<float>
m_mult_nsignal
;
133
std::vector<float>
m_mult_eta
;
134
std::vector<float>
m_mult_phi
;
135
std::vector<float>
m_mult_pt
;
136
std::vector<float>
m_mult_pt_unsub
;
137
138
// truth jet variables
139
std::vector<int>
m_truth_ncomponent
;
140
std::vector<float>
m_truth_eta
;
141
std::vector<float>
m_truth_phi
;
142
std::vector<float>
m_truth_pt
;
143
144
};
145
146
#endif // JETBKGDSUB_H
analysis
blob
master
JS-Jet
JetBkgdSub
src
JetBkgdSub.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:17:53
using
1.8.2 with
sPHENIX GitHub integration