Belle II Software development
klmtrgLayerCounter.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8
9
10#pragma once
11#include <vector>
12#include "trg/klm/modules/klmtrigger/KLMAxis.h"
13
14
15namespace Belle2 {
20
21
23 public:
24 void clear_layersUsed();
25 void add_layersUsed(int layersUsed);
26 void set_NPlaneTrigger(int NPlaneTrigger);
27 void set_NLayerTrigger(int NLayerTrigger);
28 void set_countPlanes(int countPlanes);
29
30 KLM_TRG_definitions::KLM_Digit_compact_ts set_joiningAlgorithm(const KLM_TRG_definitions::KLM_Digit_compact_ts& hits,
31 const int count_planes);
32 void run(const KLM_TRG_definitions::KLM_Digit_compact_ts& hits);
33
34 int get_n_sections_trig(int subdetector);
35 int get_triggermask(int subdetector, int section);
36 int get_BKLM_back_to_back_flag(int subdetector);
37
38
39 private:
40 std::vector<nt::ntuple<KLM_TRG_definitions::layer>> m_layersUsed;
41 int m_NPlaneTrigger;
42 int m_NLayerTrigger;
43 int m_countPlanes;
44
45
46
47
48
49 using sections_trig_t =
50 std::vector<nt::ntuple< KLM_TRG_definitions::subdetector, KLM_TRG_definitions::section, KLM_TRG_definitions:: sector_mask, KLM_TRG_definitions::n_sections_trig>>;
51 sections_trig_t m_sections_trig;
52
53 using summary1_t =
54 std::vector<nt::ntuple< KLM_TRG_definitions::subdetector, KLM_TRG_definitions::n_sections_trig, KLM_TRG_definitions::back2back >>;
55 summary1_t m_summary1;
56
57
58 };
59
60
61
63}
Abstract base class for different kinds of events.