Main Page
Namespaces
Classes
Package Documentation
DataFormats
HGCalReco
interface
Trackster.h
Go to the documentation of this file.
1
// Author: Felice Pantaleo - felice.pantaleo@cern.ch
2
// Date: 09/2018
3
4
#ifndef DataFormats_HGCalReco_Trackster_h
5
#define DataFormats_HGCalReco_Trackster_h
6
7
#include <array>
8
#include <vector>
9
#include "
DataFormats/Provenance/interface/ProductID.h
"
10
11
// A Trackster is a Direct Acyclic Graph created when
12
// pattern recognition algorithms connect hits or
13
// layer clusters together in a 3D object.
14
15
namespace
ticl
{
16
struct
Trackster
{
17
// The vertices of the DAG are the indices of the
18
// 2d objects in the global collection
19
std::vector<unsigned int>
vertices
;
20
std::vector<uint8_t>
vertex_multiplicity
;
21
22
// The edges connect two vertices together in a directed doublet
23
// ATTENTION: order matters!
24
// A doublet generator should create edges in which:
25
// the first element is on the inner layer and
26
// the outer element is on the outer layer.
27
std::vector<std::array<unsigned int, 2> >
edges
;
28
29
edm::ProductID
seedID
;
30
int
seedIndex
;
31
32
// regressed energy
33
float
regressed_energy
;
34
35
// types considered by the particle identification
36
enum class
ParticleType
{
37
photon
= 0,
38
electron
,
39
muon
,
40
neutral_pion
,
41
charged_hadron
,
42
neutral_hadron
,
43
ambiguous
,
44
unknown
,
45
};
46
47
// trackster ID probabilities
48
std::array<float, 8>
id_probabilities
;
49
50
// convenience method to return the ID probability for a certain particle type
51
inline
float
id_probability
(
ParticleType
type
)
const
{
52
// probabilities are stored in the same order as defined in the ParticleType enum
53
return
id_probabilities[(
int
)type];
54
}
55
};
56
}
// namespace ticl
57
#endif
ticl::Trackster::ParticleType::muon
type
type
Definition:
HCALResponse.h:21
ticl::Trackster::vertex_multiplicity
std::vector< uint8_t > vertex_multiplicity
Definition:
Trackster.h:20
ticl::Trackster::vertices
std::vector< unsigned int > vertices
Definition:
Trackster.h:19
ProductID.h
ticl::Trackster::ParticleType::neutral_hadron
ticl::Trackster::seedID
edm::ProductID seedID
Definition:
Trackster.h:29
ticl::Trackster::ParticleType
ParticleType
Definition:
Trackster.h:36
createfilelist.int
int
Definition:
createfilelist.py:10
edm::ProductID
Definition:
ProductID.h:27
ticl::Trackster::ParticleType::unknown
ticl::Trackster::seedIndex
int seedIndex
Definition:
Trackster.h:30
ticl::Trackster::ParticleType::ambiguous
ticl::Trackster::regressed_energy
float regressed_energy
Definition:
Trackster.h:33
ticl::Trackster::ParticleType::neutral_pion
ticl::Trackster::ParticleType::charged_hadron
ticl::Trackster::ParticleType::photon
ticl::Trackster::ParticleType::electron
ticl::Trackster
Definition:
Trackster.h:16
ticl
ticl::Trackster::edges
std::vector< std::array< unsigned int, 2 > > edges
Definition:
Trackster.h:27
ticl::Trackster::id_probability
float id_probability(ParticleType type) const
Definition:
Trackster.h:51
ticl::Trackster::id_probabilities
std::array< float, 8 > id_probabilities
Definition:
Trackster.h:48
Generated for CMSSW Reference Manual by
1.8.11