Belle II Software development
ECLChargedPidPDFs Class Reference

Class representing the DB payload w/ information about ECL PDF parameters for a set of particle hypotheses 'signed pdgId' values, i.e. More...

#include <ECLChargedPidPDFs.h>

Inheritance diagram for ECLChargedPidPDFs:

Classes

class  VarTransfoSettings
 Class to hold parameters needed to perform pre-processing of input variables (e.g., gaussianisation, decorrelation) to build a multi-dimensional likelihood model. More...
 

Public Types

enum class  InputVar : unsigned int {
  c_NONE = 0 ,
  c_E1E9 = 1 ,
  c_E9E21 = 2 ,
  c_S2 = 3 ,
  c_E = 4 ,
  c_EoP = 5 ,
  c_Z40 = 6 ,
  c_Z51 = 7 ,
  c_ZMVA = 8 ,
  c_PSDMVA = 9 ,
  c_DeltaL = 10 ,
  c_LAT = 11
}
 Enum type for observables for which PDFs are stored. More...
 
typedef std::unordered_map< InputVar, TF1 * > PdfsByVariable
 Typedef.
 
typedef std::unordered_map< int, PdfsByVariablePdfsMapByCategory
 Typedef.
 
typedef std::unordered_map< int, PdfsMapByCategoryPdfsMapByParticle
 Typedef.
 
typedef std::unordered_map< int, std::vector< InputVar > > VariablesMapByCategory
 Typedef.
 
typedef std::unordered_map< int, VariablesMapByCategoryVariablesMapByParticle
 Typedef.
 
typedef std::unordered_map< int, VarTransfoSettingsVTSMapByCategory
 Typedef.
 
typedef std::unordered_map< int, VTSMapByCategoryVTSMapByParticle
 Typedef.
 

Public Member Functions

 ECLChargedPidPDFs ()
 Default constructor.
 
 ~ECLChargedPidPDFs ()
 Destructor.
 
void setVars (const unsigned int pdg, const int true_charge, const unsigned int i, const unsigned int j, const std::vector< InputVar > &vars)
 Set the names of the input variables for which PDFs are stored for a given hypothesis and category (p, clusterTheta).
 
const std::vector< InputVar > * getVars (const unsigned int pdg, const int charge, const double &p, const double &theta) const
 Getter for list of input variables (enums) for which PDFs are stored for a given hypothesis and category (p, clusterTheta).
 
void printPdfMap (const unsigned int pdg=0, const double &p=-1.0, const double &theta=-999.0, const int true_charge=1, const InputVar varid=InputVar::c_NONE) const
 Print out the content of the internal 'matrioska' maps.
 
void setEnergyUnit (const double &unit)
 Set the energy unit to be consistent w/ the one used in the fit.
 
void setAngularUnit (const double &unit)
 Set the angular unit to be consistent w/ the one used in the fit.
 
void setPdfCategories (TH2F *h)
 Set the 2D (clusterTheta, p) grid representing the categories for which PDFs are defined.
 
const TH2F * getPdfCategories () const
 Get the 2D (clusterTheta, p) grid representing the categories for which PDFs are defined.
 
void add (const unsigned int pdg, const int true_charge, const unsigned int i, const unsigned int j, const InputVar varid, TF1 *pdf)
 Fills the internal maps for a given hypothesis and category (clusterTheta, p).
 
const TF1 * getPdf (const unsigned int pdg, const int charge, const double &p, const double &theta, const InputVar varid) const
 Return the PDF of this observable for this candidate's reconstructed (p, clusterTheta), under the given particle hypothesis.
 
bool doVarsTransfo () const
 Check whether variables transformation is applied.
 
void storeVarsTransfoSettings (const unsigned int pdg, const int true_charge, const unsigned int i, const unsigned int j, const int nVars, const std::string &classPath="", const std::vector< int > &nDivisions=std::vector< int >(), const std::vector< double > &cumulDist=std::vector< double >(), const std::vector< double > &x=std::vector< double >(), const std::vector< double > &covMatrix=std::vector< double >())
 Setup the variable transformations for a given hypothesis in a category (p, clusterTheta), needed to build a multi-dimensional likelihood.
 
const VarTransfoSettingsgetVTS (const unsigned int pdg, const int charge, const double &p, const double &theta) const
 Getter for variable transformation settings.
 

Private Member Functions

int findBin (const TH2F *h, const double &x, const double &y) const
 Find global bin index of a 2D histogram for the given (x, y) values.
 
 ClassDef (ECLChargedPidPDFs, 2)
 ClassDef.
 

Private Attributes

TParameter< double > m_energy_unit
 The energy unit used for the binning.
 
TParameter< double > m_ang_unit
 The angular unit used for the binning.
 
TH2F * m_categories = nullptr
 A 2D (x, y) = (clusterTheta, p) histogram whose bins represent the categories for which PDFs are defined.
 
VariablesMapByParticle m_variablesmap
 Internal map.
 
VariablesMapByCategory m_variablesmap_bycategory
 Internal map.
 
bool m_do_varstransform = false
 To be toggled on if input variables have been transformed (i.e., if storeVarsTransfoSettings() was called when creating the payload).
 
PdfsMapByParticle m_pdfsmap
 Internal map.
 
PdfsMapByCategory m_pdfsmap_bycategory
 Internal map.
 
PdfsByVariable m_pdfs_byvariable
 Internal map.
 
VTSMapByParticle m_vtsmap
 Internal map.
 
VTSMapByCategory m_vtsmap_bycategory
 Internal map.
 

Detailed Description

Class representing the DB payload w/ information about ECL PDF parameters for a set of particle hypotheses 'signed pdgId' values, i.e.

abs(pdgId) x true_charge.

Definition at line 30 of file ECLChargedPidPDFs.h.

Member Typedef Documentation

◆ PdfsByVariable

typedef std::unordered_map<InputVar, TF1*> PdfsByVariable

Typedef.

Definition at line 102 of file ECLChargedPidPDFs.h.

◆ PdfsMapByCategory

typedef std::unordered_map<int, PdfsByVariable > PdfsMapByCategory

Typedef.

Definition at line 103 of file ECLChargedPidPDFs.h.

◆ PdfsMapByParticle

typedef std::unordered_map<int, PdfsMapByCategory > PdfsMapByParticle

Typedef.

Definition at line 104 of file ECLChargedPidPDFs.h.

◆ VariablesMapByCategory

typedef std::unordered_map<int, std::vector<InputVar> > VariablesMapByCategory

Typedef.

Definition at line 105 of file ECLChargedPidPDFs.h.

◆ VariablesMapByParticle

typedef std::unordered_map<int, VariablesMapByCategory > VariablesMapByParticle

Typedef.

Definition at line 106 of file ECLChargedPidPDFs.h.

◆ VTSMapByCategory

typedef std::unordered_map<int, VarTransfoSettings> VTSMapByCategory

Typedef.

Definition at line 108 of file ECLChargedPidPDFs.h.

◆ VTSMapByParticle

typedef std::unordered_map<int, VTSMapByCategory > VTSMapByParticle

Typedef.

Definition at line 109 of file ECLChargedPidPDFs.h.

Member Enumeration Documentation

◆ InputVar

enum class InputVar : unsigned int
strong

Enum type for observables for which PDFs are stored.

Enumerator
c_NONE 

Null var.

c_E1E9 

E1/E9.

c_E9E21 

E9/E21.

c_S2 

Second moment.

c_E 

Energy of maxE shower.

c_EoP 

E/p.

c_Z40 

Zernike moment 40.

c_Z51 

Zernike moment 51.

c_ZMVA 

Zernike MVA.

c_PSDMVA 

PSD MVA.

c_DeltaL 

DeltaL (track depth)

c_LAT 

Lateral shower shape.

Definition at line 49 of file ECLChargedPidPDFs.h.

49 : unsigned int {
51 c_NONE = 0,
53 c_E1E9 = 1,
55 c_E9E21 = 2,
57 c_S2 = 3,
59 c_E = 4,
61 c_EoP = 5,
63 c_Z40 = 6,
65 c_Z51 = 7,
67 c_ZMVA = 8,
69 c_PSDMVA = 9,
71 c_DeltaL = 10,
73 c_LAT = 11
74 };
@ c_DeltaL
DeltaL (track depth)
@ c_E
Energy of maxE shower.
@ c_LAT
Lateral shower shape.

Constructor & Destructor Documentation

◆ ECLChargedPidPDFs()

ECLChargedPidPDFs ( )
inline

Default constructor.

Definition at line 35 of file ECLChargedPidPDFs.h.

35 :
36 m_energy_unit("energyUnit", Unit::rad),
37 m_ang_unit("angularUnit", Unit::GeV),
39 m_pdfsmap(),
40 m_vtsmap()
41 {};
TParameter< double > m_energy_unit
The energy unit used for the binning.
VTSMapByParticle m_vtsmap
Internal map.
VariablesMapByParticle m_variablesmap
Internal map.
TParameter< double > m_ang_unit
The angular unit used for the binning.
PdfsMapByParticle m_pdfsmap
Internal map.
static const double rad
Standard of [angle].
Definition: Unit.h:50
static const double GeV
Standard of [energy, momentum, mass].
Definition: Unit.h:51

◆ ~ECLChargedPidPDFs()

~ECLChargedPidPDFs ( )
inline

Destructor.

Definition at line 44 of file ECLChargedPidPDFs.h.

44{};

Member Function Documentation

◆ add()

void add ( const unsigned int  pdg,
const int  true_charge,
const unsigned int  i,
const unsigned int  j,
const InputVar  varid,
TF1 *  pdf 
)
inline

Fills the internal maps for a given hypothesis and category (clusterTheta, p).

Parameters
pdgthe particle hypothesis' abs(pdgId).
true_chargethe particle's true charge sign (+1 or -1).
ithe index along the 2D grid Y axis (rows) --> p.
jthe index along the 2D grid X axis (cols) --> clusterTheta.
varidthe observable's enum identifier.
pdfthe pdf object.

Definition at line 226 of file ECLChargedPidPDFs.h.

227 {
228
229 auto ji = m_categories->GetBin(j, i);
230
231 const int signed_pdg = pdg * true_charge / std::abs(true_charge);
232
233 m_pdfsmap[signed_pdg][ji][varid] = pdf;
234
235 }
TH2F * m_categories
A 2D (x, y) = (clusterTheta, p) histogram whose bins represent the categories for which PDFs are defi...

◆ ClassDef()

ClassDef ( ECLChargedPidPDFs  ,
 
)
private

ClassDef.

2: removed dependency on pdgId of category histograms added enum InputVar added m_variablesmap_bycategory added m_do_varstransform added m_variables

◆ doVarsTransfo()

bool doVarsTransfo ( ) const
inline

Check whether variables transformation is applied.

Definition at line 270 of file ECLChargedPidPDFs.h.

270{ return m_do_varstransform; }
bool m_do_varstransform
To be toggled on if input variables have been transformed (i.e., if storeVarsTransfoSettings() was ca...

◆ findBin()

int findBin ( const TH2F *  h,
const double &  x,
const double &  y 
) const
inlineprivate

Find global bin index of a 2D histogram for the given (x, y) values.

This method had to be re-implemented b/c ROOT has no const version of TH1::FindBin() :(

Parameters
h2D histogram
xvalue along the x axis.
yvalue along the y axis.
Returns
the global linearised bin index.

Definition at line 349 of file ECLChargedPidPDFs.h.

350 {
351
352 int nbinsx_vis = h->GetXaxis()->GetNbins();
353 int nbinsy_vis = h->GetYaxis()->GetNbins();
354
355 double xx = x;
356 double yy = y;
357
358 // If x, y are outside of the 2D hogram grid (visible) range, set their value to
359 // fall in the last (first) bin before (after) overflow (underflow).
360 if (x < h->GetXaxis()->GetBinLowEdge(1)) { xx = h->GetXaxis()->GetBinCenter(1); }
361 if (x >= h->GetXaxis()->GetBinLowEdge(nbinsx_vis + 1)) { xx = h->GetXaxis()->GetBinCenter(nbinsx_vis); }
362 if (y < h->GetYaxis()->GetBinLowEdge(1)) { yy = h->GetYaxis()->GetBinCenter(1); }
363 if (y >= h->GetYaxis()->GetBinLowEdge(nbinsy_vis + 1)) { yy = h->GetYaxis()->GetBinCenter(nbinsy_vis); }
364
365 int nbinsx = h->GetXaxis()->GetNbins() + 2;
366 int j = h->GetXaxis()->FindBin(xx);
367 int i = h->GetYaxis()->FindBin(yy);
368
369 return j + nbinsx * i;
370 }

◆ getPdf()

const TF1 * getPdf ( const unsigned int  pdg,
const int  charge,
const double &  p,
const double &  theta,
const InputVar  varid 
) const
inline

Return the PDF of this observable for this candidate's reconstructed (p, clusterTheta), under the given particle hypothesis.

Parameters
pdgthe particle hypothesis' abs(pdgId).
chargethe particle's reconstructed charge sign (+1 or -1).
pthe reconstructed momentum of the candidate's track.
thetathe reconstructed polar angle of the candidate's cluster.
varidthe observable's enum identifier.

Definition at line 245 of file ECLChargedPidPDFs.h.

246 {
247
248 const int signed_pdg = pdg * charge / std::abs(charge);
249
250 double pp = p / m_energy_unit.GetVal();
251 double th = TMath::Abs(theta) / m_ang_unit.GetVal();
252
253 int gbin = findBin(m_categories, th, pp);
254
255 int x, y, z;
256 m_categories->GetBinXYZ(gbin, x, y, z);
257
258 B2DEBUG(30, "\t\tAngular unit: " << m_ang_unit.GetVal());
259 B2DEBUG(30, "\t\tEnergy unit: " << m_energy_unit.GetVal());
260 B2DEBUG(30, "\t\t|pdgId| * reco_charge = " << signed_pdg << ", clusterTheta = " << th << ", p = " << pp);
261 B2DEBUG(30, "\t\tgbin = " << gbin << ", x,y = (" << x << "," << y << ")");
262 B2DEBUG(30, "\t\tvariable id = " << static_cast<unsigned int>(varid));
263
264 return m_pdfsmap.at(signed_pdg).at(gbin).at(varid);
265 }
int findBin(const TH2F *h, const double &x, const double &y) const
Find global bin index of a 2D histogram for the given (x, y) values.
double charge(int pdgCode)
Returns electric charge of a particle with given pdg code.
Definition: EvtPDLUtil.cc:44

◆ getPdfCategories()

const TH2F * getPdfCategories ( ) const
inline

Get the 2D (clusterTheta, p) grid representing the categories for which PDFs are defined.

Definition at line 212 of file ECLChargedPidPDFs.h.

213 {
214 return m_categories;
215 }

◆ getVars()

const std::vector< InputVar > * getVars ( const unsigned int  pdg,
const int  charge,
const double &  p,
const double &  theta 
) const
inline

Getter for list of input variables (enums) for which PDFs are stored for a given hypothesis and category (p, clusterTheta).

Parameters
pdgthe particle hypothesis' abs(pdgId).
chargethe particle's reconstructed charge sign (+1 or -1).
pthe reconstructed momentum of the particle's track.
thetathe reconstructed polar angle of the particle's cluster.

Definition at line 139 of file ECLChargedPidPDFs.h.

140 {
141
142 auto gbin = findBin(m_categories, theta, p);
143
144 const int signed_pdg = pdg * charge / std::abs(charge);
145
146 return &(m_variablesmap.at(signed_pdg).at(gbin));
147
148 }

◆ getVTS()

const VarTransfoSettings * getVTS ( const unsigned int  pdg,
const int  charge,
const double &  p,
const double &  theta 
) const
inline

Getter for variable transformation settings.

Parameters
pdgthe particle hypothesis' abs(pdgId).
chargethe particle's reconstructed charge sign (+1 or -1).
pthe reconstructed momentum of the candidate's track.
thetathe reconstructed polar angle of the candidate's cluster.

Definition at line 328 of file ECLChargedPidPDFs.h.

329 {
330
331 const int signed_pdg = pdg * charge / std::abs(charge);
332
333 auto gbin = findBin(m_categories, theta, p);
334
335 return &(m_vtsmap.at(signed_pdg).at(gbin));
336
337 }

◆ printPdfMap()

void printPdfMap ( const unsigned int  pdg = 0,
const double &  p = -1.0,
const double &  theta = -999.0,
const int  true_charge = 1,
const InputVar  varid = InputVar::c_NONE 
) const
inline

Print out the content of the internal 'matrioska' maps.

Useful for debugging.

Definition at line 153 of file ECLChargedPidPDFs.h.

157 {
158
159 const int signed_pdg = pdg * true_charge / std::abs(true_charge);
160
161 std::cout << "Printing PDF info: " << std::endl;
162 if (pdg) std::cout << "-) |pdgId| * true_charge = " << signed_pdg << std::endl;
163 if (p != -1.0) std::cout << "-) p = " << p << " [GeV/c]" << std::endl;
164 if (theta != -999.0) std::cout << "-) clusterTheta = " << theta << " [rad]" << std::endl;
165 if (varid != InputVar::c_NONE) std::cout << "-) varid = " << static_cast<unsigned int>(varid) << std::endl;
166
167 int x, y, z;
168 for (const auto& pair0 : m_pdfsmap) {
169
170 if (signed_pdg && signed_pdg != pair0.first) continue;
171
172 for (const auto& pair1 : pair0.second) {
173
174 auto ji(-1);
175 if (p != -1.0 && theta != -999.0) {
176 ji = findBin(m_categories, theta, p);
177 m_categories->GetBinXYZ(ji, x, y, z);
178 }
179 if (ji > 0 && ji != pair1.first) continue;
180
181 std::cout << "\tglobal_bin_idx: " << pair1.first << " (" << x << "," << y << ")" << std::endl;
182
183 for (const auto& pair2 : pair1.second) {
184 if (varid != InputVar::c_NONE && varid != pair2.first) continue;
185 std::cout << "\t\tvarid: " << static_cast<unsigned int>(varid) << ", TF1: " << pair2.second->GetName() << std::endl;
186 }
187
188 }
189 }
190 }

◆ setAngularUnit()

void setAngularUnit ( const double &  unit)
inline

Set the angular unit to be consistent w/ the one used in the fit.

Definition at line 198 of file ECLChargedPidPDFs.h.

198{ m_ang_unit.SetVal(unit); }

◆ setEnergyUnit()

void setEnergyUnit ( const double &  unit)
inline

Set the energy unit to be consistent w/ the one used in the fit.

Definition at line 194 of file ECLChargedPidPDFs.h.

194{ m_energy_unit.SetVal(unit); }

◆ setPdfCategories()

void setPdfCategories ( TH2F *  h)
inline

Set the 2D (clusterTheta, p) grid representing the categories for which PDFs are defined.

Parameters
hthe 2D histogram.

Definition at line 204 of file ECLChargedPidPDFs.h.

205 {
206 m_categories = h;
207 }

◆ setVars()

void setVars ( const unsigned int  pdg,
const int  true_charge,
const unsigned int  i,
const unsigned int  j,
const std::vector< InputVar > &  vars 
)
inline

Set the names of the input variables for which PDFs are stored for a given hypothesis and category (p, clusterTheta).

Parameters
pdgthe particle hypothesis' abs(pdgId).
true_chargethe particle's true charge sign (+1 or -1).
ithe index along the 2D grid Y axis (rows) --> p.
jthe index along the 2D grid X axis (cols) --> clusterTheta.
varsthe list of variables. The variable ID is not a string, but an enum code integer as defined in InputVar.

Definition at line 119 of file ECLChargedPidPDFs.h.

121 {
122 auto ji = m_categories->GetBin(j, i);
123
124 m_variablesmap_bycategory[ji] = vars;
125
126 const int signed_pdg = pdg * true_charge / std::abs(true_charge);
127
129
130 }
VariablesMapByCategory m_variablesmap_bycategory
Internal map.

◆ storeVarsTransfoSettings()

void storeVarsTransfoSettings ( const unsigned int  pdg,
const int  true_charge,
const unsigned int  i,
const unsigned int  j,
const int  nVars,
const std::string &  classPath = "",
const std::vector< int > &  nDivisions = std::vector<int>(),
const std::vector< double > &  cumulDist = std::vector<double>(),
const std::vector< double > &  x = std::vector<double>(),
const std::vector< double > &  covMatrix = std::vector<double>() 
)
inline

Setup the variable transformations for a given hypothesis in a category (p, clusterTheta), needed to build a multi-dimensional likelihood.

Parameters
pdgthe particle hypothesis' abs(pdgId).
true_chargethe particle's true charge sign (+1 or -1).
ithe index along the 2D grid Y axis (rows) --> p.
jthe index along the 2D grid X axis (cols) --> clusterTheta.
nVarsthe number of input variables used to build the model.
classPath(for debugging) full path to the file containing the TMVA standalone class used to get the variables transformation parameters.
nDivisionsthe number of divisions (steps) of the variable's range.
cumulDistthe value of the variable's cumulative density function at each step.
xthe value of the variable at each step.
covMatrixthe variables' inverse square-root covariance matrix.

Definition at line 285 of file ECLChargedPidPDFs.h.

294 {
295
296 const int signed_pdg = pdg * true_charge / std::abs(true_charge);
297
298 m_do_varstransform = true;
299
300 VarTransfoSettings vts;
301
302 vts.nVars = nVars;
303 vts.classPath = classPath;
304 vts.nDivisionsMax = (!nDivisions.empty()) ? *(std::max_element(std::begin(nDivisions), std::end(nDivisions))) : 0;
305 vts.nDivisions = nDivisions;
306 vts.cumulDist = cumulDist;
307 vts.x = x;
308 vts.covMatrix = covMatrix;
309
310 auto ji = m_categories->GetBin(j, i);
311 vts.gbin = ji;
312 vts.ip = i;
313 vts.jth = j;
314
315 m_vtsmap_bycategory[ji] = vts;
316
317 m_vtsmap[signed_pdg] = m_vtsmap_bycategory;
318
319 }
VTSMapByCategory m_vtsmap_bycategory
Internal map.

Member Data Documentation

◆ m_ang_unit

TParameter<double> m_ang_unit
private

The angular unit used for the binning.

Definition at line 375 of file ECLChargedPidPDFs.h.

◆ m_categories

TH2F* m_categories = nullptr
private

A 2D (x, y) = (clusterTheta, p) histogram whose bins represent the categories for which PDFs are defined.

It is used to lookup the correct PDF in the payload, given a reconstructed pair (clusterTheta, p).

Definition at line 381 of file ECLChargedPidPDFs.h.

◆ m_do_varstransform

bool m_do_varstransform = false
private

To be toggled on if input variables have been transformed (i.e., if storeVarsTransfoSettings() was called when creating the payload).

Definition at line 403 of file ECLChargedPidPDFs.h.

◆ m_energy_unit

TParameter<double> m_energy_unit
private

The energy unit used for the binning.

Definition at line 374 of file ECLChargedPidPDFs.h.

◆ m_pdfs_byvariable

PdfsByVariable m_pdfs_byvariable
private

Internal map.

The key corresponds to an observable of interest (E/p, E, shower shape...). The mapped value is a TF1 representing the normalised PDF for that variable, for a given particle in a given category (clusterTheta, p).

Definition at line 424 of file ECLChargedPidPDFs.h.

◆ m_pdfsmap

PdfsMapByParticle m_pdfsmap
private

Internal map.

The key corresponds to the particle hypothesis' signed pdgId. The mapped value is a PdfsMapByCategory map, described below.

Definition at line 410 of file ECLChargedPidPDFs.h.

◆ m_pdfsmap_bycategory

PdfsMapByCategory m_pdfsmap_bycategory
private

Internal map.

The key corresponds to the global bin index in the 2D (clusterTheta, p) category grid. The mapped value is a PdfsByVariable map, described below.

Definition at line 417 of file ECLChargedPidPDFs.h.

◆ m_variablesmap

VariablesMapByParticle m_variablesmap
private

Internal map.

The key corresponds to the particle hypothesis' signed pdgId. The mapped value is a VariablesMapByCategory map, described below.

Definition at line 388 of file ECLChargedPidPDFs.h.

◆ m_variablesmap_bycategory

VariablesMapByCategory m_variablesmap_bycategory
private

Internal map.

The key corresponds to the global bin index in the 2D (clusterTheta, p) grid. The mapped value is a list of variables used for the MVA training for a given particle in a given 2D bin. NB: the order of the variables in the mapped vector matches the one used in the training by construction!

Definition at line 397 of file ECLChargedPidPDFs.h.

◆ m_vtsmap

VTSMapByParticle m_vtsmap
private

Internal map.

The key corresponds to the particle hypothesis' signed pdgId. The mapped value is a VTSMapByCategory map, described below.

Definition at line 431 of file ECLChargedPidPDFs.h.

◆ m_vtsmap_bycategory

VTSMapByCategory m_vtsmap_bycategory
private

Internal map.

The key corresponds to the global bin index in the 2D (clusterTheta, p) category grid. The mapped value is a VarTransfoSettings struct, containing the info for transforming input variables for a given particle in a given category.

Definition at line 439 of file ECLChargedPidPDFs.h.


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