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) {