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
HIJetReco.C
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file HIJetReco.C
1
#ifndef MACRO_HIJETRECO_C
2
#define MACRO_HIJETRECO_C
3
4
#include <
GlobalVariables.C
>
5
6
#include <
jetbase/FastJetAlgo.h
>
7
#include <
jetbase/JetReco.h
>
8
#include <
jetbase/TowerJetInput.h
>
9
#include <
g4jets/TruthJetInput.h
>
10
11
#include <
jetbackground/CopyAndSubtractJets.h
>
12
#include <
jetbackground/DetermineTowerBackground.h
>
13
#include <
jetbackground/FastJetAlgoSub.h
>
14
#include <
jetbackground/RetowerCEMC.h
>
15
#include <
jetbackground/SubtractTowers.h
>
16
#include <
jetbackground/SubtractTowersCS.h
>
17
18
#include <
fun4all/Fun4AllServer.h
>
19
20
R__LOAD_LIBRARY(libjetbase.so)
21
R__LOAD_LIBRARY(libg4jets.so)
22
R__LOAD_LIBRARY(libjetbackground.so)
23
24
namespace Enable
25
{
26
bool
HIJETS
=
false
;
27
int
HIJETS_VERBOSITY
= 0;
28
bool
HIJETS_MC
=
true
;
29
bool
HIJETS_TRUTH
=
false
;
30
}
// namespace Enable
31
32
namespace
HIJETS
33
{
34
bool
do_flow
=
false
;
// should be set to true once the EPD event plane correction is implemented
35
bool
do_CS
=
false
;
36
}
// namespace HIJETS
37
38
39
void
HIJetReco
()
40
{
41
int
verbosity
= std::max(
Enable::VERBOSITY
,
Enable::HIJETS_VERBOSITY
);
42
43
44
//---------------
45
// Fun4All server
46
//---------------
47
Fun4AllServer
*se =
Fun4AllServer::instance
();
48
49
if
(
Enable::HIJETS_MC
&&
Enable::HIJETS_TRUTH
)
50
{
51
JetReco
*truthjetreco =
new
JetReco
();
52
TruthJetInput
*tji =
new
TruthJetInput
(
Jet::PARTICLE
);
53
tji->
add_embedding_flag
(0);
// changes depending on signal vs. embedded
54
truthjetreco->
add_input
(tji);
55
truthjetreco->
add_algo
(
new
FastJetAlgo
(
Jet::ANTIKT
, 0.2),
"AntiKt_Truth_r02"
);
56
truthjetreco->
add_algo
(
new
FastJetAlgo
(
Jet::ANTIKT
, 0.3),
"AntiKt_Truth_r03"
);
57
truthjetreco->
add_algo
(
new
FastJetAlgo
(
Jet::ANTIKT
, 0.4),
"AntiKt_Truth_r04"
);
58
truthjetreco->
add_algo
(
new
FastJetAlgo
(
Jet::ANTIKT
, 0.5),
"AntiKt_Truth_r05"
);
59
truthjetreco->
set_algo_node
(
"ANTIKT"
);
60
truthjetreco->
set_input_node
(
"TRUTH"
);
61
truthjetreco->
Verbosity
(verbosity);
62
se->
registerSubsystem
(truthjetreco);
63
}
64
65
RetowerCEMC
*rcemc =
new
RetowerCEMC
();
66
rcemc->
Verbosity
(verbosity);
67
rcemc->
set_towerinfo
(
true
);
68
se->
registerSubsystem
(rcemc);
69
70
71
JetReco
*towerjetreco =
new
JetReco
();
72
towerjetreco->
add_input
(
new
TowerJetInput
(
Jet::CEMC_TOWERINFO_RETOWER
));
73
towerjetreco->
add_input
(
new
TowerJetInput
(
Jet::HCALIN_TOWERINFO
));
74
towerjetreco->
add_input
(
new
TowerJetInput
(
Jet::HCALOUT_TOWERINFO
));
75
towerjetreco->
add_algo
(
new
FastJetAlgo
(
Jet::ANTIKT
, 0.2),
"AntiKt_TowerInfo_HIRecoSeedsRaw_r02"
);
76
towerjetreco->
set_algo_node
(
"ANTIKT"
);
77
towerjetreco->
set_input_node
(
"TOWER"
);
78
towerjetreco->
Verbosity
(verbosity);
79
se->
registerSubsystem
(towerjetreco);
80
81
DetermineTowerBackground
*dtb =
new
DetermineTowerBackground
();
82
dtb->
SetBackgroundOutputName
(
"TowerInfoBackground_Sub1"
);
83
dtb->
SetFlow
(
HIJETS::do_flow
);
84
dtb->
SetSeedType
(0);
85
dtb->
SetSeedJetD
(3);
86
dtb->
set_towerinfo
(
true
);
87
dtb->
Verbosity
(verbosity);
88
se->
registerSubsystem
(dtb);
89
90
91
92
CopyAndSubtractJets
*casj =
new
CopyAndSubtractJets
();
93
casj->
SetFlowModulation
(
HIJETS::do_flow
);
94
casj->
Verbosity
(verbosity);
95
casj->
set_towerinfo
(
true
);
96
se->
registerSubsystem
(casj);
97
98
99
DetermineTowerBackground
*dtb2 =
new
DetermineTowerBackground
();
100
dtb2->
SetBackgroundOutputName
(
"TowerInfoBackground_Sub2"
);
101
dtb2->
SetFlow
(
HIJETS::do_flow
);
102
dtb2->
SetSeedType
(1);
103
dtb2->
SetSeedJetPt
(7);
104
dtb2->
Verbosity
(verbosity);
105
dtb2->
set_towerinfo
(
true
);
106
se->
registerSubsystem
(dtb2);
107
108
109
SubtractTowers
*st =
new
SubtractTowers
();
110
st->
SetFlowModulation
(
HIJETS::do_flow
);
111
st->
Verbosity
(verbosity);
112
st->
set_towerinfo
(
true
);
113
se->
registerSubsystem
(st);
114
115
towerjetreco =
new
JetReco
();
116
towerjetreco->
add_input
(
new
TowerJetInput
(
Jet::CEMC_TOWERINFO_SUB1
));
117
towerjetreco->
add_input
(
new
TowerJetInput
(
Jet::HCALIN_TOWERINFO_SUB1
));
118
towerjetreco->
add_input
(
new
TowerJetInput
(
Jet::HCALOUT_TOWERINFO_SUB1
));
119
towerjetreco->
add_algo
(
new
FastJetAlgoSub
(
Jet::ANTIKT
, 0.2, 1),
"AntiKt_Tower_r02_Sub1"
);
120
towerjetreco->
add_algo
(
new
FastJetAlgoSub
(
Jet::ANTIKT
, 0.3, 1),
"AntiKt_Tower_r03_Sub1"
);
121
towerjetreco->
add_algo
(
new
FastJetAlgoSub
(
Jet::ANTIKT
, 0.4, 1),
"AntiKt_Tower_r04_Sub1"
);
122
towerjetreco->
add_algo
(
new
FastJetAlgoSub
(
Jet::ANTIKT
, 0.5, 1),
"AntiKt_Tower_r05_Sub1"
);
123
towerjetreco->
set_algo_node
(
"ANTIKT"
);
124
towerjetreco->
set_input_node
(
"TOWER"
);
125
towerjetreco->
Verbosity
(verbosity);
126
se->
registerSubsystem
(towerjetreco);
127
128
return
;
129
130
}
131
#endif
macros
blob
master
common
HIJetReco.C
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:18:27
using
1.8.2 with
sPHENIX GitHub integration