#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, DQMStore *const dbeIn=NULL, EcalHitMaker *const myGrid=NULL, PreshowerHitMaker *const myPreshower=NULL, 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 |
DQMStore * | dbe |
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 28 of file EMShower.h.
|
private |
Definition at line 33 of file EMShower.h.
|
private |
Definition at line 34 of file EMShower.h.
|
private |
Definition at line 36 of file EMShower.h.
|
private |
Definition at line 35 of file EMShower.h.
|
private |
Definition at line 31 of file EMShower.h.
EMShower::EMShower | ( | RandomEngineAndDistribution const * | engine, |
GammaFunctionGenerator * | gamma, | ||
EMECALShowerParametrization *const | myParam, | ||
std::vector< const RawParticle * > *const | myPart, | ||
DQMStore *const | dbeIn = NULL , |
||
EcalHitMaker *const | myGrid = NULL , |
||
PreshowerHitMaker *const | myPreshower = NULL , |
||
bool | bFixedLength = false |
||
) |
Definition at line 21 of file EMShower.cc.
References a, aSpot, b, bSpot, DQMStore::cd(), EMECALShowerParametrization::correlationAlphaT(), ECALProperties::criticalEnergy(), dbe, alignCSCRings::e, E, EMECALShowerParametrization::ecalProperties(), Etot, create_public_lumi_plots::exp, MonitorElement::Fill(), RandomEngineAndDistribution::gaussShoot(), DQMStore::get(), globalMaximum, hasPreshower, EMECALShowerParametrization::hcalProperties(), i, EMECALShowerParametrization::layer1Properties(), EMECALShowerParametrization::layer2Properties(), ECALProperties::lightCollectionEfficiency(), create_public_lumi_plots::log, maximumOfShower, EMECALShowerParametrization::meanAlpha(), EMECALShowerParametrization::meanAlphaSpot(), meanDepth, EMECALShowerParametrization::meanLnAlpha(), EMECALShowerParametrization::meanLnT(), EMECALShowerParametrization::meanT(), EMECALShowerParametrization::meanTSpot(), nPart, EMECALShowerParametrization::nSpots(), NULL, photos, ECALProperties::photoStatistics(), random, EMECALShowerParametrization::sigmaLnAlpha(), EMECALShowerParametrization::sigmaLnT(), mathSSE::sqrt(), stepsCalculated, theECAL, theHCAL, theLayer1, theLayer2, theNumberOfSpots, theParam, thePart, Ti, totalEnergy, and TSpot.
|
inlinevirtual |
Definition at line 49 of file EMShower.h.
void EMShower::compute | ( | ) |
Compute the shower longitudinal and lateral development.
Definition at line 305 of file EMShower.cc.
References a, funct::abs(), PreshowerHitMaker::addHit(), HcalHitMaker::addHit(), EcalHitMaker::addHit(), EcalHitMaker::addHitDepth(), RadialInterval::addInterval(), aSpot, b, bSpot, DQMStore::cd(), RadialInterval::compute(), ECALProperties::da(), dbe, deposit(), depositedEnergy, ECALProperties::dp(), dt, alignCSCRings::e, E, patCandidatesForDimuonsSequences_cff::ecal, Etot, MonitorElement::Fill(), RandomEngineAndDistribution::flatShoot(), gam(), RandomEngineAndDistribution::gaussShoot(), DQMStore::get(), RadialInterval::getNumberOfSpots(), EcalHitMaker::getPads(), RadialInterval::getSpotEnergy(), RadialInterval::getUmax(), RadialInterval::getUmin(), EcalHitMaker::getX0back(), hasPreshower, patCandidatesForDimuonsSequences_cff::hcal, HCALProperties::hOverPi(), i, ECALProperties::isHom(), ECALProperties::lightCollectionUniformity(), M_PI, timingPdfMaker::mean, meanDepth, PreshowerLayer2Properties::mipsPerGeV(), PreshowerLayer1Properties::mipsPerGeV(), myGammaGenerator, RadialInterval::nIntervals(), nPart, nSteps, NULL, EMECALShowerParametrization::p(), phi, photos, RandomEngineAndDistribution::poissonShoot(), prepareSteps(), ECALProperties::radLenIncm(), random, EMECALShowerParametrization::rC(), ECALProperties::resE(), EMECALShowerParametrization::rT(), HcalHitMaker::setDepth(), setIntervals(), GammaFunctionGenerator::setParameters(), HcalHitMaker::setSpotEnergy(), PreshowerHitMaker::setSpotEnergy(), EcalHitMaker::setSpotEnergy(), GammaFunctionGenerator::shoot(), HCALProperties::spotFraction(), mathSSE::sqrt(), ntuplemaker::status, relval_parameters_module::step, steps, stepsCalculated, edmStreamStallGrapher::t, theECAL, theGrid, theHCAL, theHcalHitMaker, theLayer1, theLayer2, theNumberOfSpots, theParam, thePreshower, Ti, groupFilesInBlocks::tt, w2, and w3.
Referenced by CalorimetryManager::EMShowerSimulation().
|
private |
Definition at line 807 of file EMShower.cc.
References dt, myIncompleteGamma, query::result, and edmStreamStallGrapher::t.
Referenced by compute(), and prepareSteps().
|
private |
Definition at line 848 of file EMShower.cc.
References alignCSCRings::e, myIncompleteGamma, query::result, and edmStreamStallGrapher::t.
|
private |
Definition at line 771 of file EMShower.cc.
References create_public_lumi_plots::exp, and funct::pow().
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 61 of file EMShower.h.
References globalMaximum.
Referenced by CalorimetryManager::EMShowerSimulation().
void EMShower::prepareSteps | ( | ) |
Computes the steps before the real compute.
Definition at line 160 of file EMShower.cc.
References a, b, bFixedLength_, deposit(), depositedEnergy, dt, E, EcalHitMaker::ecalTotalX0(), EcalHitMaker::hcalTotalX0(), i, innerDepth, meanDepth, nPart, nSteps, evf::evtn::offset(), outerDepth, EcalHitMaker::ps1TotalX0(), EcalHitMaker::ps2eeTotalX0(), EcalHitMaker::ps2TotalX0(), relval_parameters_module::step, steps, stepsCalculated, edmStreamStallGrapher::t, theGrid, EcalHitMaker::totalX0(), and EcalHitMaker::x0DepthOffset().
Referenced by compute().
|
inline |
set the grid address
Definition at line 64 of file EMShower.h.
References theGrid.
Referenced by CalorimetryManager::EMShowerSimulation().
void EMShower::setHcal | ( | HcalHitMaker *const | myHcal | ) |
set the HCAL address
Definition at line 842 of file EMShower.cc.
References theHcalHitMaker.
Referenced by CalorimetryManager::EMShowerSimulation().
|
private |
Definition at line 819 of file EMShower.cc.
References RadialInterval::addInterval(), EMECALShowerParametrization::getCoreIntervals(), EMECALShowerParametrization::getTailIntervals(), and theParam.
Referenced by compute().
void EMShower::setPreshower | ( | PreshowerHitMaker *const | myPresh | ) |
set the preshower address
Definition at line 832 of file EMShower.cc.
References hasPreshower, NULL, and thePreshower.
Referenced by CalorimetryManager::EMShowerSimulation().
|
private |
Definition at line 105 of file EMShower.h.
Referenced by compute(), EMShower(), and prepareSteps().
|
private |
Definition at line 109 of file EMShower.h.
Referenced by compute(), and EMShower().
|
private |
Definition at line 106 of file EMShower.h.
Referenced by compute(), EMShower(), and prepareSteps().
|
private |
Definition at line 153 of file EMShower.h.
Referenced by prepareSteps().
|
private |
Definition at line 110 of file EMShower.h.
Referenced by compute(), and EMShower().
|
private |
Definition at line 143 of file EMShower.h.
Referenced by compute(), and EMShower().
|
private |
Definition at line 116 of file EMShower.h.
Referenced by compute(), and prepareSteps().
|
private |
Definition at line 102 of file EMShower.h.
Referenced by compute(), EMShower(), and prepareSteps().
|
private |
Definition at line 101 of file EMShower.h.
Referenced by compute(), and EMShower().
|
private |
Definition at line 120 of file EMShower.h.
Referenced by EMShower(), and getMaximumOfShower().
|
private |
Definition at line 139 of file EMShower.h.
Referenced by compute(), EMShower(), and setPreshower().
|
private |
Definition at line 118 of file EMShower.h.
Referenced by prepareSteps().
|
private |
Definition at line 115 of file EMShower.h.
Referenced by EMShower().
|
private |
Definition at line 117 of file EMShower.h.
Referenced by compute(), EMShower(), and prepareSteps().
|
private |
Definition at line 151 of file EMShower.h.
Referenced by compute().
|
private |
Definition at line 145 of file EMShower.h.
Referenced by deposit().
|
private |
Definition at line 97 of file EMShower.h.
Referenced by compute(), EMShower(), and prepareSteps().
|
private |
Definition at line 126 of file EMShower.h.
Referenced by compute(), and prepareSteps().
|
private |
Definition at line 118 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 148 of file EMShower.h.
Referenced by compute(), and EMShower().
|
private |
Definition at line 125 of file EMShower.h.
Referenced by compute(), and prepareSteps().
|
private |
Definition at line 127 of file EMShower.h.
Referenced by compute(), EMShower(), and prepareSteps().
|
private |
Definition at line 104 of file EMShower.h.
|
private |
Definition at line 90 of file EMShower.h.
Referenced by compute(), and EMShower().
|
private |
Definition at line 130 of file EMShower.h.
Referenced by compute(), prepareSteps(), and setGrid().
|
private |
Definition at line 91 of file EMShower.h.
Referenced by compute(), and EMShower().
|
private |
Definition at line 136 of file EMShower.h.
|
private |
Definition at line 92 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 100 of file EMShower.h.
Referenced by compute(), and EMShower().
|
private |
Definition at line 87 of file EMShower.h.
Referenced by compute(), EMShower(), and setIntervals().
|
private |
Definition at line 96 of file EMShower.h.
Referenced by EMShower().
|
private |
Definition at line 133 of file EMShower.h.
Referenced by compute(), and setPreshower().
|
private |
Definition at line 107 of file EMShower.h.
Referenced by compute(), and EMShower().
|
private |
Definition at line 122 of file EMShower.h.
Referenced by EMShower().
|
private |
Definition at line 108 of file EMShower.h.
Referenced by EMShower().