Belle II Software  release-08-01-10
BKLMSimulationPar.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 #pragma once
10 
11 /* Basf2 headers. */
12 #include <framework/gearbox/GearDir.h>
13 
14 /* ROOT headers. */
15 #include <TObject.h>
16 
17 namespace Belle2 {
24  class BKLMSimulationPar: public TObject {
25 
27  static const int c_NDIV = 5;
28 
30  static const int c_MAX_NHIT = 10;
31 
32  public:
33 
36  {
37  }
38 
40  explicit BKLMSimulationPar(const GearDir&);
41 
44 
46  void read(const GearDir&);
47 
49  double getHitTimeMax(void) const
50  {
51  return m_HitTimeMax;
52  }
53 
55  int getNPhiDivision(void) const
56  {
57  return m_NPhiDiv;
58  }
59 
61  int getNZDivision(void) const
62  {
63  return m_NZDiv;
64  }
65 
67  int getMaxMultiplicity(void) const
68  {
69  return c_MAX_NHIT;
70  }
71 
73  int getNPhiMultiplicity(int division) const
74  {
75  return m_NPhiMultiplicity[division];
76  }
77 
79  int getNZMultiplicity(int division) const
80  {
81  return m_NZMultiplicity[division];
82  }
83 
85  double getPhiWeight(int division, int nmutiplicity) const
86  {
87  return m_PhiWeight[division][nmutiplicity];
88  }
89 
91  double getZWeight(int division, int nmutiplicity) const
92  {
93  return m_ZWeight[division][nmutiplicity];
94  }
95 
97  double getPhiMultiplicityCDF(double stripDiv, int mult) const;
98 
100  double getZMultiplicityCDF(double stripDiv, int mult) const;
101 
102  private:
103 
105  double m_HitTimeMax;
106 
109 
112 
115 
117  int m_NZDiv;
118 
121 
124 
127 
130 
133 
134  };
135 
137 } // end of namespace Belle2
Provides BKLM simulation parameters.
double m_PhiMultiplicityCDF[c_NDIV+1][c_MAX_NHIT]
RPC phiStrip multiplicity cumulative probability distribution table.
~BKLMSimulationPar()
Default destructor.
double getZWeight(int division, int nmutiplicity) const
Get weight table for z.
static const int c_MAX_NHIT
Maximum number of hits.
static const int c_NDIV
Number of divisions.
double m_ZWeight[c_NDIV+1][c_MAX_NHIT]
RPC zStrip weight table.
double m_ZMultiplicityCDF[c_NDIV+1][c_MAX_NHIT]
RPC zStrip multiplicity cumulative probability distribution table.
int getNZMultiplicity(int division) const
Get number of kind of mutiplicity for zstrips.
double getHitTimeMax(void) const
Get the maximum global time for a recorded sim hit.
double getPhiWeight(int division, int nmutiplicity) const
Get weight table for phi.
int m_NZDiv
Number of division for zstrips.
double getZMultiplicityCDF(double stripDiv, int mult) const
Get the RPC z-strip cumulative prob density function.
double getPhiMultiplicityCDF(double stripDiv, int mult) const
Get the RPC phi-strip cumulative prob density function.
int getMaxMultiplicity(void) const
Get the maximum multiplicity in the RPC strip cumulative prob density functions.
BKLMSimulationPar()
Default constructor.
double m_PhiWeight[c_NDIV+1][c_MAX_NHIT]
RPC phiStrip weight table.
int getNPhiMultiplicity(int division) const
Get number of kind of mutiplicity for phistrips.
double m_HitTimeMax
Maximum global time for a recorded sim hit.
int m_NPhiDiv
Number of division for phistrips.
int getNPhiDivision(void) const
Get number of divisions for phi strips.
ClassDef(BKLMSimulationPar, 3)
Class version.
int m_NPhiMultiplicity[c_NDIV+1]
Number of kind of mutiplicity of phistrips in each divison.
int getNZDivision(void) const
Get number of divisions for z strips.
void read(const GearDir &)
Get simulation parameters from Gearbox.
int m_NZMultiplicity[c_NDIV+1]
Number of weigths of zstrips in each divison.
GearDir is the basic class used for accessing the parameter store.
Definition: GearDir.h:31
Abstract base class for different kinds of events.