BmnRoot
26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
BmnEventCentrality.cxx
Go to the documentation of this file.
1
#include "
BmnEventCentrality.h
"
2
3
BmnEventCentrality::BmnEventCentrality
()
4
:
TNamed
()
5
,
fClassProbability
()
6
{}
7
8
BmnEventCentrality::BmnEventCentrality
(
const
BmnEventCentrality
& other)
9
:
TNamed
(other)
10
,
fClassProbability
(other.
fClassProbability
)
11
{
12
// Copy constructor: copies the class probability set
13
}
14
15
BmnEventCentrality
&
BmnEventCentrality::operator=
(
const
BmnEventCentrality
& other)
16
{
17
if
(
this
!= &other) {
18
TNamed::operator=
(other);
19
fClassProbability
= other.
fClassProbability
;
// Copy the class probability set
20
}
21
return
*
this
;
22
}
23
24
BmnEventCentrality::~BmnEventCentrality
()
25
{
26
// Destructor: nothing to do as the set is cleaned up automatically
27
}
28
29
int
BmnEventCentrality::GetClass
()
const
30
{
31
return
GetClass
(
BmnCentralityClass::Method::FHCalHodo
);
// Delegate to the method-specific function
32
}
33
34
float
BmnEventCentrality::GetProbability
()
const
35
{
36
return
GetProbability
(
BmnCentralityClass::Method::FHCalHodo
);
// Delegate to the method-specific function
37
}
38
39
const
std::vector<float>&
BmnEventCentrality::GetSoftCentrality
()
const
40
{
41
return
GetSoftCentrality
(
BmnCentralityClass::Method::FHCalHodo
);
// Delegate to the method-specific function
42
}
43
44
std::pair<int, float>
BmnEventCentrality::GetClassProbabilityPair
(
BmnCentralityClass::Method
method)
const
45
{
46
int
candida = -1;
47
float
proba = -1.0;
48
for
(
const
auto
& cls :
fClassProbability
) {
49
if
(cls.GetMethod() == method) {
50
if
(cls.GetProbability() > proba) {
51
proba = cls.GetProbability();
52
candida = cls.GetIndex();
53
}
54
}
55
}
56
return
std::make_pair(candida, proba);
57
}
58
59
int
BmnEventCentrality::GetClass
(
BmnCentralityClass::Method
method)
const
60
{
61
return
GetClassProbabilityPair
(method).first;
62
}
63
64
float
BmnEventCentrality::GetProbability
(
BmnCentralityClass::Method
method)
const
65
{
66
return
GetClassProbabilityPair
(method).second;
67
}
68
69
const
std::vector<float>&
BmnEventCentrality::GetSoftCentrality
(
BmnCentralityClass::Method
method)
const
70
{
71
// Convert fClassProbability to a std::vector<float>
72
static
std::vector<float> probabilities;
73
probabilities.clear();
74
for
(
const
auto
& cls :
fClassProbability
) {
75
probabilities.push_back(cls.GetProbability());
76
}
77
return
probabilities;
78
}
79
80
void
BmnEventCentrality::SetCentrality
(
int
cluster_id,
float
probability,
BmnCentralityClass::Method
method)
81
{
82
// Add or update the class probability for the specified method
83
fClassProbability
.insert({cluster_id, probability, method});
84
}
85
86
void
BmnEventCentrality::Reset
()
87
{
88
fClassProbability
.clear();
// Clear the class probability set
89
}
BmnCentralityClass::Method
Method
Definition
BmnCentralityClass.h:17
BmnCentralityClass::Method::FHCalHodo
@ FHCalHodo
Definition
BmnCentralityClass.h:18
BmnEventCentrality::GetSoftCentrality
const std::vector< float > & GetSoftCentrality() const
Definition
BmnEventCentrality.cxx:39
BmnEventCentrality::~BmnEventCentrality
virtual ~BmnEventCentrality()
Definition
BmnEventCentrality.cxx:24
BmnEventCentrality::SetCentrality
void SetCentrality(int cluster_id, float probability, BmnCentralityClass::Method method)
Definition
BmnEventCentrality.cxx:80
BmnEventCentrality::GetClass
int GetClass() const
Definition
BmnEventCentrality.cxx:29
BmnEventCentrality::Reset
void Reset()
Definition
BmnEventCentrality.cxx:86
BmnEventCentrality::GetClassProbabilityPair
std::pair< int, float > GetClassProbabilityPair(BmnCentralityClass::Method method) const
Definition
BmnEventCentrality.cxx:44
BmnEventCentrality::BmnEventCentrality
BmnEventCentrality()
Definition
BmnEventCentrality.cxx:3
BmnEventCentrality::operator=
BmnEventCentrality & operator=(const BmnEventCentrality &other)
Definition
BmnEventCentrality.cxx:15
BmnEventCentrality::GetProbability
float GetProbability() const
Definition
BmnEventCentrality.cxx:34
BmnEventCentrality::fClassProbability
std::set< BmnCentralityClass, Comparator > fClassProbability
Definition
BmnEventCentrality.h:45
TNamed::TNamed
TNamed()
TNamed::operator=
TNamed & operator=(const TNamed &rhs)
BmnEventCentrality.h
reconstruction
centrality
BmnEventCentrality.cxx
Generated on
for BmnRoot by
1.17.0