ATLAS Offline Software
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
MDT_Response Class Reference

#include <MDT_Response.h>

Collaboration diagram for MDT_Response:

Public Types

typedef std::vector< double > clusterVec
 

Public Member Functions

 MDT_Response ()
 
 MDT_Response (double timewindow, double binsize)
 
 ~MDT_Response ()
 
void SetSegment (double r, double x)
 
void SetTubeRadius (double radius)
 
void SetClusterDensity (double dens)
 
void SetAttLength (double len)
 
void SetRtMode (unsigned int mode)
 
void SetDifRMS (double rms)
 
void SetTriggerElectron (double el)
 
void SetIntegrationWindow (double win)
 
void SetRtParameters (int npar, double *par)
 
bool GetSignal (CLHEP::HepRandomEngine *rndmEngine)
 
bool GetSignal (double ParticleCharge, double ParticleGamma, CLHEP::HepRandomEngine *rndmEngine)
 
double DriftTime () const
 
double TThreshold () const
 
double TFirst () const
 
double T0 () const
 
double AdcResponse () const
 
double Charge () const
 
double V_r (double r)
 
double DoStep (CLHEP::HepRandomEngine *rndmEngine) const
 
double DampingFactor (double x)
 
double PropagationDelay (double x)
 
double RtoT (double r)
 
double Diffusion (double r, CLHEP::HepRandomEngine *rndmEngine) const
 
double SigmaDiffusion (double r) const
 
int GenerateQ (CLHEP::HepRandomEngine *rndmEngine) const
 
const double * RtParameters () const
 

Private Member Functions

void InitTubeParameters ()
 
void InitClusters (double timewindow, double binsize)
 
void InitRt ()
 
void InitdEdxTable ()
 
void DoStepping (CLHEP::HepRandomEngine *rndmEngine)
 
void DoStepping (double ParticleCharge, double ParticleGamma, CLHEP::HepRandomEngine *rndmEngine)
 
void Reset ()
 

Private Attributes

double m_radius = 0.0
 
double m_rhit
 
double m_xhit
 
double m_pathLength
 
double m_clusterDensity = 0.0
 
std::vector< double > m_gammaFactorVec
 
std::vector< double > m_numberOfClustersPerCmVec
 
double m_attLength = 0.0
 
double m_signalSpeed = 0.0
 
int m_rtMode = 0
 
unsigned int m_rtNpar = 0U
 
double * m_rtParameters
 
double m_difSmearing = 0.0
 
double m_triggerElectron = 0.0
 
double m_integrationWindow = 0.0
 
double m_binsize = 0.0
 
double m_timeWindow = 0.0
 
int m_offset = 0
 
int m_bins = 0
 
Amplifier m_amplifier
 
clusterVec m_clusters
 
double m_t0
 

Detailed Description

Definition at line 20 of file MDT_Response.h.

Member Typedef Documentation

◆ clusterVec

typedef std::vector<double> MDT_Response::clusterVec

Definition at line 23 of file MDT_Response.h.

Constructor & Destructor Documentation

◆ MDT_Response() [1/2]

MDT_Response::MDT_Response ( )

Definition at line 8 of file MDT_Response.cxx.

8  :
9  m_rhit(0.0),
10  m_xhit(0.0),
11  m_pathLength(0.0),
12  m_rtParameters(nullptr),
13  m_t0(0.0)
14 {
16  InitClusters(200.,0.2);
17  InitdEdxTable();
18 }

◆ MDT_Response() [2/2]

MDT_Response::MDT_Response ( double  timewindow,
double  binsize 
)

Definition at line 20 of file MDT_Response.cxx.

20  :
21  m_rhit(0.0),
22  m_xhit(0.0),
23  m_pathLength(0.0),
24  m_rtParameters(nullptr),
25  m_t0(0.0)
26 {
28  InitClusters(timewindow,binsize);
29  InitdEdxTable();
30 }

◆ ~MDT_Response()

MDT_Response::~MDT_Response ( )

Definition at line 32 of file MDT_Response.cxx.

33 {
34  delete[] m_rtParameters; m_rtParameters=nullptr;
35 }

Member Function Documentation

◆ AdcResponse()

double MDT_Response::AdcResponse ( ) const
inline

Definition at line 191 of file MDT_Response.h.

192 { return m_amplifier.AdcResponse(); }

◆ Charge()

double MDT_Response::Charge ( ) const
inline

Definition at line 194 of file MDT_Response.h.

195 { return m_amplifier.Charge(); }

◆ DampingFactor()

double MDT_Response::DampingFactor ( double  x)
inline

Definition at line 136 of file MDT_Response.h.

136 { return exp(-1.*x/m_attLength); }

◆ Diffusion()

double MDT_Response::Diffusion ( double  r,
CLHEP::HepRandomEngine *  rndmEngine 
) const
inline

Definition at line 161 of file MDT_Response.h.

162 {
163  // Smearing with maximum of three sigma
164  double sigma = SigmaDiffusion(r);
165  double t = CLHEP::RandGaussZiggurat::shoot(rndmEngine,0.,sigma);
166  if(fabs(t) > 3*sigma) {
167  t = Diffusion(r, rndmEngine);
168  }
169  return t;
170 }

◆ DoStep()

double MDT_Response::DoStep ( CLHEP::HepRandomEngine *  rndmEngine) const
inline

Definition at line 114 of file MDT_Response.h.

115 {
116  return (-1./m_clusterDensity)*log( CLHEP::RandFlat::shoot(rndmEngine) );
117 }

◆ DoStepping() [1/2]

void MDT_Response::DoStepping ( CLHEP::HepRandomEngine *  rndmEngine)
private

Definition at line 152 of file MDT_Response.cxx.

153 {
154  //double propDelay = PropagationDelay(m_xhit);
155  double damping = DampingFactor(m_xhit);
156  double r2(m_rhit*m_rhit);
157  m_t0 = RtoT(m_rhit);
158 
159  for(int i=0;i<2;++i){ // splite track into to segments
160  double cl(0.); // current position along track
161  while(cl < m_pathLength){
162  cl += DoStep(rndmEngine); // Do step along track
163  double r = sqrt(cl*cl + r2); // calculate corresponding r
164  int q = GenerateQ(rndmEngine);// generate cluster size
165  double t = RtoT(r);
166  // check if value lies within window
167  if(t-m_t0 > m_bins*m_binsize + 3.*SigmaDiffusion(r) ) {
168  break;
169  }
170  double tc = t + Diffusion(r, rndmEngine) - m_t0;
171  int bin( (int)(tc/m_binsize+m_offset) );
172 
173  // fill value into corresponding bin
174  if(bin < (int)m_clusters.size() && bin >=0 ){
175  m_clusters[bin] += q*damping;
176  }else if(bin < 0) {
177  std::cout << "out of range " << tc << " bin " << bin << std::endl;
178  }
179  }
180  }
181 }

◆ DoStepping() [2/2]

void MDT_Response::DoStepping ( double  ParticleCharge,
double  ParticleGamma,
CLHEP::HepRandomEngine *  rndmEngine 
)
private

Definition at line 184 of file MDT_Response.cxx.

185 {
186 // extract Cluster Density for the given value of particle gamma from the vector gammaFactorVec()
187  double correctedClusterDensity;
188  int km=0;
189  int kmm=0;
190  if(ParticleGamma<0.90852E+06){
191  while(ParticleGamma>m_gammaFactorVec.at(km)){
192  ++km;
193  }
194  int mm=km-1;
195  if(km!=0){
196  double deltagamma=fabs(m_gammaFactorVec.at(km)-m_gammaFactorVec.at(mm))/2.;
197  kmm=km-1;
198  if(ParticleGamma > (m_gammaFactorVec.at(mm)+deltagamma)){
199  kmm=km;
200  }
201  }
202  correctedClusterDensity=(8.5/40.636)*(m_numberOfClustersPerCmVec.at(kmm));
203  }else{
204  correctedClusterDensity=8.5;
205  }
206 
207  //double propDelay = PropagationDelay(m_xhit);
208  double damping = DampingFactor(m_xhit);
209  double r2(m_rhit*m_rhit);
210  m_t0 = RtoT(m_rhit);
211 
212  for(int i=0;i<2;++i){ // splite track into to segments
213  double cl(0.); // current position along track
214  while(cl < m_pathLength){
215 
216  if(fabs(ParticleCharge)!=1.){
217  cl += 8.5/(correctedClusterDensity*pow(ParticleCharge,2))*DoStep(rndmEngine); // Do step along track
218  }else{
219  cl += 8.5/(correctedClusterDensity)*DoStep(rndmEngine); // Do step along track
220  }
221 
222  double r = sqrt(cl*cl + r2); // calculate corresponding r
223  int q = GenerateQ(rndmEngine); // generate cluster size
224  double t = RtoT(r);
225  // check if value lies within window
226  if(t-m_t0 > m_bins*m_binsize + 3.*SigmaDiffusion(r) ) {
227  break;
228  }
229  double tc = t + Diffusion(r, rndmEngine) - m_t0;
230  int bin( (int)(tc/m_binsize+m_offset) );
231 
232  // fill value into corresponding bin
233  if(bin < (int)m_clusters.size() && bin >=0 ){
234  m_clusters[bin] += q*damping;
235  }else if(bin < 0) {
236  std::cout << "out of range " << tc << " bin " << bin << std::endl;
237  }
238  }
239  }
240 }

◆ DriftTime()

double MDT_Response::DriftTime ( ) const
inline

Definition at line 179 of file MDT_Response.h.

180 { return m_t0 + m_amplifier.TThreshold() - m_offset*m_binsize; }

◆ GenerateQ()

int MDT_Response::GenerateQ ( CLHEP::HepRandomEngine *  rndmEngine) const
inline

Definition at line 120 of file MDT_Response.h.

121 {
122  double v = CLHEP::RandFlat::shoot(rndmEngine);
123  double p;
124  if(v<0.08){
125  p = CLHEP::RandPoisson::shoot(rndmEngine,13.);
126  }else if(v<0.28){
127  double v1 = CLHEP::RandFlat::shoot(rndmEngine);
128  p = (1./(v1+1.e-7));
129  }else{
130  p = 1+CLHEP::RandPoisson::shoot(rndmEngine,0.05);
131  }
132  return (int)p;
133 }

◆ GetSignal() [1/2]

bool MDT_Response::GetSignal ( CLHEP::HepRandomEngine *  rndmEngine)

Definition at line 254 of file MDT_Response.cxx.

255 {
256  // generate and propagate clusters
257  DoStepping(rndmEngine);
258 
259  // get amplifier response and see if it passed threshold
260  bool hasSignal = m_amplifier.AddClusters(m_clusters);
261  return hasSignal;
262 }

◆ GetSignal() [2/2]

bool MDT_Response::GetSignal ( double  ParticleCharge,
double  ParticleGamma,
CLHEP::HepRandomEngine *  rndmEngine 
)

Definition at line 265 of file MDT_Response.cxx.

266 {
267  // generate and propagate clusters
268  DoStepping(ParticleCharge,ParticleGamma,rndmEngine);
269 
270  // get amplifier response and see if it passed threshold
271  bool hasSignal = m_amplifier.AddClusters(m_clusters);
272  return hasSignal;
273 }

◆ InitClusters()

void MDT_Response::InitClusters ( double  timewindow,
double  binsize 
)
private

Definition at line 37 of file MDT_Response.cxx.

38 {
39  m_binsize = binsize;
40  m_timeWindow = timewindow;
43  m_clusters.resize(m_bins);
45  //std::cout << "MDT_Response Initialize: new cluster vector with " << m_clusters.size() << " bins " << m_bins << std::endl;
46 }

◆ InitdEdxTable()

void MDT_Response::InitdEdxTable ( )
private

Definition at line 64 of file MDT_Response.cxx.

65 {
66 
67  // initialize number of clusters per mm vs gamma table
68 
69  double gammaFactor[] = {0.10110E+01,0.10133E+01,0.10162E+01,0.10196E+01,0.10237E+01,0.10287E+01,0.10348E+01,0.10422E+01,0.10511E+01,
70  0.10619E+01,0.10750E+01,0.10909E+01,0.11101E+01,0.11334E+01,0.11616E+01,0.11957E+01,0.12371E+01,0.12873E+01,
71  0.13481E+01,0.14217E+01,0.15109E+01,0.16190E+01,0.17499E+01,0.19085E+01,0.21007E+01,0.23335E+01,0.26156E+01,
72  0.29573E+01,0.33714E+01,0.38730E+01,0.44807E+01,0.52170E+01,0.61090E+01,0.71897E+01,0.84989E+01,0.10085E+02,
73  0.12007E+02,0.14335E+02,0.17156E+02,0.20573E+02,0.24714E+02,0.29730E+02,0.35807E+02,0.43170E+02,0.52090E+02,
74  0.62897E+02,0.75989E+02,0.91852E+02,0.11107E+03,0.13435E+03,0.16256E+03,0.19673E+03,0.23814E+03,0.28830E+03,
75  0.34907E+03,0.42270E+03,0.51190E+03,0.61997E+03,0.75089E+03,0.90952E+03,0.11017E+04,0.13345E+04,0.16166E+04,
76  0.19583E+04,0.23724E+04,0.28740E+04,0.34817E+04,0.42180E+04,0.51100E+04,0.61907E+04,0.74999E+04,0.90862E+04,
77  0.11008E+05,0.13336E+05,0.16157E+05,0.19574E+05,0.23715E+05,0.28731E+05,0.34808E+05,0.42171E+05,0.51091E+05,
78  0.61898E+05,0.74990E+05,0.90853E+05,0.11007E+06,0.13335E+06,0.16156E+06,0.19574E+06,0.23714E+06,0.28730E+06,
79  0.34807E+06,0.42170E+06,0.51090E+06,0.61897E+06,0.74990E+06,0.90852E+06};
80 
81  double numberOfClustersPerCm[] = {720.157,611.293,518.910,440.579,374.222,318.055,270.554,230.415,196.530,167.949,143.867,123.598,106.560,
82  92.259,80.277,70.258,61.904,54.960,49.215,44.488,40.626,37.503,35.009,33.054,31.558,30.455,29.686,29.200,
83  28.954,28.908,29.030,29.288,29.658,30.119,30.653,31.245,31.885,32.563,33.274,34.014,34.781,35.593,36.502,
84  37.371,38.065,38.606,39.024,39.347,39.600,39.800,39.960,40.090,40.197,40.285,40.359,40.419,40.469,40.509,
85  40.540,40.564,40.582,40.596,40.606,40.614,40.620,40.624,40.627,40.629,40.631,40.632,40.633,40.634,40.635,
86  40.635,40.635,40.635,40.635,40.636,40.636,40.636,40.636,40.636,40.636,40.636,40.636,40.636,40.636,40.636,
87  40.636,40.636,40.636,40.636,40.636,40.636,40.636,40.636};
88 
89  for( int ik = 0; ik < 96; ++ik ) {
90  m_gammaFactorVec.push_back( gammaFactor[ik] );
91  m_numberOfClustersPerCmVec.push_back( numberOfClustersPerCm[ik] );
92  }
93 }

◆ InitRt()

void MDT_Response::InitRt ( )
private

Definition at line 96 of file MDT_Response.cxx.

96  {
97  //std::cout << "Setting rt-relation" << std::endl;
98  if(m_rtParameters) delete m_rtParameters;
99  switch(m_rtMode){
100  case 0: /* linear rt */
101  m_rtNpar = 1;
102  m_rtParameters = new double[m_rtNpar];
103  m_rtParameters[0] = 700./m_radius;
104  break;
105  case 1: /* used for work presented in muonsw nov 2003 */
106  m_rtNpar = 4;
107  m_rtParameters = new double[m_rtNpar];
108  m_rtParameters[0] = 0.;
109  m_rtParameters[1] = 16.4;
110  m_rtParameters[2] = 0.43;
111  m_rtParameters[3] = 0.102;
112  break;
113  case 2: // garfield rt-relation
114  m_rtNpar = 10;
115  m_rtParameters = new double[m_rtNpar];
116  m_rtParameters[0] = -1.79390e-01;
117  m_rtParameters[1] = 2.04417e+01;
118  m_rtParameters[2] = 4.96576e+00;
119  m_rtParameters[3] = -2.59002e+00;
120  m_rtParameters[4] = 5.45522e-01;
121  m_rtParameters[5] = -4.66626e-02;
122  m_rtParameters[6] = 5.66214e-04;
123  m_rtParameters[7] = 1.89740e-04;
124  m_rtParameters[8] = -1.30073e-05;
125  m_rtParameters[9] = 2.68995e-07;
126  break;
127  case 3: // output rt-relation
128  m_rtNpar = 10;
129  m_rtParameters = new double[m_rtNpar];
130  m_rtParameters[0] = 2.31708e+01;
131  m_rtParameters[1] = 4.55828;
132  m_rtParameters[2] = 1.41878e+01;
133  m_rtParameters[3] = -5.99392;
134  m_rtParameters[4] = 1.34392;
135  m_rtParameters[5] = -1.65248e-01;
136  m_rtParameters[6] = 1.15960e-02;
137  m_rtParameters[7] = -4.29922e-04;
138  m_rtParameters[8] = 6.14201e-06;
139  m_rtParameters[9] = 2.00429e-08;
140  break;
141  default:
142  std::cout << "MDT_Response: Wrong rt-mode" << std::endl;
143  m_rtNpar = 0;
144  m_rtParameters = nullptr;
145  break;
146  }
147 // std::cout << "MDT_Response: RT-relation -> Polynomial" << std::endl;
148 // for(unsigned int i=0;i<m_rtNpar;++i)
149 // std::cout << " Par[" << i << "] = " << m_rtParameters[i] << std::endl;
150 }

◆ InitTubeParameters()

void MDT_Response::InitTubeParameters ( )
private

Definition at line 48 of file MDT_Response.cxx.

49 {
50  m_radius = 14.6275; // tube radius in atlas
51  m_clusterDensity = 8.5; // clusters per mm
52  m_attLength = 30000.; // mm
53  m_signalSpeed = 300.; // mm/ns
54  m_rtMode = 2;
55  m_difSmearing = 10.;
56  m_integrationWindow = 20.;
57  m_triggerElectron = 20.;
60  InitRt();
61 
62 }

◆ PropagationDelay()

double MDT_Response::PropagationDelay ( double  x)
inline

Definition at line 139 of file MDT_Response.h.

139 { return x/m_signalSpeed; }

◆ Reset()

void MDT_Response::Reset ( )
private

Definition at line 246 of file MDT_Response.cxx.

247 {
248  clusterVec::iterator cit = m_clusters.begin();
249  for( ; cit != m_clusters.end() ; ++cit)
250  *cit = 0;
251  m_amplifier.Reset();
252 }

◆ RtoT()

double MDT_Response::RtoT ( double  r)
inline

Definition at line 142 of file MDT_Response.h.

143 {
144  int j = m_rtNpar-1;
145  double time = m_rtParameters[j];
146  while(j>0) { --j; time = time*r + m_rtParameters[j]; }
147  return time;
148 }

◆ RtParameters()

const double * MDT_Response::RtParameters ( ) const
inline

Definition at line 227 of file MDT_Response.h.

228 {
229  return m_rtParameters;
230 }

◆ SetAttLength()

void MDT_Response::SetAttLength ( double  len)
inline

Definition at line 204 of file MDT_Response.h.

205 { m_attLength = len ; }

◆ SetClusterDensity()

void MDT_Response::SetClusterDensity ( double  dens)
inline

Definition at line 201 of file MDT_Response.h.

202 { m_clusterDensity = dens ; }

◆ SetDifRMS()

void MDT_Response::SetDifRMS ( double  rms)
inline

Definition at line 210 of file MDT_Response.h.

◆ SetIntegrationWindow()

void MDT_Response::SetIntegrationWindow ( double  win)
inline

Definition at line 216 of file MDT_Response.h.

◆ SetRtMode()

void MDT_Response::SetRtMode ( unsigned int  mode)
inline

Definition at line 207 of file MDT_Response.h.

208 { m_rtMode = mode; InitRt(); }

◆ SetRtParameters()

void MDT_Response::SetRtParameters ( int  npar,
double *  par 
)
inline

Definition at line 219 of file MDT_Response.h.

220 {
221  m_rtNpar = npar;
222  if(m_rtParameters) delete m_rtParameters;
223  m_rtParameters = new double[m_rtNpar];
224  for(unsigned int i=0;i<m_rtNpar;++i)
225  m_rtParameters[i] = par[i];
226 }

◆ SetSegment()

void MDT_Response::SetSegment ( double  r,
double  x 
)
inline

Definition at line 105 of file MDT_Response.h.

106 {
107  m_rhit = r;
108  m_xhit = x;
109  m_pathLength = sqrt(m_radius*m_radius - r*r);
110  Reset();
111 }

◆ SetTriggerElectron()

void MDT_Response::SetTriggerElectron ( double  el)
inline

Definition at line 213 of file MDT_Response.h.

◆ SetTubeRadius()

void MDT_Response::SetTubeRadius ( double  radius)
inline

Definition at line 197 of file MDT_Response.h.

198 { m_radius = radius ; }

◆ SigmaDiffusion()

double MDT_Response::SigmaDiffusion ( double  r) const
inline

Definition at line 173 of file MDT_Response.h.

174 {
175  return m_difSmearing*r/m_radius;
176 }

◆ T0()

double MDT_Response::T0 ( ) const
inline

Definition at line 188 of file MDT_Response.h.

189 { return m_t0; }

◆ TFirst()

double MDT_Response::TFirst ( ) const
inline

Definition at line 185 of file MDT_Response.h.

186 { return m_amplifier.TFirst(); }

◆ TThreshold()

double MDT_Response::TThreshold ( ) const
inline

Definition at line 182 of file MDT_Response.h.

◆ V_r()

double MDT_Response::V_r ( double  r)
inline

Definition at line 151 of file MDT_Response.h.

152 {
153  int j = m_rtNpar-1;
154  double p = m_rtParameters[j];
155  double dp = 0.;
156  while(j>0) {dp = dp*r + p;--j;p=p*r+m_rtParameters[j]; }
157  return 1./dp;
158 }

Member Data Documentation

◆ m_amplifier

Amplifier MDT_Response::m_amplifier
private

Definition at line 98 of file MDT_Response.h.

◆ m_attLength

double MDT_Response::m_attLength = 0.0
private

Definition at line 82 of file MDT_Response.h.

◆ m_bins

int MDT_Response::m_bins = 0
private

Definition at line 96 of file MDT_Response.h.

◆ m_binsize

double MDT_Response::m_binsize = 0.0
private

Definition at line 93 of file MDT_Response.h.

◆ m_clusterDensity

double MDT_Response::m_clusterDensity = 0.0
private

Definition at line 78 of file MDT_Response.h.

◆ m_clusters

clusterVec MDT_Response::m_clusters
private

Definition at line 99 of file MDT_Response.h.

◆ m_difSmearing

double MDT_Response::m_difSmearing = 0.0
private

Definition at line 89 of file MDT_Response.h.

◆ m_gammaFactorVec

std::vector<double> MDT_Response::m_gammaFactorVec
private

Definition at line 79 of file MDT_Response.h.

◆ m_integrationWindow

double MDT_Response::m_integrationWindow = 0.0
private

Definition at line 92 of file MDT_Response.h.

◆ m_numberOfClustersPerCmVec

std::vector<double> MDT_Response::m_numberOfClustersPerCmVec
private

Definition at line 80 of file MDT_Response.h.

◆ m_offset

int MDT_Response::m_offset = 0
private

Definition at line 95 of file MDT_Response.h.

◆ m_pathLength

double MDT_Response::m_pathLength
private

Definition at line 76 of file MDT_Response.h.

◆ m_radius

double MDT_Response::m_radius = 0.0
private

Definition at line 72 of file MDT_Response.h.

◆ m_rhit

double MDT_Response::m_rhit
private

Definition at line 74 of file MDT_Response.h.

◆ m_rtMode

int MDT_Response::m_rtMode = 0
private

Definition at line 85 of file MDT_Response.h.

◆ m_rtNpar

unsigned int MDT_Response::m_rtNpar = 0U
private

Definition at line 86 of file MDT_Response.h.

◆ m_rtParameters

double* MDT_Response::m_rtParameters
private

Definition at line 87 of file MDT_Response.h.

◆ m_signalSpeed

double MDT_Response::m_signalSpeed = 0.0
private

Definition at line 83 of file MDT_Response.h.

◆ m_t0

double MDT_Response::m_t0
private

Definition at line 101 of file MDT_Response.h.

◆ m_timeWindow

double MDT_Response::m_timeWindow = 0.0
private

Definition at line 94 of file MDT_Response.h.

◆ m_triggerElectron

double MDT_Response::m_triggerElectron = 0.0
private

Definition at line 91 of file MDT_Response.h.

◆ m_xhit

double MDT_Response::m_xhit
private

Definition at line 75 of file MDT_Response.h.


The documentation for this class was generated from the following files:
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
MDT_Response::GenerateQ
int GenerateQ(CLHEP::HepRandomEngine *rndmEngine) const
Definition: MDT_Response.h:120
MDT_Response::m_integrationWindow
double m_integrationWindow
Definition: MDT_Response.h:92
beamspotman.r
def r
Definition: beamspotman.py:676
MDT_Response::m_bins
int m_bins
Definition: MDT_Response.h:96
MDT_Response::m_signalSpeed
double m_signalSpeed
Definition: MDT_Response.h:83
TileDCSDataPlotter.dp
dp
Definition: TileDCSDataPlotter.py:840
MDT_Response::m_clusters
clusterVec m_clusters
Definition: MDT_Response.h:99
MDT_Response::InitdEdxTable
void InitdEdxTable()
Definition: MDT_Response.cxx:64
MDT_Response::m_difSmearing
double m_difSmearing
Definition: MDT_Response.h:89
pdg_comparison.sigma
sigma
Definition: pdg_comparison.py:324
MDT_Response::m_numberOfClustersPerCmVec
std::vector< double > m_numberOfClustersPerCmVec
Definition: MDT_Response.h:80
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
MDT_Response::m_gammaFactorVec
std::vector< double > m_gammaFactorVec
Definition: MDT_Response.h:79
MDT_Response::m_offset
int m_offset
Definition: MDT_Response.h:95
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
MDT_Response::m_radius
double m_radius
Definition: MDT_Response.h:72
MDT_Response::m_xhit
double m_xhit
Definition: MDT_Response.h:75
conifer::pow
constexpr int pow(int x)
Definition: conifer.h:20
Amplifier::TFirst
double TFirst() const
Definition: Amplifier.h:84
MDT_Response::DoStepping
void DoStepping(CLHEP::HepRandomEngine *rndmEngine)
Definition: MDT_Response.cxx:152
bin
Definition: BinsDiffFromStripMedian.h:43
Amplifier::Charge
double Charge() const
Definition: Amplifier.h:93
MDT_Response::InitClusters
void InitClusters(double timewindow, double binsize)
Definition: MDT_Response.cxx:37
MDT_Response::m_amplifier
Amplifier m_amplifier
Definition: MDT_Response.h:98
Amplifier::AddClusters
bool AddClusters(const cluster_vec &clusters)
Definition: Amplifier.cxx:132
Amplifier::SetTriggerElectron
void SetTriggerElectron(double el)
Definition: Amplifier.h:97
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
MCP::ScaleSmearParam::r2
@ r2
drawFromPickle.exp
exp
Definition: drawFromPickle.py:36
x
#define x
MDT_Response::m_triggerElectron
double m_triggerElectron
Definition: MDT_Response.h:91
MDT_Response::SigmaDiffusion
double SigmaDiffusion(double r) const
Definition: MDT_Response.h:173
Amplifier::InitResponse
void InitResponse(unsigned int bins, double binsize)
Definition: Amplifier.cxx:97
MDT_Response::m_pathLength
double m_pathLength
Definition: MDT_Response.h:76
MDT_Response::Reset
void Reset()
Definition: MDT_Response.cxx:246
MDT_Response::Diffusion
double Diffusion(double r, CLHEP::HepRandomEngine *rndmEngine) const
Definition: MDT_Response.h:161
MDT_Response::m_binsize
double m_binsize
Definition: MDT_Response.h:93
lumiFormat.i
int i
Definition: lumiFormat.py:92
Amplifier::TThreshold
double TThreshold() const
Definition: Amplifier.h:81
MDT_Response::DampingFactor
double DampingFactor(double x)
Definition: MDT_Response.h:136
plotIsoValidation.el
el
Definition: plotIsoValidation.py:197
Preparation.mode
mode
Definition: Preparation.py:95
MDT_Response::m_t0
double m_t0
Definition: MDT_Response.h:101
MDT_Response::InitTubeParameters
void InitTubeParameters()
Definition: MDT_Response.cxx:48
MDT_Response::m_rtParameters
double * m_rtParameters
Definition: MDT_Response.h:87
Amplifier::Reset
void Reset()
Definition: Amplifier.cxx:122
createCoolChannelIdFile.par
par
Definition: createCoolChannelIdFile.py:29
VP1PartSpect::E
@ E
Definition: VP1PartSpectFlags.h:21
plotBeamSpotVxVal.bin
int bin
Definition: plotBeamSpotVxVal.py:83
ParticleGun_SamplingFraction.radius
radius
Definition: ParticleGun_SamplingFraction.py:96
python.SystemOfUnits.mm
int mm
Definition: SystemOfUnits.py:83
python.PyAthena.v
v
Definition: PyAthena.py:157
MDT_Response::m_attLength
double m_attLength
Definition: MDT_Response.h:82
Amplifier::AdcResponse
double AdcResponse() const
Definition: Amplifier.h:90
Amplifier::SetIntegrationWindow
void SetIntegrationWindow(double win)
Definition: Amplifier.h:102
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
MDT_Response::m_rtMode
int m_rtMode
Definition: MDT_Response.h:85
MDT_Response::m_timeWindow
double m_timeWindow
Definition: MDT_Response.h:94
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
beamspotnt.rms
rms
Definition: bin/beamspotnt.py:1266
extractSporadic.q
list q
Definition: extractSporadic.py:98
MDT_Response::m_clusterDensity
double m_clusterDensity
Definition: MDT_Response.h:78
MDT_Response::DoStep
double DoStep(CLHEP::HepRandomEngine *rndmEngine) const
Definition: MDT_Response.h:114
MDT_Response::m_rtNpar
unsigned int m_rtNpar
Definition: MDT_Response.h:86
MDT_Response::InitRt
void InitRt()
Definition: MDT_Response.cxx:96
dq_make_web_display.cl
cl
print [x.__class__ for x in toList(dqregion.getSubRegions()) ]
Definition: dq_make_web_display.py:26
python.SystemOfUnits.km
int km
Definition: SystemOfUnits.py:95
MDT_Response::RtoT
double RtoT(double r)
Definition: MDT_Response.h:142
MDT_Response::m_rhit
double m_rhit
Definition: MDT_Response.h:74