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);
70 if (fDoLog) LOG(info) << fName <<
"::Init - chooseAlgo";
74 auto algo = std::make_shared<CbmMuchUnpackAlgo>();
75 LOG(info) << fName <<
"::chooseAlgo() - selected algo = " << algo->Class_Name();
83 <<
"::Init - chooseAlgo() - no algorithm created something went wrong. We can not work like this!";
95 if (channelFile ==
nullptr)
return std::make_pair(0,
false);
99 while (fscanf(channelFile,
"%u", &channel) == 1) {
100 fAlgo->SetInactiveChannel(channel);
103 bool success = feof(channelFile);
106 LOG(info) <<
" Number of Noisy Channels in CbmAddress Format : " << nLines;
107 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 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.