21 std::array<bool, 5> requestStation,
25 for (
auto i = 0;
i < 5;
i++) {
26 int inStation = itemsPerChamber[
i * 2] + itemsPerChamber[
i * 2 + 1];
27 if (requestStation[
i] && inStation == 0) {
32 int nChHitInSt4 = (itemsPerChamber[6] > 0 ? 1 : 0) + (itemsPerChamber[7] > 0 ? 1 : 0);
33 int nChHitInSt5 = (itemsPerChamber[8] > 0 ? 1 : 0) + (itemsPerChamber[9] > 0 ? 1 : 0);
36 return nChHitInSt4 + nChHitInSt5 >= 2;
38 return nChHitInSt4 == 2 || nChHitInSt5 == 2;
75std::array<int, 10>
perChamber(gsl::span<const PreCluster> preclusters, gsl::span<const Digit>
digits)
77 std::array<int, 10> nofPreclusters{};
78 for (
const auto& precluster : preclusters) {
80 if (precluster.nDigits > 1) {
81 nofPreclusters[
digits[precluster.firstDigit].getDetID() / 100 - 1]++;
84 return nofPreclusters;
bool isTrackable(std::array< int, 10 > itemsPerChamber, std::array< bool, 5 > requestStation={true, true, true, true, true}, bool moreCandidates=false)