12#include <RtypesCore.h>
18 : CbmRecoUnpackConfig(
"CbmMuchUnpackConfig", detGeoSetupTag, runid)
32 fAlgo->SetMinAdcCut(cut->first, cut->second);
46 LOG(error) << GetName() <<
": Error in reading from file! Task will be inactive.";
63 fAlgo->MaskNoisyChannel(chmask.uFeb, chmask.uChan, chmask.bMasked);
73 if (fDoLog) LOG(info) << fName <<
"::Init - chooseAlgo";
77 auto algo = std::make_shared<CbmMuchUnpackAlgo>();
78 LOG(info) << fName <<
"::chooseAlgo() - selected algo = " << algo->Class_Name();
86 <<
"::Init - chooseAlgo() - no algorithm created something went wrong. We can not work like this!";
98 if (channelFile ==
nullptr)
return std::make_pair(0,
false);
101 uint32_t channel = 0;
102 while (fscanf(channelFile,
"%u", &channel) == 1) {
103 fAlgo->SetInactiveChannel(channel);
106 bool success = feof(channelFile);
109 LOG(info) <<
" Number of Noisy Channels in CbmAddress Format : " << nLines;
110 return std::make_pair(nLines, success);
ClassImp(CbmConverterManager)
MUCH unpacker algorithms.
Configuration class for an unpacker algorithm.
std::map< uint32_t, uint32_t > fdAdcCut_perFeb
Minimum adc cut per Feb to store a hit.
virtual ~CbmMuchUnpackConfig()
Destroy the Cbm Sts Unpack Task object.
void InitAlgo()
Initialize the algorithm, should include all steps needing te parameter objects to be present....
bool fbDupliWithoutAdc
If rejecting duplicate digis, enables rejection even if ADC differs.
Bool_t fbElinkFebMap2022
Backward compatibility with 2022 data.
bool fbRejectDuplicateDigis
Enables the rejection of duplicate digis.
uint32_t fdAdcCut
Minimum adc cut to store a hit.
std::shared_ptr< CbmMuchUnpackMonitor > fMonitor
pointer to the monitor object
virtual std::shared_ptr< CbmMuchUnpackAlgo > chooseAlgo()
Choose the derived unpacker algorithm to be used for the DAQ output to Digi translation....
std::vector< double > fvdTimeOffsetNsAsics
Vector with the Asic time offsets.
TString fInactiveChannelFileName
std::string fsParFileName
Parameter file name.
std::vector< FebChanMaskReco > fvChanMasks
Temporary storage of user parameters.
virtual std::pair< size_t, bool > ReadInactiveChannels()
Read Inactive Channel list based on CbmMuchAddress from a file.
CbmMuchUnpackConfig(std::string detGeoSetupTag, UInt_t runid=0)
Create the Cbm Sts Unpack Task object.