Dead material correction coefficients.
More...
#include <CaloHadDMCoeff2.h>
|
| CaloHadDMCoeff2 () |
|
| CaloHadDMCoeff2 (const CaloHadDMCoeff2 &other) |
|
CaloHadDMCoeff2 & | operator= (const CaloHadDMCoeff2 &other) |
|
int | getSizeDMAreaSet () const |
|
void | addHadDMArea (const HadDMArea &theArea) |
|
void | setHadDMArea (const int n_area, const HadDMArea &theArea) |
|
const HadDMArea * | getHadDMArea (int n_area) const |
|
int | getSizeDMCoeffSet () const |
|
void | addHadDMCoeff (const HadDMCoeff &theData) |
|
void | setHadDMCoeff (const int iBin, const HadDMCoeff &theData) |
|
const HadDMCoeff * | getHadDMCoeff (const int &iBin) const |
|
const HadDMCoeff * | getHadDMCoeff (const int &n_area, const float &cls_emfrac, const float &cls_ener, const float &cls_lambda, const float &cls_eta) const |
|
int | getBinFrac (const int dm_area, const float &cls_frac) const |
|
int | getBinEner (const int dm_area, const float &cls_ener) const |
|
int | getBinLambda (const int dm_area, const float &cls_lambda) const |
|
int | getBinEta (const int dm_area, const float &cls_eta) const |
|
int | getBin (const int n_area, const float &cls_em_frac, const float &cls_energy, const float &cls_lambda, const float &cls_eta) const |
|
void | PrintData (std::ostream &ff) const |
|
int | bin2indexes (const int iBin, std::vector< int > &v_dim_indx) const |
|
Dead material correction coefficients.
- Author
- Gennady Pospelov guenn.nosp@m.adi..nosp@m.pospe.nosp@m.lov@.nosp@m.cern..nosp@m.ch
- Date
- 21-November-2007 Holds dead material correction coefficients for using in Local Hadronic Correction Procedure (DeadMaterialCorrrection tool)
Definition at line 23 of file CaloHadDMCoeff2.h.
◆ HadDMCoeff
◆ key_area_type
◆ key_dim_type
◆ CaloHadDMCoeff2() [1/2]
CaloHadDMCoeff2::CaloHadDMCoeff2 |
( |
| ) |
|
|
default |
◆ CaloHadDMCoeff2() [2/2]
◆ addHadDMArea()
◆ addHadDMCoeff()
◆ bin2indexes()
int CaloHadDMCoeff2::bin2indexes |
( |
const int |
iBin, |
|
|
std::vector< int > & |
v_dim_indx |
|
) |
| const |
Definition at line 168 of file CaloHadDMCoeff2.cxx.
172 for(i_area=0; i_area<narea; i_area++) {
177 std::vector<HadDMDimension > v_dims;
179 v_dims[0] = theArea->m_dimFrac;
180 v_dims[1] = theArea->m_dimEner;
181 v_dims[2] = theArea->m_dimLambda;
182 v_dims[3] = theArea->m_dimEta;
183 int ndim = (
int) v_dims.size();
184 v_dim_indx.resize(ndim,0);
185 for(
int i_dim=0; i_dim<ndim; i_dim++){
187 for(
int j=0; j<i_dim; j++){
188 x0 += v_dim_indx[j]*v_dims[j].xloc;
190 v_dim_indx[i_dim] = (iBin-theArea->m_offset-
x0)/v_dims[i_dim].xloc;
◆ getBin()
int CaloHadDMCoeff2::getBin |
( |
const int |
n_area, |
|
|
const float & |
cls_em_frac, |
|
|
const float & |
cls_energy, |
|
|
const float & |
cls_lambda, |
|
|
const float & |
cls_eta |
|
) |
| const |
Definition at line 126 of file CaloHadDMCoeff2.cxx.
128 if(n_dm_area < 0 || n_dm_area >= (
int)
m_DMAreaSet.size()) {
129 std::cout <<
" WARNING CaloHadDMCoeff::getBin -> wrong n_area: " << n_dm_area << std::endl;
134 int ifrac = -1, iener = -1, ilambda = -1, ieta = -1;
140 if( ilambda != -1 ) {
143 iBin = ieta + ilambda*dmArea->m_dimEta.m_nbins
144 + iener*dmArea->m_dimEta.m_nbins*dmArea->m_dimLambda.m_nbins
145 + ifrac*dmArea->m_dimEta.m_nbins*dmArea->m_dimLambda.m_nbins*dmArea->m_dimEner.m_nbins
◆ getBinEner()
int CaloHadDMCoeff2::getBinEner |
( |
const int |
dm_area, |
|
|
const float & |
cls_ener |
|
) |
| const |
Definition at line 96 of file CaloHadDMCoeff2.cxx.
99 if( cls_ener < dmArea->m_dimEner.m_vMin || cls_ener >= dmArea->m_dimEner.m_vMax )
return (-1);
101 for (iener=0; iener<dmArea->m_dimEner.m_nbins; iener++) {
102 if( cls_ener < dmArea->m_dimEner.m_vBins[iener] )
break;
103 if( cls_ener >= dmArea->m_dimEner.m_vBins[iener] && (iener == dmArea->m_dimEner.m_nbins-1 || cls_ener < dmArea->m_dimEner.m_vBins[iener+1]) )
break;
◆ getBinEta()
int CaloHadDMCoeff2::getBinEta |
( |
const int |
dm_area, |
|
|
const float & |
cls_eta |
|
) |
| const |
Definition at line 117 of file CaloHadDMCoeff2.cxx.
120 float cls_abseta = std::abs(cls_eta);
121 if(cls_abseta < dmArea->m_dimEta.m_vMin || cls_abseta >= dmArea->m_dimEta.m_vMax)
return (-1);
122 return (
int)((cls_abseta - dmArea->m_dimEta.m_vMin)/dmArea->m_dimEta.m_bin_size);
◆ getBinFrac()
int CaloHadDMCoeff2::getBinFrac |
( |
const int |
dm_area, |
|
|
const float & |
cls_frac |
|
) |
| const |
Definition at line 88 of file CaloHadDMCoeff2.cxx.
91 if(cls_emfrac < dmArea->m_dimFrac.m_vMin || cls_emfrac >= dmArea->m_dimFrac.m_vMax)
return (-1);
92 return (
int)((cls_emfrac - dmArea->m_dimFrac.m_vMin)/dmArea->m_dimFrac.m_bin_size);
◆ getBinLambda()
int CaloHadDMCoeff2::getBinLambda |
( |
const int |
dm_area, |
|
|
const float & |
cls_lambda |
|
) |
| const |
Definition at line 109 of file CaloHadDMCoeff2.cxx.
112 if(cls_lambda < dmArea->m_dimLambda.m_vMin || cls_lambda >= dmArea->m_dimLambda.m_vMax)
return (-1);
113 return (
int)((cls_lambda - dmArea->m_dimLambda.m_vMin)/dmArea->m_dimLambda.m_bin_size);
◆ getHadDMArea()
◆ getHadDMCoeff() [1/2]
◆ getHadDMCoeff() [2/2]
◆ getSizeDMAreaSet()
int CaloHadDMCoeff2::getSizeDMAreaSet |
( |
| ) |
const |
|
inline |
◆ getSizeDMCoeffSet()
int CaloHadDMCoeff2::getSizeDMCoeffSet |
( |
| ) |
const |
|
inline |
◆ operator=()
◆ PrintData()
void CaloHadDMCoeff2::PrintData |
( |
std::ostream & |
ff | ) |
const |
Definition at line 199 of file CaloHadDMCoeff2.cxx.
203 "# Coeffs for Dead Material corrections in DeadMaterialCorrectionTool2 tool.\n\n"
211 fout <<
"zone " <<
area->m_indx <<
" " <<
area->m_is_on <<
" " <<
area->m_title << std::endl;
212 std::vector<CaloHadDMCoeff2::HadDMDimension > v_dims;
214 v_dims[0] =
area->m_dimFrac;
215 v_dims[1] =
area->m_dimEner;
216 v_dims[2] =
area->m_dimLambda;
217 v_dims[3] =
area->m_dimEta;
218 for(
unsigned int i_dim=0; i_dim<v_dims.size(); i_dim++){
220 sprintf(
line,
"%-6s %2d %6.3f %12.3f ",
dim.m_title.c_str(),
dim.m_nbins,
dim.m_vMin,
dim.m_vMax);
221 std::string sline(
line);
227 std::cout <<
"CaloHadDMCoeff2::PrintData2() -> Error! p1." << std::endl;
231 for(
unsigned int i=0;
i<
dim.m_vBins.size();
i++){
237 fout <<
"npars " <<
area->m_nPars << std::endl;
239 for(
int i_data=0; i_data<
area->m_length; i_data++) {
240 int indx =
area->m_offset + i_data;
242 fout << std::setw(5) << indx <<
" ";
243 std::vector<int > v_dim_indexes;
245 for(
unsigned int i_dim=0; i_dim<v_dim_indexes.size(); i_dim++){
246 fout << std::setw(4) << v_dim_indexes[i_dim] <<
" ";
249 for(
int i_par=0; i_par<
area->m_nPars; i_par++){
250 std::stringstream foutx;
251 foutx << std::fixed << std::setprecision(5) << std::setw(12) << (*pars)[i_par] <<
" ";
◆ setHadDMArea()
◆ setHadDMCoeff()
◆ m_area_offsets
std::vector<int > CaloHadDMCoeff2::m_area_offsets |
|
private |
◆ m_DMAreaSet
std::vector<HadDMArea> CaloHadDMCoeff2::m_DMAreaSet |
|
private |
◆ m_DMCoeffSet
std::vector<HadDMCoeff> CaloHadDMCoeff2::m_DMCoeffSet |
|
private |
The documentation for this class was generated from the following files: