Belle II Software  release-08-01-10
FANGSDigitizerModule.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 #ifndef FANGSDIGITIZERMODULE_H
10 #define FANGSDIGITIZERMODULE_H
11 
12 #include <framework/core/Module.h>
13 #include <framework/datastore/StoreArray.h>
14 #include <beast/fangs/dataobjects/FANGSHit.h>
15 
16 #include <TF1.h>
17 
18 #include <map>
19 #include <tuple>
20 
22 constexpr int MAXtSIZE = 1000;
24 constexpr int MAXSIZE = 3000;
25 
26 namespace Belle2 {
31  namespace fangs {
38  class FANGSDigitizerModule : public Module {
39 
40  public:
41 
46 
48  virtual ~FANGSDigitizerModule();
49 
53  virtual void initialize() override;
54 
57  virtual void beginRun() override;
58 
62  virtual void event() override;
63 
66  virtual void endRun() override;
67 
70  virtual void terminate() override;
71 
72 
73  private:
77  void getXMLData();
78 
80  void Pixelization();
81 
95  double m_ChipColumnX;
97  double m_ChipRowY;
103  double m_TOTA1;
105  double m_TOTB1;
107  double m_TOTC1;
109  double m_TOTQ1;
111  double m_TOTA2;
113  double m_TOTB2;
115  double m_TOTC2;
117  double m_TOTQ2;
119  double m_Workfct;
121  double m_Fanofac;
125  double m_v_sensor;
127  std::map<std::tuple<int, int, int>, int> m_dchip;
129  std::map<std::tuple<int, int>, int> m_dchip_map;
131  std::map<std::tuple<int, int>, int> m_dchip_pdg_map;
133  std::map<std::tuple<int, int>, int> m_dchip_trkID_map;
135  std::map<std::tuple<int, int>, int> m_dchip_detNb_map;
137  int m_nFANGS = 15;
138 
140  double m_lowerTimingCut = 0;
142  double m_upperTimingCut = 1000000;
143 
145  int olddetNb = -1;
146 
147  };
148 
149  }
151 }
152 
153 #endif /* FANGSDIGITIZERMODULE_H */
Base class for Modules.
Definition: Module.h:72
Accessor to arrays stored in the data store.
Definition: StoreArray.h:113
FANGS ATLAS FE-I4B ASIC chip digitizer.
double m_ChipRowY
Chip row y dimension.
std::map< std::tuple< int, int >, int > m_dchip_pdg_map
chip pdg map arrays
std::map< std::tuple< int, int >, int > m_dchip_trkID_map
chip track ID map arrays
virtual void initialize() override
Initialize the Module.
TF1 * fctToT_Calib1
Define ToT calib 1.
StoreArray< FANGSHit > m_fangsHit
array for FANGSHit
virtual void event() override
This method is the core of the module.
virtual void endRun() override
This method is called if the current run ends.
double m_ChipColumnX
Chip column x dimension.
void getXMLData()
reads data from MICROFANGS.xml: tube location, drift data filename, sigma of impulse response functio...
virtual void terminate() override
This method is called at the end of the event processing.
double m_v_sensor
Drift velocity in sensor.
std::map< std::tuple< int, int, int >, int > m_dchip
chip store arrays
TF1 * fctToT_Calib2
Define ToT calib 2.
std::map< std::tuple< int, int >, int > m_dchip_detNb_map
chip Nb map arrays
virtual void beginRun() override
Called when entering a new run.
std::map< std::tuple< int, int >, int > m_dchip_map
chip map arrays
int m_PixelTimeBinNb
Pixel time number of bin.
void Pixelization()
Produces the pixelization.
int m_PixelThresholdRMS
Pixel threshold RMS.
FANGSDigitizerModule()
Constructor: Sets the description, the properties and the parameters of the module.
Abstract base class for different kinds of events.