Belle II Software development
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
17namespace 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
106
109
112
115
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 multiplicity 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 multiplicity 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 multiplicity of phistrips in each division.
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 weights of zstrips in each division.
GearDir is the basic class used for accessing the parameter store.
Definition: GearDir.h:31
Abstract base class for different kinds of events.