Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • le.koch/cbmroot
  • patrick.pfistner_AT_kit.edu/cbmroot
  • lena.rossel_AT_stud.uni-frankfurt.de/cbmroot
  • i.deppner/cbmroot
  • fweig/cbmroot
  • karpushkin_AT_inr.ru/cbmroot
  • v.akishina/cbmroot
  • rishat.sultanov_AT_cern.ch/cbmroot
  • l_fabe01_AT_uni-muenster.de/cbmroot
  • pwg-c2f/cbmroot
  • j.decuveland/cbmroot
  • a.toia/cbmroot
  • i.vassiliev/cbmroot
  • n.herrmann/cbmroot
  • o.lubynets/cbmroot
  • se.gorbunov/cbmroot
  • cornelius.riesen_AT_physik.uni-giessen.de/cbmroot
  • zhangqn17_AT_mails.tsinghua.edu.cn/cbmroot
  • bartosz.sobol/cbmroot
  • ajit.kumar/cbmroot
  • computing/cbmroot
  • a.agarwal_AT_vecc.gov.in/cbmroot
  • osingh/cbmroot
  • wielanek_AT_if.pw.edu.pl/cbmroot
  • malgorzata.karabowicz.stud_AT_pw.edu.pl/cbmroot
  • m.shiroya/cbmroot
  • s.roy/cbmroot
  • p.-a.loizeau/cbmroot
  • a.weber/cbmroot
  • ma.beyer/cbmroot
  • d.klein/cbmroot
  • d.smith/cbmroot
  • mvdsoft/cbmroot
  • d.spicker/cbmroot
  • y.h.leung/cbmroot
  • aksharma/cbmroot
  • m.deveaux/cbmroot
  • mkunold/cbmroot
  • h.darwish/cbmroot
  • pk.sharma_AT_vecc.gov.in/cbmroot
  • f_fido01_AT_uni-muenster.de/cbmroot
  • g.kozlov/cbmroot
  • d.emschermann/cbmroot
  • evgeny.lavrik/cbmroot
  • v.friese/cbmroot
  • f.uhlig/cbmroot
  • ebechtel_AT_ikf.uni-frankfurt.de/cbmroot
  • a.senger/cbmroot
  • praisig/cbmroot
  • s.lebedev/cbmroot
  • redelbach_AT_compeng.uni-frankfurt.de/cbmroot
  • p.subramani/cbmroot
  • a_meye37_AT_uni-muenster.de/cbmroot
  • om/cbmroot
  • o.golosov/cbmroot
  • l.chlad/cbmroot
  • a.bercuci/cbmroot
  • d.ramirez/cbmroot
  • v.singhal/cbmroot
  • h.schiller/cbmroot
  • apuntke/cbmroot
  • f.zorn/cbmroot
  • rubio_AT_physi.uni-heidelberg.de/cbmroot
  • p.chudoba/cbmroot
  • apuntke/mcbmroot
  • r.karabowicz/cbmroot
66 results
Show changes
Commits on Source (2)
......@@ -15,6 +15,7 @@
#include <cstddef>
#include <cstdint>
#include <memory>
#include <sstream>
#include <vector>
#include "CriGet4Mess001.h"
......@@ -60,9 +61,18 @@ namespace cbm::algo
bool HasErrors()
{
uint32_t numErrors = fNumNonHitOrTsbMessage + fNumErrElinkOutOfRange + fNumErrInvalidFirstMessage
+ fNumErrInvalidMsSize + fNumErrTimestampOverflow;
+ fNumErrInvalidLastMessage + fNumErrInvalidMsSize + fNumErrTimestampOverflow
+ fNumErrInvalidStartEpoch;
return (numErrors > 0 ? true : false);
}
std::string print()
{
std::stringstream ss;
ss << "errors " << fNumNonHitOrTsbMessage << " | " << fNumErrElinkOutOfRange << " | "
<< fNumErrInvalidFirstMessage << " | " << fNumErrInvalidLastMessage << " | " << fNumErrInvalidMsSize << " | "
<< fNumErrTimestampOverflow << " | " << fNumErrInvalidStartEpoch << " | ";
return ss.str();
}
};
......
......@@ -15,6 +15,7 @@
#include <cstddef>
#include <cstdint>
#include <memory>
#include <sstream>
#include <vector>
#include "StsXyterMessage.h"
......@@ -61,6 +62,13 @@ namespace cbm::algo
+ fNumErrInvalidMsSize + fNumErrTimestampOverflow;
return (numErrors > 0 ? true : false);
}
std::string print()
{
std::stringstream ss;
ss << "errors " << fNumNonHitOrTsbMessage << " | " << fNumErrElinkOutOfRange << " | "
<< fNumErrInvalidFirstMessage << " | " << fNumErrInvalidMsSize << " | " << fNumErrTimestampOverflow << " | ";
return ss.str();
}
};
......
......@@ -66,9 +66,15 @@ namespace cbm::algo
+ fNumErrInvalidMsSize + fNumErrTimestampOverflow;
return (numErrors > 0 ? true : false);
}
std::string print()
{
std::stringstream ss;
ss << "errors " << fNumNonHitOrTsbMessage << " | " << fNumErrElinkOutOfRange << " | "
<< fNumErrInvalidFirstMessage << " | " << fNumErrInvalidMsSize << " | " << fNumErrTimestampOverflow << " | ";
return ss.str();
}
};
/** @class UnpackSts
** @author Pierre-Alain Loizeau <p.-a.loizeau@gsi.de>
** @author Volker Friese <v.friese@gsi.de>
......
......@@ -15,6 +15,7 @@
#include <cstddef>
#include <cstdint>
#include <memory>
#include <sstream>
#include <vector>
#include "CriGet4Mess001.h"
......@@ -61,6 +62,14 @@ namespace cbm::algo
+ fNumErrInvalidStartEpoch;
return (numErrors > 0 ? true : false);
}
std::string print()
{
std::stringstream ss;
ss << "errors " << fNumNonHitOrTsbMessage << " | " << fNumErrElinkOutOfRange << " | "
<< fNumErrInvalidFirstMessage << " | " << fNumErrInvalidLastMessage << " | " << fNumErrInvalidMsSize << " | "
<< fNumErrTimestampOverflow << " | " << fNumErrInvalidStartEpoch << " | ";
return ss.str();
}
};
/** @class UnpackTof
......
......@@ -13,6 +13,7 @@
#include "Timeslice.hpp"
#include <memory>
#include <sstream>
#include <cmath>
......@@ -58,32 +59,39 @@ namespace cbm::algo
** @brief Monitoring data for TRD unpacking
**/
struct UnpackTrdMonitorData {
uint32_t fNumNonHitOrTsbMessage = 0;
uint32_t fNumErrElinkOutOfRange = 0; ///< Elink not contained in parameters
uint32_t fNumErrInvalidFirstMessage = 0; ///< First message is not TS_MSB or second is not EPOCH
uint32_t fNumErrInvalidMsSize = 0; ///< Microslice size is not multiple of message size
uint32_t fNumErrTimestampOverflow = 0; ///< Overflow in 64 bit time stampa
size_t fNumNonMajorTsMsb = 0; ///< Counter for the ts_msb used to reconstruct the time
size_t fNumElinkMis = 0; ///< Number of SOM to RDA/EOM mismatches
size_t fNumCorruptEom = 0; ///< Number of corrupted EOM frames
size_t fNumWildRda = 0; ///< Number of rda frames outside of a SOM frame range
size_t fNumWildEom = 0; ///< Number of eom frames outside of a SOM frame range
size_t fNumUnknownWords = 0; ///< Number of unknown words
size_t fNumMissingEom = 0; ///< Number of missing EOM frames to finish a SOM frame
size_t fNumWildNul = 0; ///< Number of wild null words, should only appear at the end of a µSlice
size_t fNumCreatedRawMsgs = 0; ///< counter of created raw messages
size_t fNumEpochMsgs = 0; ///< counter of created raw messages
size_t fNumCrcValidFlags = 0; ///< counter for inf/error flags from the µSlices
size_t fNumOverflowFlimFlags = 0; ///< counter for inf/error flags from the µSlices
size_t fNumOverflowUserFlags = 0; ///< counter for inf/error flags from the µSlices
size_t fNumDataErrorFlags = 0; ///< counter for inf/error flags from the µSlices
size_t fNumCreatedInfoMsgs = 0; ///< counter of created info messages
size_t fNumNonMajorTsMsb = 0; ///< Counter for the ts_msb used to reconstruct the time
size_t fNumCreatedRawMsgs = 0; ///< counter of created raw messages
size_t fNumEpochMsgs = 0; ///< counter of created raw messages
size_t fNumCreatedInfoMsgs = 0; ///< counter of created info messages
size_t fNumElinkMis = 0; ///< Number of SOM to RDA/EOM mismatches
size_t fNumCorruptEom = 0; ///< Number of corrupted EOM frames
size_t fNumWildRda = 0; ///< Number of rda frames outside of a SOM frame range
size_t fNumWildEom = 0; ///< Number of eom frames outside of a SOM frame range
size_t fNumUnknownWords = 0; ///< Number of unknown words
size_t fNumMissingEom = 0; ///< Number of missing EOM frames to finish a SOM frame
size_t fNumWildNul = 0; ///< Number of wild null words, should only appear at the end of a µSlice
size_t fNumCrcValidFlags = 0; ///< counter for inf/error flags from the µSlices
size_t fNumOverflowFlimFlags = 0; ///< counter for inf/error flags from the µSlices
size_t fNumOverflowUserFlags = 0; ///< counter for inf/error flags from the µSlices
size_t fNumDataErrorFlags = 0; ///< counter for inf/error flags from the µSlices
bool HasErrors()
{
uint32_t numErrors = fNumNonHitOrTsbMessage + fNumErrElinkOutOfRange + fNumErrInvalidFirstMessage
+ fNumErrInvalidMsSize + fNumErrTimestampOverflow;
uint32_t numErrors = fNumElinkMis + fNumCorruptEom + fNumWildRda + fNumWildEom + fNumUnknownWords + fNumMissingEom
+ fNumWildNul + fNumCrcValidFlags + fNumOverflowFlimFlags + fNumOverflowUserFlags
+ fNumDataErrorFlags;
return (numErrors > 0 ? true : false);
}
std::string print()
{
std::stringstream ss;
ss << " stats " << fNumNonMajorTsMsb << " | " << fNumCreatedRawMsgs << " | " << fNumEpochMsgs << " | "
<< fNumCreatedInfoMsgs << " errors " << fNumElinkMis << " | " << fNumCorruptEom << " | " << fNumWildRda
<< " | " << fNumWildEom << " | " << fNumUnknownWords << " | " << fNumMissingEom << " | " << fNumWildNul
<< " | " << fNumCrcValidFlags << " | " << fNumOverflowFlimFlags << " | " << fNumOverflowUserFlags << " | "
<< fNumDataErrorFlags << " | ";
return ss.str();
}
};
......
......@@ -76,9 +76,7 @@ uint64_t CbmTaskUnpack::MsLoop(const fles::Timeslice* timeslice, UnpackAlgo& alg
*numBytesInComp += msDescriptor.size;
auto result = algo(msContent, msDescriptor, timeslice->start_time());
LOG(debug1) << GetName() << ": Component " << comp << ", microslice " << mslice << ", digis " << result.first.size()
<< ", errors " << result.second.fNumNonHitOrTsbMessage << " | " << result.second.fNumErrElinkOutOfRange
<< " | " << result.second.fNumErrInvalidFirstMessage << " | " << result.second.fNumErrInvalidMsSize
<< " | " << result.second.fNumErrTimestampOverflow << " | ";
<< ", " << result.second.print();
*numDigisInComp += result.first.size();
#pragma omp critical(insert_digis)
digis->insert(digis->end(), result.first.begin(), result.first.end());
......