#include <EMShower.h>
Public Member Functions | |
void | compute () |
Compute the shower longitudinal and lateral development. More... | |
EMShower (RandomEngineAndDistribution const *engine, GammaFunctionGenerator *gamma, EMECALShowerParametrization *const myParam, std::vector< const RawParticle *> *const myPart, EcalHitMaker *const myGrid=nullptr, PreshowerHitMaker *const myPreshower=nullptr, bool bFixedLength=false) | |
double | getMaximumOfShower () const |
get the depth of the centre of gravity of the shower(s) More... | |
void | prepareSteps () |
Computes the steps before the real compute. More... | |
void | setGrid (EcalHitMaker *const myGrid) |
set the grid address More... | |
void | setHcal (HcalHitMaker *const myHcal) |
set the HCAL address More... | |
void | setPreshower (PreshowerHitMaker *const myPresh) |
set the preshower address More... | |
virtual | ~EMShower () |
Private Types | |
typedef std::pair< XYZPoint, double > | Spot |
typedef std::pair< unsigned int, double > | Step |
typedef Steps::const_iterator | step_iterator |
typedef std::vector< Step > | Steps |
typedef math::XYZVector | XYZPoint |
Private Member Functions | |
double | deposit (double t, double a, double b, double dt) |
double | deposit (double a, double b, double t) |
double | gam (double x, double a) const |
void | setIntervals (unsigned icomp, RadialInterval &rad) |
Private Attributes | |
std::vector< double > | a |
std::vector< double > | aSpot |
std::vector< double > | b |
bool | bFixedLength_ |
std::vector< double > | bSpot |
std::vector< std::vector< double > > | depositedEnergy |
std::vector< double > | E |
std::vector< double > | Etot |
double | globalMaximum |
bool | hasPreshower |
double | innerDepth |
std::vector< double > | maximumOfShower |
std::vector< double > | meanDepth |
GammaFunctionGenerator * | myGammaGenerator |
Genfun::IncompleteGamma | myIncompleteGamma |
unsigned int | nPart |
unsigned | nSteps |
double | outerDepth |
std::vector< double > | photos |
const RandomEngineAndDistribution * | random |
Steps | steps |
bool | stepsCalculated |
std::vector< double > | T |
const ECALProperties * | theECAL |
EcalHitMaker * | theGrid |
const HCALProperties * | theHCAL |
HcalHitMaker * | theHcalHitMaker |
const PreshowerLayer1Properties * | theLayer1 |
const PreshowerLayer2Properties * | theLayer2 |
std::vector< double > | theNumberOfSpots |
EMECALShowerParametrization *const | theParam |
std::vector< const RawParticle * > *const | thePart |
PreshowerHitMaker * | thePreshower |
std::vector< double > | Ti |
double | totalEnergy |
std::vector< double > | TSpot |
Definition at line 26 of file EMShower.h.
|
private |
Definition at line 29 of file EMShower.h.
|
private |
Definition at line 30 of file EMShower.h.
|
private |
Definition at line 32 of file EMShower.h.
|
private |
Definition at line 31 of file EMShower.h.
|
private |
Definition at line 27 of file EMShower.h.
EMShower::EMShower | ( | RandomEngineAndDistribution const * | engine, |
GammaFunctionGenerator * | gamma, | ||
EMECALShowerParametrization *const | myParam, | ||
std::vector< const RawParticle *> *const | myPart, | ||
EcalHitMaker *const | myGrid = nullptr , |
||
PreshowerHitMaker *const | myPreshower = nullptr , |
||
bool | bFixedLength = false |
||
) |
Definition at line 16 of file EMShower.cc.
References a, aSpot, b, bSpot, EMECALShowerParametrization::correlationAlphaT(), ECALProperties::criticalEnergy(), MillePedeFileConverter_cfg::e, E, EMECALShowerParametrization::ecalProperties(), Etot, JetChargeProducer_cfi::exp, RandomEngineAndDistribution::gaussShoot(), globalMaximum, hasPreshower, EMECALShowerParametrization::hcalProperties(), mps_fire::i, EMECALShowerParametrization::layer1Properties(), EMECALShowerParametrization::layer2Properties(), ECALProperties::lightCollectionEfficiency(), dqm-mbProfile::log, maximumOfShower, EMECALShowerParametrization::meanAlpha(), EMECALShowerParametrization::meanAlphaSpot(), EMECALShowerParametrization::meanLnAlpha(), EMECALShowerParametrization::meanLnT(), EMECALShowerParametrization::meanT(), EMECALShowerParametrization::meanTSpot(), nPart, EMECALShowerParametrization::nSpots(), photos, ECALProperties::photoStatistics(), random, jetAnalyzer_cfi::rhom, EMECALShowerParametrization::sigmaLnAlpha(), EMECALShowerParametrization::sigmaLnT(), mathSSE::sqrt(), stepsCalculated, theECAL, theHCAL, theLayer1, theLayer2, theNumberOfSpots, theParam, thePart, Ti, totalEnergy, TSpot, and testProducerWithPsetDescEmpty_cfi::z2.
|
inlinevirtual |
Definition at line 43 of file EMShower.h.
void EMShower::compute | ( | ) |
Compute the shower longitudinal and lateral development.
Definition at line 263 of file EMShower.cc.
References a, PreshowerHitMaker::addHit(), HcalHitMaker::addHit(), EcalHitMaker::addHit(), EcalHitMaker::addHitDepth(), RadialInterval::addInterval(), aSpot, b, bSpot, RadialInterval::compute(), deposit(), depositedEnergy, hcalRecHitTable_cff::depth, hgcalTestNeighbor_cfi::detector, dt, E, Etot, RandomEngineAndDistribution::flatShoot(), gam(), HLT_2023v12_cff::gap, RandomEngineAndDistribution::gaussShoot(), RadialInterval::getNumberOfSpots(), EcalHitMaker::getPads(), RadialInterval::getSpotEnergy(), RadialInterval::getUmax(), RadialInterval::getUmin(), EcalHitMaker::getX0back(), hasPreshower, hltEgammaHLTExtra_cfi::hcal, HCALProperties::hOverPi(), mps_fire::i, createfilelist::int, ECALProperties::isHom(), ECALProperties::lightCollectionUniformity(), M_PI, SiStripPI::mean, meanDepth, PreshowerLayer1Properties::mipsPerGeV(), PreshowerLayer2Properties::mipsPerGeV(), myGammaGenerator, RadialInterval::nIntervals(), nPart, nSteps, EMECALShowerParametrization::p(), phi, photos, RandomEngineAndDistribution::poissonShoot(), prepareSteps(), random, EMECALShowerParametrization::rC(), ECALProperties::resE(), EMECALShowerParametrization::rT(), HcalHitMaker::setDepth(), setIntervals(), GammaFunctionGenerator::setParameters(), HcalHitMaker::setSpotEnergy(), PreshowerHitMaker::setSpotEnergy(), EcalHitMaker::setSpotEnergy(), GammaFunctionGenerator::shoot(), HCALProperties::spotFraction(), mathSSE::sqrt(), mps_update::status, steps, stepsCalculated, submitPVValidationJobs::t, theECAL, theGrid, theHCAL, theHcalHitMaker, theLayer1, theLayer2, theNumberOfSpots, theParam, thePreshower, Ti, and HLTMuonOfflineAnalyzer_cfi::z0.
Referenced by CalorimetryManager::EMShowerSimulation().
|
private |
Definition at line 634 of file EMShower.cc.
References a, b, b1, b2, dt, myIncompleteGamma, mps_fire::result, and submitPVValidationJobs::t.
Referenced by compute(), and prepareSteps().
|
private |
Definition at line 665 of file EMShower.cc.
References a, b, b2, MillePedeFileConverter_cfg::e, myIncompleteGamma, mps_fire::result, and submitPVValidationJobs::t.
|
private |
Definition at line 599 of file EMShower.cc.
References a, JetChargeProducer_cfi::exp, funct::pow(), and x.
Referenced by compute().
|
inline |
get the depth of the centre of gravity of the shower(s)
get the depth of the maximum of the shower
Definition at line 55 of file EMShower.h.
References globalMaximum.
Referenced by CalorimetryManager::EMShowerSimulation().
void EMShower::prepareSteps | ( | ) |
Computes the steps before the real compute.
Definition at line 121 of file EMShower.cc.
References a, b, bFixedLength_, deposit(), depositedEnergy, dt, E, EcalHitMaker::ecalTotalX0(), EcalHitMaker::hcalTotalX0(), mps_fire::i, innerDepth, createfilelist::int, meanDepth, nPart, nSteps, hltrates_dqm_sourceclient-live_cfg::offset, outerDepth, EcalHitMaker::ps1TotalX0(), EcalHitMaker::ps2eeTotalX0(), EcalHitMaker::ps2TotalX0(), steps, stepsCalculated, submitPVValidationJobs::t, theGrid, EcalHitMaker::totalX0(), and EcalHitMaker::x0DepthOffset().
Referenced by compute().
|
inline |
set the grid address
Definition at line 58 of file EMShower.h.
References theGrid.
Referenced by CalorimetryManager::EMShowerSimulation().
void EMShower::setHcal | ( | HcalHitMaker *const | myHcal | ) |
set the HCAL address
Definition at line 663 of file EMShower.cc.
References theHcalHitMaker.
Referenced by CalorimetryManager::EMShowerSimulation().
|
private |
Definition at line 645 of file EMShower.cc.
References RadialInterval::addInterval(), EMECALShowerParametrization::getCoreIntervals(), EMECALShowerParametrization::getTailIntervals(), ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::iv, and theParam.
Referenced by compute().
void EMShower::setPreshower | ( | PreshowerHitMaker *const | myPresh | ) |
set the preshower address
Definition at line 656 of file EMShower.cc.
References hasPreshower, and thePreshower.
Referenced by CalorimetryManager::EMShowerSimulation().
|
private |
Definition at line 98 of file EMShower.h.
Referenced by compute(), deposit(), EMShower(), gam(), and prepareSteps().
|
private |
Definition at line 102 of file EMShower.h.
Referenced by compute(), and EMShower().
|
private |
Definition at line 99 of file EMShower.h.
Referenced by compute(), deposit(), EMShower(), and prepareSteps().
|
private |
Definition at line 144 of file EMShower.h.
Referenced by prepareSteps().
|
private |
Definition at line 103 of file EMShower.h.
Referenced by compute(), and EMShower().
|
private |
Definition at line 109 of file EMShower.h.
Referenced by compute(), and prepareSteps().
|
private |
Definition at line 95 of file EMShower.h.
Referenced by compute(), EMShower(), and prepareSteps().
|
private |
Definition at line 94 of file EMShower.h.
Referenced by compute(), and EMShower().
|
private |
Definition at line 113 of file EMShower.h.
Referenced by EMShower(), and getMaximumOfShower().
|
private |
Definition at line 132 of file EMShower.h.
Referenced by compute(), EMShower(), and setPreshower().
|
private |
Definition at line 111 of file EMShower.h.
Referenced by prepareSteps().
|
private |
Definition at line 108 of file EMShower.h.
Referenced by EMShower().
|
private |
Definition at line 110 of file EMShower.h.
Referenced by compute(), and prepareSteps().
|
private |
Definition at line 142 of file EMShower.h.
Referenced by compute().
|
private |
Definition at line 136 of file EMShower.h.
Referenced by deposit().
|
private |
Definition at line 90 of file EMShower.h.
Referenced by compute(), EMShower(), and prepareSteps().
|
private |
Definition at line 119 of file EMShower.h.
Referenced by compute(), and prepareSteps().
|
private |
Definition at line 111 of file EMShower.h.
Referenced by prepareSteps().
|
private |
Definition at line 96 of file EMShower.h.
Referenced by compute(), and EMShower().
|
private |
Definition at line 139 of file EMShower.h.
Referenced by compute(), and EMShower().
|
private |
Definition at line 118 of file EMShower.h.
Referenced by compute(), and prepareSteps().
|
private |
Definition at line 120 of file EMShower.h.
Referenced by compute(), EMShower(), and prepareSteps().
|
private |
Definition at line 97 of file EMShower.h.
|
private |
Definition at line 83 of file EMShower.h.
Referenced by compute(), and EMShower().
|
private |
Definition at line 123 of file EMShower.h.
Referenced by compute(), prepareSteps(), and setGrid().
|
private |
Definition at line 84 of file EMShower.h.
Referenced by compute(), and EMShower().
|
private |
Definition at line 129 of file EMShower.h.
|
private |
Definition at line 85 of file EMShower.h.
Referenced by compute(), and EMShower().
|
private |
Definition at line 86 of file EMShower.h.
Referenced by compute(), and EMShower().
|
private |
Definition at line 93 of file EMShower.h.
Referenced by compute(), and EMShower().
|
private |
Definition at line 80 of file EMShower.h.
Referenced by compute(), EMShower(), and setIntervals().
|
private |
Definition at line 89 of file EMShower.h.
Referenced by EMShower().
|
private |
Definition at line 126 of file EMShower.h.
Referenced by compute(), and setPreshower().
|
private |
Definition at line 100 of file EMShower.h.
Referenced by compute(), and EMShower().
|
private |
Definition at line 115 of file EMShower.h.
Referenced by EMShower().
|
private |
Definition at line 101 of file EMShower.h.
Referenced by EMShower().