Belle II Software  release-05-01-25
BKLMSimulationPar.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Yinghui GUAN *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 /* Belle 2 headers. */
14 #include <framework/gearbox/GearDir.h>
15 
16 /* ROOT headers. */
17 #include <TObject.h>
18 
19 namespace Belle2 {
25  class BKLMSimulationPar: public TObject {
27 
28  enum {
29  c_NDIV = 5,
30  c_MAX_NHIT = 10
31  };
32 
33  public:
34 
37  {
38  }
39 
41  explicit BKLMSimulationPar(const GearDir&);
42 
45 
47  void read(const GearDir&);
48 
50  double getHitTimeMax(void) const
51  {
52  return m_HitTimeMax;
53  }
54 
56  int getNPhiDivision(void) const
57  {
58  return m_NPhiDiv;
59  }
60 
62  int getNZDivision(void) const
63  {
64  return m_NZDiv;
65  }
66 
68  int getMaxMultiplicity(void) const
69  {
70  return c_MAX_NHIT;
71  }
72 
74  int getNPhiMultiplicity(int division) const
75  {
76  return m_NPhiMultiplicity[division];
77  }
78 
80  int getNZMultiplicity(int division) const
81  {
82  return m_NZMultiplicity[division];
83  }
84 
86  double getPhiWeight(int division, int nmutiplicity) const
87  {
88  return m_PhiWeight[division][nmutiplicity];
89  }
90 
92  double getZWeight(int division, int nmutiplicity) const
93  {
94  return m_ZWeight[division][nmutiplicity];
95  }
96 
98  double getPhiMultiplicityCDF(double stripDiv, int mult) const;
99 
101  double getZMultiplicityCDF(double stripDiv, int mult) const;
102 
103  private:
104 
106  double m_HitTimeMax;
107 
109  double m_PhiMultiplicityCDF[c_NDIV + 1][c_MAX_NHIT];
110 
112  double m_ZMultiplicityCDF[c_NDIV + 1][c_MAX_NHIT];
113 
115  int m_NPhiDiv;
116 
118  int m_NZDiv;
119 
121  int m_NPhiMultiplicity[c_NDIV + 1];
122 
124  int m_NZMultiplicity[c_NDIV + 1];
125 
127  double m_PhiWeight[c_NDIV + 1][c_MAX_NHIT];
128 
130  double m_ZWeight[c_NDIV + 1][c_MAX_NHIT];
131 
134 
135  };
136 
138 } // end of namespace Belle2
Belle2::BKLMSimulationPar::m_NPhiDiv
int m_NPhiDiv
Number of division for phistrips.
Definition: BKLMSimulationPar.h:123
Belle2::BKLMSimulationPar::getZWeight
double getZWeight(int division, int nmutiplicity) const
Get weight table for z.
Definition: BKLMSimulationPar.h:100
Belle2::BKLMSimulationPar::m_NPhiMultiplicity
int m_NPhiMultiplicity[c_NDIV+1]
Number of kind of mutiplicity of phistrips in each divison.
Definition: BKLMSimulationPar.h:129
Belle2::BKLMSimulationPar::~BKLMSimulationPar
~BKLMSimulationPar()
Default destructor.
Definition: BKLMSimulationPar.cc:29
Belle2::BKLMSimulationPar::getPhiMultiplicityCDF
double getPhiMultiplicityCDF(double stripDiv, int mult) const
Get the RPC phi-strip cumulative prob density function.
Definition: BKLMSimulationPar.cc:96
Belle2::BKLMSimulationPar::BKLMSimulationPar
BKLMSimulationPar()
Default constructor.
Definition: BKLMSimulationPar.h:44
Belle2::BKLMSimulationPar::ClassDef
ClassDef(BKLMSimulationPar, 3)
Class version.
Belle2::BKLMSimulationPar::getMaxMultiplicity
int getMaxMultiplicity(void) const
Get the maximum multiplicity in the RPC strip cumulative prob density functions.
Definition: BKLMSimulationPar.h:76
Belle2::BKLMSimulationPar::read
void read(const GearDir &)
Get simulation parameters from Gearbox.
Definition: BKLMSimulationPar.cc:33
Belle2::BKLMSimulationPar::getNPhiMultiplicity
int getNPhiMultiplicity(int division) const
Get number of kind of mutiplicity for phistrips.
Definition: BKLMSimulationPar.h:82
Belle2::BKLMSimulationPar::getNPhiDivision
int getNPhiDivision(void) const
Get number of divisions for phi strips.
Definition: BKLMSimulationPar.h:64
Belle2::BKLMSimulationPar::getHitTimeMax
double getHitTimeMax(void) const
Get the maximum global time for a recorded sim hit.
Definition: BKLMSimulationPar.h:58
Belle2::BKLMSimulationPar::m_HitTimeMax
double m_HitTimeMax
Maximum global time for a recorded sim hit.
Definition: BKLMSimulationPar.h:114
Belle2::BKLMSimulationPar::m_ZWeight
double m_ZWeight[c_NDIV+1][c_MAX_NHIT]
RPC zStrip weight table.
Definition: BKLMSimulationPar.h:138
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::BKLMSimulationPar::m_PhiMultiplicityCDF
double m_PhiMultiplicityCDF[c_NDIV+1][c_MAX_NHIT]
RPC phiStrip multiplicity cumulative probability distribution table.
Definition: BKLMSimulationPar.h:117
Belle2::BKLMSimulationPar
Provides BKLM simulation parameters.
Definition: BKLMSimulationPar.h:34
Belle2::GearDir
GearDir is the basic class used for accessing the parameter store.
Definition: GearDir.h:41
Belle2::BKLMSimulationPar::getNZMultiplicity
int getNZMultiplicity(int division) const
Get number of kind of mutiplicity for zstrips.
Definition: BKLMSimulationPar.h:88
Belle2::BKLMSimulationPar::getZMultiplicityCDF
double getZMultiplicityCDF(double stripDiv, int mult) const
Get the RPC z-strip cumulative prob density function.
Definition: BKLMSimulationPar.cc:108
Belle2::BKLMSimulationPar::m_NZMultiplicity
int m_NZMultiplicity[c_NDIV+1]
Number of weigths of zstrips in each divison.
Definition: BKLMSimulationPar.h:132
Belle2::BKLMSimulationPar::m_ZMultiplicityCDF
double m_ZMultiplicityCDF[c_NDIV+1][c_MAX_NHIT]
RPC zStrip multiplicity cumulative probability distribution table.
Definition: BKLMSimulationPar.h:120
Belle2::BKLMSimulationPar::getNZDivision
int getNZDivision(void) const
Get number of divisions for z strips.
Definition: BKLMSimulationPar.h:70
Belle2::BKLMSimulationPar::m_PhiWeight
double m_PhiWeight[c_NDIV+1][c_MAX_NHIT]
RPC phiStrip weight table.
Definition: BKLMSimulationPar.h:135
Belle2::BKLMSimulationPar::getPhiWeight
double getPhiWeight(int division, int nmutiplicity) const
Get weight table for phi.
Definition: BKLMSimulationPar.h:94
Belle2::BKLMSimulationPar::m_NZDiv
int m_NZDiv
Number of division for zstrips.
Definition: BKLMSimulationPar.h:126