NAIA
1.1.1
src
Containers
MCTruth.cpp
Go to the documentation of this file.
1
#include "fmt/format.h"
2
#include <bitset>
3
4
#include "
Containers/MCTruth.h
"
5
6
namespace
NAIA
{
7
const
std::string
MCTruthBase::BranchName
=
"MCTruthBaseData"
;
8
const
std::string
MCTruthPlus::BranchName
=
"MCTruthPlusData"
;
9
10
void
MCTruthBaseData::Clear
() {
Primary
=
MCParticle
{}; }
11
12
void
MCTruthBaseData::Dump
()
const
{
13
fmt::print(
"{:=^120} \n"
,
" MCTruthBaseData "
);
14
15
fmt::print(
"{:<32}\n"
,
"Primary particle"
);
16
fmt::print(
" {:>12} {:>12} {:>12} {:>12} {:>12} {:>20}\n"
,
"Z"
,
"A"
,
"Mass"
,
"PDG"
,
"Gen. Momentum"
,
17
"Gen. Position"
);
18
int
charge =
Primary
.
Z
;
19
for
(
unsigned
int
i = 0; i <
Primary
.
Position
.size(); ++i) {
20
fmt::print(
" {:>12} {:>12} {:>12.3f} {:>12} {:>12.3f} ({:6.2f}, {:6.2f}, {:6.2f})\n"
, charge,
Primary
.
A
,
21
Primary
.
Mass
,
Primary
.
PDGCode
,
Primary
.
GetGenMomentum
(),
Primary
.
Position
[i][0],
Primary
.
Position
[i][1],
22
Primary
.
Position
[i][2]);
23
}
24
fmt::print(
"{:-^120}\n"
,
""
);
25
}
26
27
void
MCTruthPlusData::Dump
()
const
{
28
fmt::print(
"{:=^120} \n"
,
" MCTruthPlus "
);
29
30
fmt::print(
"{:<32}\n"
,
"Secondary particles"
);
31
fmt::print(
" {:>12} {:>12} {:>12} {:>12} {:>12} {:>12} {:>12} {:>12} {:>20}\n"
,
"Z"
,
"A"
,
"Mass"
,
"PDG"
,
32
"ID (parent)"
,
"Proc1"
,
"Proc2"
,
"Gen. Momentum"
,
"Gen. Position"
);
33
for
(
const
auto
&sec :
Secondaries
) {
34
int
charge = sec.Z;
35
fmt::print(
" {:>12} {:>12} {:>12.3f} {:>12} {:>12} {:>12} {:>12} {:>12.3f} ({:6.2f}, {:6.2f}, {:6.2f})\n"
, charge,
36
sec.A, sec.Mass, sec.PDGCode, fmt::format(
"{} ({})"
, sec.partID, sec.parentID), sec.Proc1, sec.Proc2,
37
sec.GetGenMomentum(), sec.Position[0][0], sec.Position[0][1], sec.Position[0][2]);
38
}
39
fmt::print(
"{:-^120}\n"
,
""
);
40
}
41
42
void
MCTruthPlusData::Clear
() {
43
Secondaries
.clear();
44
TrackMCHits
.clear();
45
}
46
}
// namespace NAIA
NAIA::MCTruthBaseData::Dump
void Dump() const
Dump on screen container content.
Definition:
MCTruth.cpp:12
NAIA::MCParticle
Simple struct to describe a MC particle.
Definition:
MCTruth.h:32
NAIA::MCParticle::Z
int Z
particle charge
Definition:
MCTruth.h:34
NAIA::MCTruthPlusData::Clear
void Clear()
Clear container content.
Definition:
MCTruth.cpp:42
NAIA::MCParticle::Position
std::vector< TVector3 > Position
particle position at different z-heights.
Definition:
MCTruth.h:38
NAIA::MCTruthPlusData::Dump
void Dump() const
Dump on screen container content.
Definition:
MCTruth.cpp:27
NAIA
Definition:
Event.h:13
MCTruth.h
MCTruth container class description.
NAIA::MCParticle::Mass
float Mass
particle mass in GeV/c^2
Definition:
MCTruth.h:36
NAIA::MCParticle::PDGCode
int PDGCode
particle PDG code
Definition:
MCTruth.h:33
NAIA::MCTruthPlusData::Secondaries
std::vector< MCParticle > Secondaries
list of particles created by interaction of the primary particle
Definition:
MCTruth.h:154
NAIA::MCParticle::A
unsigned int A
particle mass number
Definition:
MCTruth.h:35
NAIA::MCTruthPlusData::TrackMCHits
LayerVariable< TrMCHit > TrackMCHits
A collection of the closest MCHit to the TrTrack cluster on each layer.
Definition:
MCTruth.h:155
NAIA::MCTruthBaseData::Primary
MCParticle Primary
primary particle
Definition:
MCTruth.h:111
NAIA::MCTruthPlus::BranchName
static const std::string BranchName
Definition:
MCTruth.h:187
NAIA::MCTruthBase::BranchName
static const std::string BranchName
Definition:
MCTruth.h:172
NAIA::MCParticle::GetGenMomentum
double GetGenMomentum() const
Get the particle generation momentum.
Definition:
MCTruth.h:51
NAIA::MCTruthBaseData::Clear
void Clear()
Clear container content.
Definition:
MCTruth.cpp:10
Generated by
1.8.18