ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
Jet.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file Jet.h
1
#ifndef G4JET_JET_H
2
#define G4JET_JET_H
3
4
#include <
phool/PHObject.h
>
5
6
#include <cmath>
7
#include <cstddef>
// for size_t
8
#include <iostream>
9
#include <map>
10
11
class
Jet
:
public
PHObject
12
{
13
public
:
14
// enums can be extended with new values, but values not altered
15
16
enum
ALGO
17
{
18
NONE
= 0,
19
ANTIKT
= 1,
20
KT
= 2,
21
CAMBRIDGE
= 3
22
};
23
24
enum
SRC
25
{
26
VOID
= 0,
27
PARTICLE
= 1,
28
TRACK
= 2,
29
CEMC_TOWER
= 3,
30
CEMC_CLUSTER
= 4,
31
HCALIN_TOWER
= 5,
32
HCALIN_CLUSTER
= 6,
33
HCALOUT_TOWER
= 7,
34
HCALOUT_CLUSTER
= 8,
35
FEMC_TOWER
= 9,
36
FEMC_CLUSTER
= 10,
37
FHCAL_TOWER
= 11,
38
FHCAL_CLUSTER
= 12,
39
CEMC_TOWER_RETOWER
= 13,
/* needed for HI jet reco */
40
CEMC_TOWER_SUB1
= 14,
41
HCALIN_TOWER_SUB1
= 15,
42
HCALOUT_TOWER_SUB1
= 16,
/* needed for HI jet reco */
43
CEMC_TOWER_SUB1CS
= 17,
44
HCALIN_TOWER_SUB1CS
= 18,
45
HCALOUT_TOWER_SUB1CS
= 19,
/* needed for CS subtraction w/ HI jet reco */
46
HEPMC_IMPORT
= 20,
/*Direct import HEPMC containers, such as sHijing HIJFRG truth jets loaded by JetHepMCLoader*/
47
HCAL_TOPO_CLUSTER
= 21,
/* I+HOCal 3-D topoCluster input */
48
ECAL_TOPO_CLUSTER
= 22,
/* EMCal 3-D topoCluster input */
49
EEMC_TOWER
= 23,
50
EEMC_CLUSTER
= 24,
51
};
52
53
enum
PROPERTY
54
{
55
57
prop_JetCharge
= 1,
58
60
prop_BFrac
= 2,
61
64
prop_SeedD
= 3,
65
68
prop_SeedItr
= 4,
69
71
prop_zg
= 5,
72
prop_Rg
= 6,
73
prop_mu
= 7,
74
75
};
76
77
Jet
() {}
78
~Jet
()
override
{}
79
80
void
identify
(std::ostream& os = std::cout)
const override
;
81
int
isValid
()
const override
{
return
0; }
82
PHObject
*
CloneMe
()
const override
{
return
nullptr
; }
83
84
// jet info ------------------------------------------------------------------
85
86
virtual
unsigned
int
get_id
()
const
{
return
0xFFFFFFFF; }
87
virtual
void
set_id
(
unsigned
int
) {
return
; }
88
89
virtual
float
get_px
()
const
{
return
NAN; }
90
virtual
void
set_px
(
float
) {
return
; }
91
92
virtual
float
get_py
()
const
{
return
NAN; }
93
virtual
void
set_py
(
float
) {
return
; }
94
95
virtual
float
get_pz
()
const
{
return
NAN; }
96
virtual
void
set_pz
(
float
) {
return
; }
97
98
virtual
float
get_e
()
const
{
return
NAN; }
99
virtual
void
set_e
(
float
) {
return
; }
100
101
virtual
float
get_p
()
const
{
return
NAN; }
102
virtual
float
get_pt
()
const
{
return
NAN; }
103
virtual
float
get_et
()
const
{
return
NAN; }
104
virtual
float
get_eta
()
const
{
return
NAN; }
105
virtual
float
get_phi
()
const
{
return
NAN; }
106
virtual
float
get_mass
()
const
{
return
NAN; }
107
virtual
float
get_mass2
()
const
{
return
NAN; }
108
109
// extended jet info ---------------------------------------------------------
110
111
virtual
bool
has_property
(
Jet::PROPERTY
/*prop_id*/
)
const
{
return
false
; }
112
virtual
float
get_property
(
Jet::PROPERTY
/*prop_id*/
)
const
{
return
NAN; }
113
virtual
void
set_property
(
Jet::PROPERTY
/*prop_id*/
,
float
/*value*/
) {
return
; }
114
virtual
void
print_property
(std::ostream&
/*os*/
)
const
{
return
; }
115
116
// component id storage ------------------------------------------------------
117
124
typedef
std::multimap<Jet::SRC, unsigned int>
typ_comp_ids
;
125
typedef
typ_comp_ids::const_iterator
ConstIter
;
126
typedef
typ_comp_ids::iterator
Iter
;
127
128
virtual
bool
empty_comp
()
const
{
return
true
; }
129
virtual
size_t
size_comp
()
const
{
return
0; }
130
virtual
size_t
count_comp
(
Jet::SRC
/*source*/
)
const
{
return
0; }
131
132
virtual
void
clear_comp
() {
return
; }
133
virtual
void
insert_comp
(
Jet::SRC
/*source*/
,
unsigned
int
/*compid*/
) {
return
; }
134
virtual
size_t
erase_comp
(
Jet::SRC
/*source*/
) {
return
0; }
135
virtual
void
erase_comp
(
Iter
/*iter*/
) {
return
; }
136
virtual
void
erase_comp
(
Iter
/*first*/
,
Iter
/*last*/
) {
return
; }
137
138
virtual
ConstIter
begin_comp
()
const
;
139
virtual
ConstIter
lower_bound_comp
(
Jet::SRC
source)
const
;
140
virtual
ConstIter
upper_bound_comp
(
Jet::SRC
source)
const
;
141
virtual
ConstIter
find
(
Jet::SRC
source)
const
;
142
virtual
ConstIter
end_comp
()
const
;
143
144
virtual
Iter
begin_comp
();
145
virtual
Iter
lower_bound_comp
(
Jet::SRC
source);
146
virtual
Iter
upper_bound_comp
(
Jet::SRC
source);
147
virtual
Iter
find
(
Jet::SRC
source);
148
virtual
Iter
end_comp
();
149
150
ClassDefOverride
(
Jet
, 1);
151
};
152
153
#endif
coresoftware
blob
master
simulation
g4simulation
g4jets
Jet.h
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:24:43
using
1.8.2 with
ECCE GitHub integration