74 BmnTrigRaw2Digit(TString mappingFile, TString INLFile, TTree* digiTree = NULL);
76 BmnTrigRaw2Digit(TString mappingFile, TString INLFile, std::function<
void(TString, TClonesArray*)> BranchRegFun);
80 for (TClonesArray* ar : trigArrays)
85 for (
auto& el : fPlacementMap) {
88 fPlacementMap.clear();
91 vector<BmnTrigChannelData>*
GetMap() {
return &fMap; }
99 map<std::pair<uint32_t, uint16_t>, uint16_t>&
GetScaler2IdxMap() {
return scalers2index_map; }
105 BmnStatus FillEvent(TClonesArray* tdc, TClonesArray* adc, unordered_map<UInt_t, Long64_t>& tsMap);
117 for (
auto& itPl : fPlacementMap)
118 if (itPl.second->IsT0)
119 return itPl.second->CrateSerial;
128 TString Serial2FileName(TString boardName, UInt_t serial)
130 UShort_t h = serial >> 16;
131 UShort_t l = serial & 0x0000FFFF;
132 TString inlFileName = Form(
"%s-%04X-%04X.ini", boardName.Data(), h, l);
136 UInt_t ChanCntByName(TString channelCountStr)
139 TPRegexp reBoardName(
"(\\D+)(\\d+)(.*)");
142 if (reBoardName.MatchB(channelCountStr)) {
145 reBoardName.Substitute(channelCountStr,
"$2");
146 channelCount = strtoul(channelCountStr.Data(),
nullptr, 10);
152 void ProcessWave(int16_t* iValue,
const uint16_t& nVals, Bool_t& isNeg);
154 Double_t GetBaseline(int16_t* iValue,
const uint16_t& nVals);
156 map<PlMapKey, BmnTrigParameters*> fPlacementMap;
160 vector<BmnTrigChannelData> fMap;
162 TString fMapFileName;
163 vector<TClonesArray*> trigArrays;
165 unique_ptr<TH1I> fWorkHist;
170 map<std::pair<uint32_t, uint16_t>, uint16_t> scalers2index_map;
171 map<uint16_t, uint16_t> trcIdx2scalerIdx;
174 vector<string> scalers_index2name_map;