Belle II Software  release-08-01-10
CDCDedxCosineEdge Class Reference

dE/dx special large cosine calibration to fix bending shoulder at large costh More...

#include <CDCDedxCosineEdge.h>

Inheritance diagram for CDCDedxCosineEdge:
Collaboration diagram for CDCDedxCosineEdge:

Public Member Functions

 CDCDedxCosineEdge ()
 Default constructor.
 
 CDCDedxCosineEdge (const std::vector< std::vector< double >> &largecosth)
 Constructor.
 
 ~CDCDedxCosineEdge ()
 Destructor.
 
int getSize (const int side) const
 Get the number of bins of requested side. More...
 
double getMean (int side, unsigned int ibin) const
 return calibration constant for given side and bin # More...
 
double getMean (double costh) const
 return calibration constant for cosine value More...
 
double getCosEdgePar (int side, unsigned int ibin) const
 return specific large cosine constants on give side More...
 
void printCosEdgePars (int side)
 print large cosine constants array on requested side More...
 
void setCosthEdgePar (int side, unsigned int ibin, double value)
 set specific hadron parameter More...
 

Private Member Functions

 ClassDef (CDCDedxCosineEdge, 1)
 ClassDef.
 

Private Attributes

std::vector< std::vector< double > > m_largeCos
 ADC vs corrected ADC mapping.
 

Detailed Description

dE/dx special large cosine calibration to fix bending shoulder at large costh

Definition at line 27 of file CDCDedxCosineEdge.h.

Member Function Documentation

◆ getCosEdgePar()

double getCosEdgePar ( int  side,
unsigned int  ibin 
) const
inline

return specific large cosine constants on give side

Parameters
side<0 for backward and >0 for forward
ibinis bin number for given costh

Definition at line 145 of file CDCDedxCosineEdge.h.

146  {
147 
148  std::vector<double> temp;
149  double coslow = 0.0, coshigh = 0.0;
150  if (side < 0) {
151  temp = m_largeCos[0];
152  coslow = -0.870; coshigh = -0.850;
153  } else if (side > 0) {
154  temp = m_largeCos[1];
155  coslow = 0.950; coshigh = 0.960;
156  } else {
157  B2ERROR("CDCDedxCosineEdge:choose > 0 for forward and <0 for backward side");
158  return -99.0;
159  }
160 
161  if (ibin >= temp.size()) {
162  B2ERROR("CDCDedxCosineEdge:Problem with bin index: choose 0 and " << temp.size() - 1); //
163  return -99.0;
164  }
165 
166  if (temp.size() == 0)return -99.0;
167  double bw = abs(coshigh - coslow) / temp.size();
168  double bc = coslow + (0.5 + ibin) * bw; //bin centre
169  std::cout << "Par # " << ibin << ", costh bin centre = " << bc << ", const =" << temp[ibin] << std::endl;
170  return temp[ibin];
171  };
std::vector< std::vector< double > > m_largeCos
ADC vs corrected ADC mapping.

◆ getMean() [1/2]

double getMean ( double  costh) const
inline

return calibration constant for cosine value

Parameters
costhis a signed cosine theta value so by definition it recog it's side

Definition at line 89 of file CDCDedxCosineEdge.h.

◆ getMean() [2/2]

double getMean ( int  side,
unsigned int  ibin 
) const
inline

return calibration constant for given side and bin #

Parameters
side<0 for backward and >0 for forward
ibinis bin number for given costh

Definition at line 66 of file CDCDedxCosineEdge.h.

◆ getSize()

int getSize ( const int  side) const
inline

Get the number of bins of requested side.

Parameters
side<0 for backward and >0 for forward

Definition at line 49 of file CDCDedxCosineEdge.h.

◆ printCosEdgePars()

void printCosEdgePars ( int  side)
inline

print large cosine constants array on requested side

Parameters
side<0 for backward and >0 for forward constants

Definition at line 177 of file CDCDedxCosineEdge.h.

◆ setCosthEdgePar()

void setCosthEdgePar ( int  side,
unsigned int  ibin,
double  value 
)
inline

set specific hadron parameter

Parameters
side0 for backward and 1 for forward
ibinnumber starts from 0
valueof parameter to set

Definition at line 208 of file CDCDedxCosineEdge.h.


The documentation for this class was generated from the following file: