![]() |
Belle II Software
release-06-02-00
|
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.