CbmRoot
Loading...
Searching...
No Matches
DigiEventSelectorConfig.h
Go to the documentation of this file.
1/* Copyright (C) 2022-2025 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Shreya Roy. Pierre-Alain Loizeau, Volker Friese [committer], Dominik Smith, Sergei Zharko */
4
5#ifndef CBM_ALGO_EVBUILD_DIGIEVENTSELECTORCONFIG_H
6#define CBM_ALGO_EVBUILD_DIGIEVENTSELECTORCONFIG_H 1
7
8#include "CbmDigiEvent.h"
9
10#include <cstdint>
11#include <map>
12#include <unordered_set>
13
14#include <yaml-cpp/yaml.h>
15
16
17namespace cbm::algo::evbuild
18{
19
20 class EventbuildChain;
21
22
36
37 friend class DigiEventSelector;
38
39 public:
41 DigiEventSelectorConfig(YAML::Node config);
42
44 bool IsEmpty() const { return fMinNumDigis.empty() && fMinNumLayers.empty(); }
45
47 YAML::Node ToYaml() const;
48
49 private:
50 std::map<ECbmModuleId, size_t> fMinNumDigis;
51 std::map<ECbmModuleId, size_t> fMinNumLayers;
52
54 std::map<ECbmModuleId, std::unordered_set<uint32_t>> fMaskedChannels;
55 };
56
57
58} // namespace cbm::algo::evbuild
59
60#endif /* CBM_ALGO_EVBUILD_DIGIEVENTSELECTORCONFIG_H */
Configuration of the DigiEventSelector class.
bool IsEmpty() const
Presence of selection criteria.
std::map< ECbmModuleId, size_t > fMinNumLayers
Key: detector, value: Minimal number of layers.
std::map< ECbmModuleId, std::unordered_set< uint32_t > > fMaskedChannels
A map of masked digi addresses, which should not participate in the event building.
std::map< ECbmModuleId, size_t > fMinNumDigis
Key: detector, value: minimal number of digis.
DigiEventSelectorConfig(YAML::Node config)
Constructor from YAML.
Algorithm to select CbmDigiEvents based on the number of digis and the number of activated layers in ...