Skip to content
Snippets Groups Projects

Generalize DigiEventSelector. Refs #2918

Merged Volker Friese requested to merge v.friese/cbmroot:evbuild into master
Files
11
@@ -28,11 +28,11 @@ void EventbuildChain::Init(const MainConfig& config)
}
// --- Configure the event selector
size_t minStatSts = fConfig.fSelectMinStationsSts;
size_t minStatTof = fConfig.fSelectMinStationsTof;
size_t minDigisBmon = fConfig.fSelectMinDigisBmon;
auto selectPar = cbm::algo::DigiEventSelectorParams {minStatSts, minStatTof, minDigisBmon};
fSelector.SetParams(selectPar);
evbuild::DigiEventSelectorParams selectPar;
selectPar.fMinNumDigis[ECbmModuleId::kT0] = fConfig.fSelectMinDigisBmon;
selectPar.fMinNumLayers[ECbmModuleId::kSts] = fConfig.fSelectMinStationsSts;
selectPar.fMinNumLayers[ECbmModuleId::kTof] = fConfig.fSelectMinStationsTof;
fSelector = std::make_unique<evbuild::DigiEventSelector>(selectPar);
// --- Configure the event QA
const double border = 10.; // TODO: Histogram border hard-coded
@@ -65,7 +65,7 @@ std::vector<CbmDigiEvent> EventbuildChain::Run(const CbmDigiTimeslice& timeslice
std::vector<CbmDigiEvent> events = fEventBuilder(timeslice, triggers).first;
// --- Apply event selector
auto notSelected = [&](CbmDigiEvent& ev) { return !fSelector(ev); };
auto notSelected = [&](CbmDigiEvent& ev) { return !((*fSelector)(ev)); };
auto removeIt = std::remove_if(events.begin(), events.end(), notSelected);
events.erase(removeIt, events.end());
Loading