2 #include <fmt/format.h>
12 using namespace TrTrack;
15 return (Rigidity.find(fit) !=
end(Rigidity) && Rigidity.at(fit).find(span) !=
end(Rigidity.at(fit)));
28 TrTrackHitPos.clear();
29 TrTrackFitPos.clear();
37 InnerChargeRMS.clear();
38 LayerChargeXY.clear();
39 LayerChargeStatus.clear();
48 TrackFeetDistance.clear();
52 PartialRigidity.clear();
53 PartialInvRigErr.clear();
54 PartialTrChiSq.clear();
55 PartialTrTrackResidual.clear();
57 TrTrackResidual.clear();
58 UnbiasedCharge.clear();
64 MaxClusterEdep.clear();
65 MaxClusterDistance.clear();
66 ClusterSignalRatio.clear();
68 DirectionalStoermerCutoff = {0, 0};
74 fmt::print(
"{:=^120} \n",
" TrTrackBaseData ");
75 if (!Rigidity.empty()) {
76 for (
const auto &fitIter : Rigidity) {
78 fmt::print(
" {:<30} {:>15} {:>15} {:>15}\n",
"Span",
"Rigidity",
"TrChiSqX",
"TrChiSqY");
79 for (
auto spanIter : fitIter.second) {
80 fmt::print(
" - {:<28} = {:> 12.4f} GV {:> 15.4f} {:> 15.4f}\n",
TrTrack::spanNames[spanIter.first],
81 spanIter.second, TrChiSq.at(fitIter.first).at(spanIter.first).at(
Side::X),
82 TrChiSq.at(fitIter.first).at(spanIter.first).at(
Side::Y));
87 if (!Charge.empty()) {
88 fmt::print(
"{:-^120}\n",
"");
89 fmt::print(
"{:<32} {:>15} {:>15} {:>15} {:>32}\n",
"Charge type",
"Standard",
"Hu Liu",
"Yi Jia",
"status");
91 fmt::print(
" - {:<28} = ",
"Global charge");
93 fmt::print(
"{:> 15.4f} ",
ContainsKeys(Charge, chType) ? Charge.at(chType) : 0);
97 fmt::print(
" - {:<28} = ",
"Inner tracker charge");
99 fmt::print(
"{:> 15.4f} ",
ContainsKeys(InnerCharge, chType) ? InnerCharge.at(chType) : 0);
103 fmt::print(
" - {:<28} = ",
"Global charge RMS");
105 fmt::print(
"{:> 15.4f} ",
ContainsKeys(ChargeRMS, chType) ? ChargeRMS.at(chType) : 0);
109 fmt::print(
" - {:<28} = ",
"Inner tracker charge RMS");
111 fmt::print(
"{:> 15.4f} ",
ContainsKeys(InnerChargeRMS, chType) ? InnerChargeRMS.at(chType) : 0);
115 for (
size_t ijl = 0; ijl < 9; ijl++) {
119 fmt::print(
" - {:<28} = ", fmt::format(
"Layer {}", ijl));
122 fmt::print(
"{:> 15.4f} ", LayerChargeXY.at(ijl).at(chType));
124 fmt::print(
"{:>15} ",
"");
126 std::bitset<32> dummy(
ContainsKeys(LayerChargeStatus, ijl) ? LayerChargeStatus.at(ijl) : 0xFFFF);
127 fmt::print(
"{:>32} ", dummy.to_string());
132 fmt::print(
"{:-^120}\n",
"");
136 fmt::print(
"{:=^120} \n",
" TrTrackPlusData ");
137 if (!InvRigErr.empty()) {
138 for (
const auto &fitIter : InvRigErr) {
140 if (RigidityTOI.find(fitIter.first) ==
end(RigidityTOI)) {
141 fmt::print(
" {:<30} {:>15} {:>15}\n",
"Span",
"",
"InvRigErr");
142 for (
auto spanIter : fitIter.second) {
144 InvRigErr.at(fitIter.first).at(spanIter.first));
147 fmt::print(
" {:<30} {:>15} {:>15}\n",
"Span",
"RigidityTOI",
"InvRigErr");
148 for (
auto spanIter : fitIter.second) {
150 RigidityTOI.at(fitIter.first).at(spanIter.first), InvRigErr.at(fitIter.first).at(spanIter.first));
156 fmt::print(
"{:-^120}\n",
"");
157 fmt::print(
"{:<32} {:>15} {:>15} {:>15} {:>15}\n",
"\"Partial\" variables",
"Rigidity",
"InvRigErr",
"TrChiSqX",
159 for (
unsigned int ijl = 0; ijl < 9; ijl++) {
163 for (
auto &fitIter : PartialRigidity.at(ijl)) {
164 auto fit = fitIter.first;
166 fmt::print(
" - {:<28} = {:>15} {:>15} {:>15} {:>15}\n",
167 fmt::format(
"Layer {} - Fit {}", ijl + 1,
TrTrack::fitNames[fit]), PartialRigidity.at(ijl).at(fit),
168 PartialInvRigErr.at(ijl).at(fit), PartialTrChiSq.at(ijl).at(fit).at(
TrTrack::Side::X),
173 if (!LayerCharge.empty()) {
174 fmt::print(
"{:-^120}\n",
"");
175 fmt::print(
"{:<32} {:>15} {:>15} {:>15}\n",
"Charge type",
"Standard",
"Hu Liu",
"Yi Jia");
176 for (
size_t ijl = 0; ijl < 9; ijl++) {
177 fmt::print(
" - {:<28} = ", fmt::format(
"Layer {} X", ijl));
180 fmt::print(
"{:> 15.4f} ", LayerCharge.at(ijl).at(chType).at(
TrTrack::Side::X));
182 fmt::print(
"{:>15} ",
"");
185 fmt::print(
" - {:<28} = ", fmt::format(
"Layer {} Y", ijl));
188 fmt::print(
"{:> 15.4f} ", LayerCharge.at(ijl).at(chType).at(
TrTrack::Side::Y));
190 fmt::print(
"{:>15} ",
"");
195 fmt::print(
"{:-^120}\n",
"");
201 for (
unsigned int i = 0u; i < 9; ++i) {