![]() |
Belle II Software
release-06-01-15
|
Utility for expanding the PDF in y direction. More...
#include <YScanner.h>
Classes | |
struct | Derivatives |
Derivatives. More... | |
struct | PixelProjection |
Down-stream projection of a pixel to prism entrance window w/ a clip on bar exit thickness. More... | |
struct | Result |
Single PDF peak data. More... | |
struct | Table |
A table of equidistant entries. More... | |
struct | TableEntry |
Table entry. More... | |
Public Types | |
enum | EGeometry { c_Unified = 0 , c_Segmented = 1 } |
Treatement of quartz geometry. More... | |
enum | EOptics { c_SemiLinear = 0 , c_Exact = 1 } |
Treatement of spherical mirror optics. More... | |
Public Member Functions | |
YScanner (int moduleID, unsigned N=64) | |
Class constructor. More... | |
void | clear () const |
Clear mutable variables. | |
void | prepare (double momentum, double beta, double length) const |
Prepare for the PDF expansion in y for a given track mass hypothesis. More... | |
bool | isAboveThreshold () const |
Returns above Cerenkov threshold flag which is set in the prepare method. More... | |
void | expand (unsigned col, double yB, double dydz, const Derivatives &D, bool doScan) const |
Performs the PDF expansion in y for a given pixel column using scan or merge methods. More... | |
const PixelPositions & | getPixelPositions () const |
Returns pixel positions and their sizes. More... | |
const PixelMasks & | getPixelMasks () const |
Returns pixel masks. More... | |
const PixelEfficiencies & | getPixelEfficiencies () const |
Returns pixel relative efficiencies. More... | |
const Table & | getEfficiencies () const |
Returns nominal photon detection efficiencies (PDE) More... | |
double | getCosTotal () const |
Returns cosine of total reflection angle. More... | |
double | getMomentum () const |
Returns particle momentum. More... | |
double | getBeta () const |
Returns particle beta. More... | |
double | getTrackLengthInQuartz () const |
Returns particle trajectory lenght inside quartz. More... | |
double | getNumPhotonsPerLen () const |
Returns number of photons per Cerenkov azimuthal angle per track length. More... | |
double | getNumPhotons () const |
Returns number of photons per Cerenkov azimuthal angle. More... | |
double | getMeanEnergy () const |
Returns mean photon energy. More... | |
double | getRMSEnergy () const |
Returns r.m.s of photon energy. More... | |
double | getMeanEnergyBeta1 () const |
Returns mean photon energy for beta = 1. More... | |
double | getRMSEnergyBeta1 () const |
Returns r.m.s of photon energy for beta = 1. More... | |
double | getSigmaScattering () const |
Returns r.m.s of multiple scattering angle in quartz converted to photon energy. More... | |
const Table & | getEnergyDistribution () const |
Returns photon energy distribution. More... | |
const Table & | getQuasyEnergyDistribution () const |
Returns photon energy distribution convoluted with multiple scattering. More... | |
const std::vector< Result > & | getResults () const |
Returns the results of PDF expansion in y. More... | |
bool | isScanDone () const |
Checks which expansion method was used. More... | |
int | getModuleID () const |
Returns slot ID. More... | |
EGeometry | getGeometry () const |
Returns quartz geometry treatement. More... | |
EOptics | getOptics () const |
Returns treatement of spherical mirror optics. More... | |
const std::vector< BarSegment > & | getBars () const |
Returns geometry data of bar segments. More... | |
const Mirror & | getMirror () const |
Returns geometry data of spherical mirror. More... | |
const Prism & | getPrism () const |
Returns geometry data of prism. More... | |
Static Public Member Functions | |
static void | setScanLimits (int maxReflections) |
Sets parameters for selection between expand methods. More... | |
Protected Attributes | |
int | m_moduleID = 0 |
slot ID | |
EGeometry | m_geometry = c_Unified |
quartz geometry | |
EOptics | m_optics = c_SemiLinear |
spherical mirror optics | |
std::vector< BarSegment > | m_bars |
geometry data of bar segments | |
Mirror | m_mirror |
spherical mirror geometry data | |
Prism | m_prism |
prism geometry data | |
Private Member Functions | |
double | setEnergyDistribution (double beta) const |
Sets photon energy distribution and mean photon energy according to nominal PDE and particle beta. More... | |
void | integrate (const EnergyMask *energyMask, double Ecp, Result &result) const |
Integrates quasy energy distribution multiplied with energy mask. More... | |
double | prismEntranceY (double y, int k, double dydz) const |
Calculates y at prism entrance from detection position, reflection number and photon slope. More... | |
void | projectPixel (double yc, double size, int k, double dydz, PixelProjection &proj) const |
Calculates a projection of a pixel to prism entrance window (going down-stream the photon). More... | |
void | scan (unsigned col, double yB, double dydz, const Derivatives &D, int j1, int j2) const |
Performs expansion w/ the scan over reflections. More... | |
void | merge (unsigned col, double dydz, int j1, int j2) const |
Performs expansion by merging all reflections. More... | |
PixelMasks & | pixelMasks () |
Returns non-const pixel masks. More... | |
PixelEfficiencies & | pixelEfficiencies () |
Returns non-const pixel relative efficiencies. More... | |
Private Attributes | |
PixelPositions | m_pixelPositions |
positions and sizes of pixels | |
PixelMasks | m_pixelMasks |
pixel masks | |
PixelEfficiencies | m_pixelEfficiencies |
pixel relative efficiencies | |
Table | m_efficiency |
nominal photon detection efficiencies (PDE) | |
double | m_meanE0 = 0 |
mean photon energy for beta = 1 | |
double | m_rmsE0 = 0 |
r.m.s of photon energy for beta = 1 | |
double | m_cosTotal = 0 |
cosine of total reflection angle | |
double | m_momentum = 0 |
particle momentum magnitude | |
double | m_beta = 0 |
particle beta | |
double | m_length = 0 |
length of particle trajectory inside quartz | |
double | m_numPhotons = 0 |
number of photons per Cerenkov azimuthal angle per track length | |
double | m_meanE = 0 |
mean photon energy | |
double | m_rmsE = 0 |
r.m.s of photon energy | |
double | m_sigmaScat = 0 |
r.m.s. More... | |
Table | m_energyDistribution |
photon energy distribution | |
Table | m_quasyEnergyDistribution |
photon energy distribution convoluted with multiple scattering | |
bool | m_aboveThreshold = false |
true if beta is above the Cerenkov threshold | |
std::vector< Result > | m_results |
results of PDF expansion in y | |
bool | m_scanDone = false |
true if scan performed, false if reflections just merged | |
Static Private Attributes | |
static int | s_maxReflections = 16 |
maximal number of reflections to perform scan | |
Friends | |
class | TOPRecoManager |
Utility for expanding the PDF in y direction.
Definition at line 31 of file YScanner.h.
|
inherited |
Treatement of quartz geometry.
Enumerator | |
---|---|
c_Unified | single bar with average width and thickness |
c_Segmented | segmented bars |
Definition at line 33 of file RaytracerBase.h.
|
inherited |
Treatement of spherical mirror optics.
Enumerator | |
---|---|
c_SemiLinear | semi-linear approximation |
c_Exact | exact optics |
Definition at line 41 of file RaytracerBase.h.
|
explicit |
Class constructor.
Sets pixel positions of a given module and nominal photon detection efficiency.
moduleID | slot ID |
N | size of nominal photon detection efficiency table |
Definition at line 52 of file YScanner.cc.
void expand | ( | unsigned | col, |
double | yB, | ||
double | dydz, | ||
const Derivatives & | D, | ||
bool | doScan | ||
) | const |
Performs the PDF expansion in y for a given pixel column using scan or merge methods.
Results accessable with getResults() method.
col | pixel column number (0-based) |
yB | unfolded coordinate y of photon at prism entrance (= Bar exit) plane |
dydz | photon slope in y-z projection at prism entrance (dy/dz) |
D | the derivatives |
doScan | if true decide between scan and merge methods, if false always use merge method |
Definition at line 217 of file YScanner.cc.
|
inlineinherited |
Returns geometry data of bar segments.
Definition at line 160 of file RaytracerBase.h.
|
inline |
|
inline |
Returns cosine of total reflection angle.
Definition at line 301 of file YScanner.h.
|
inline |
Returns nominal photon detection efficiencies (PDE)
Definition at line 295 of file YScanner.h.
|
inline |
Returns photon energy distribution.
Definition at line 367 of file YScanner.h.
|
inlineinherited |
Returns quartz geometry treatement.
Definition at line 148 of file RaytracerBase.h.
|
inline |
|
inline |
Returns mean photon energy for beta = 1.
Definition at line 349 of file YScanner.h.
|
inlineinherited |
Returns geometry data of spherical mirror.
Definition at line 166 of file RaytracerBase.h.
|
inlineinherited |
|
inline |
|
inline |
Returns number of photons per Cerenkov azimuthal angle.
Definition at line 331 of file YScanner.h.
|
inline |
Returns number of photons per Cerenkov azimuthal angle per track length.
Definition at line 325 of file YScanner.h.
|
inlineinherited |
Returns treatement of spherical mirror optics.
Definition at line 154 of file RaytracerBase.h.
|
inline |
Returns pixel relative efficiencies.
Definition at line 289 of file YScanner.h.
|
inline |
|
inline |
Returns pixel positions and their sizes.
Definition at line 277 of file YScanner.h.
|
inlineinherited |
Returns geometry data of prism.
Definition at line 172 of file RaytracerBase.h.
|
inline |
Returns photon energy distribution convoluted with multiple scattering.
Definition at line 373 of file YScanner.h.
|
inline |
Returns the results of PDF expansion in y.
Definition at line 379 of file YScanner.h.
|
inline |
Returns r.m.s of photon energy.
Definition at line 343 of file YScanner.h.
|
inline |
Returns r.m.s of photon energy for beta = 1.
Definition at line 355 of file YScanner.h.
|
inline |
Returns r.m.s of multiple scattering angle in quartz converted to photon energy.
Definition at line 361 of file YScanner.h.
|
inline |
Returns particle trajectory lenght inside quartz.
Definition at line 319 of file YScanner.h.
|
private |
Integrates quasy energy distribution multiplied with energy mask.
energyMask | energy mask (pointer must be valid) |
Ecp | position of the mask |
result | updated result [in/out] |
Definition at line 346 of file YScanner.cc.
|
inline |
Returns above Cerenkov threshold flag which is set in the prepare method.
Definition at line 260 of file YScanner.h.
|
inline |
Checks which expansion method was used.
Definition at line 385 of file YScanner.h.
|
private |
Performs expansion by merging all reflections.
col | pixel column number (0-based) |
dydz | photon slope in y-z projection at prism entrance (dy/dz) |
j1 | first reflection number in y |
j2 | last (exclusive) reflection number in y |
Definition at line 314 of file YScanner.cc.
|
inlineprivate |
Returns non-const pixel relative efficiencies.
Definition at line 454 of file YScanner.h.
|
inlineprivate |
void prepare | ( | double | momentum, |
double | beta, | ||
double | length | ||
) | const |
Prepare for the PDF expansion in y for a given track mass hypothesis.
Sets photon energy and quasy-energy distributions, mean and r.m.s of photon energy, number of photons and aboveThreshold flag.
momentum | particle momentum |
beta | particle beta |
length | length of particle trajectory within the quartz |
Definition at line 121 of file YScanner.cc.
|
private |
Calculates y at prism entrance from detection position, reflection number and photon slope.
y | detection position in y |
k | valid index of vector of unfolded prism exit windows |
dydz | photon slope at prism entrance |
Definition at line 387 of file YScanner.cc.
|
private |
Calculates a projection of a pixel to prism entrance window (going down-stream the photon).
yc | pixel center in y |
size | pixel size in y |
k | valid index of vector of unfolded prism exit windows |
dydz | photon slope at prism entrance |
proj | projection of a pixel to prism entrance [out] |
Definition at line 397 of file YScanner.cc.
|
private |
Performs expansion w/ the scan over reflections.
col | pixel column number (0-based) |
yB | unfolded coordinate y of photon at prism entrance (= Bar exit) plane |
dydz | photon slope in y-z projection at prism entrance (dy/dz) |
D | the derivatives |
j1 | first reflection number in y |
j2 | last (exclusive) reflection number in y |
Definition at line 250 of file YScanner.cc.
|
private |
Sets photon energy distribution and mean photon energy according to nominal PDE and particle beta.
beta | particle beta |
Definition at line 188 of file YScanner.cc.
|
inlinestatic |
Sets parameters for selection between expand methods.
maxReflections | maximal number of reflections in y to perform scan |
Definition at line 236 of file YScanner.h.
|
mutableprivate |
r.m.s.
of multiple scattering angle in photon energy units
Definition at line 472 of file YScanner.h.