Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
14 #ifndef LARBYTESTREAM_LARLATOMEDDECODER_H
15 #define LARBYTESTREAM_LARLATOMEDDECODER_H
17 #define N_LATOME_CHANNELS 320
30 #include "eformat/Version.h"
31 #include "eformat/Issue.h"
35 #include "eformat/index.h"
115 std::vector<unsigned long long>
sum;
116 std::vector<unsigned long long>
sumSq;
161 void decodeByte(
unsigned int&
byte,
unsigned int wordshift,
unsigned int byteshift,
const uint32_t*
p);
162 void decodeWord(
unsigned int& word,
unsigned int& wordshift,
unsigned int& byteshift,
const uint32_t*
p);
165 unsigned int& at0Data,
unsigned int& at1Data,
unsigned int& satData,
166 bool& at0val,
bool& at1val);
258 BooleanProperty
m_protectSourceId{
this,
"ProtectSourceId",
true,
"discard main readout sourceID, should be false for reading all files from the mon path with old source IDs"};
264 #endif // LARBYTESTREAM_LARLATOMEDDECODER_H
StatusCode convert(const std::vector< const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment * > &robFrags, const LArLATOMEMapping *map, LArDigitContainer *adc_coll, LArDigitContainer *adc_bas_coll, LArRawSCContainer *et_coll, LArRawSCContainer *et_id_coll, LArLATOMEHeaderContainer *header_coll) const
Converter.
std::pair< int, int > compare(const AmgSymMatrix(N) &m1, const AmgSymMatrix(N) &m2, double precision=1e-9, bool relative=false)
compare two matrices, returns the indices of the first element that fails the condition,...
bool compareOrSet(Word ¶m, Word value, bool compare)
BooleanProperty m_ignoreBarrelChannels
LArRawSCContainer * m_et_coll
Container class for LArAccumulatedDigit.
unsigned int Word
this should be the same as how we get the data, otherwise we will have bugs.
std::vector< short > adc_bas
const LArOnline_SuperCellID * m_onlineId
std::vector< unsigned short > m_BCIDsInEvent
std::vector< double > Energy
Container class for LArRawSC.
std::vector< bool > saturation
OFFLINE_FRAGMENTS_NAMESPACE::FullEventFragment RawEvent
data type for reading raw event
int signEnergy(unsigned int energy)
4th bit should be this value if the word indicate ADC value.
static const Word s_monHeaderMarker
this is fixed and not read from data
unsigned int bytesPerChannel(MonDataType at0, MonDataType at1)
Macro to mark a member as unused.
class to provide SC mapping
std::vector< Word > m_packetEnd
void decodeChannel(unsigned int &wordshift, unsigned int &byteshift, const uint32_t *p, MonDataType at0, MonDataType at1, unsigned int &at0Data, unsigned int &at1Data, unsigned int &satData, bool &at0val, bool &at1val)
void decodeWord(unsigned int &word, unsigned int &wordshift, unsigned int &byteshift, const uint32_t *p)
LArLATOMEDecoder(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.
BooleanProperty m_protectSourceId
std::vector< unsigned int > patterns
const LArLATOMEDecoder * m_decoder
LArLATOMEHeaderContainer * m_header_coll
LArDigitContainer * m_adc_coll
unsigned int latomeChannel
std::vector< unsigned long long > sum
static const Word m_monTrailerSize
some cached info to ease processing reading from data header
void decodeByte(unsigned int &byte, unsigned int wordshift, unsigned int byteshift, const uint32_t *p)
void increaseWordShift(unsigned int &wordshift)
std::vector< unsigned long long > sumSq
LArAccumulatedCalibDigitContainer * m_caccdigits
::StatusCode StatusCode
StatusCode definition for legacy code.
static const Word s_monCheckPoint
BooleanProperty m_ignoreEndcapChannels
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKeySC
void increaseByteShift(unsigned int &wordshift, unsigned int &byteshift)
static const InterfaceID & interfaceID()
LArRawSCContainer * m_et_id_coll
Class to provide easy MsgStream access and capabilities.
std::vector< LatomeRawData > m_rawValuesInEvent
unsigned int decodeTrailer(const uint32_t *p, unsigned int offset)
virtual ~LArLATOMEDecoder()=default
Destructor.
void fillCalib(const LArLATOMEMapping *map, const LArOnOffIdMapping *onoffmap, const LArCalibLineMapping *clmap)
void fillRaw(const LArLATOMEMapping *map)
Pass ADC values from an event.
EventProcess(const LArLATOMEDecoder *decoderInput, LArDigitContainer *adc_coll, LArDigitContainer *adc_bas_coll, LArRawSCContainer *et_coll, LArRawSCContainer *et_id_coll, LArAccumulatedDigitContainer *accdigits, LArAccumulatedCalibDigitContainer *caccdigits, LArLATOMEHeaderContainer *header_coll)
std::vector< LatomeAveragedRawData > m_averagedRawValuesInEvent
LArAccumulatedDigitContainer * m_accdigits
std::vector< unsigned int > nTrigValid
void fillCollection(const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment *pROB, const LArLATOMEMapping *map, const LArOnOffIdMapping *onoffmap=nullptr, const LArCalibLineMapping *clmap=nullptr)
Execute decoding for an event.
std::vector< LatomeCalibPatterns > m_latomeCalibPatternsInEvent
virtual StatusCode finalize()
Finalize the converter.
unsigned int latomeChannel
const boost::regex re(r_e)
virtual StatusCode initialize()
Initialize the converter.
Container class for LArDigit.
unsigned int decodeHeader(const uint32_t *p, unsigned int offset)
Container class for LArAccumulatedCalibDigit.
static const int s_nBunches
Maximum value of BCID.
ToolHandle< ICaloSuperCellIDTool > m_sc2ccMappingTool
BooleanProperty m_keepPulsed
LArDigitContainer * m_adc_bas_coll