Implementation of Bremsstrahlung from e+/e- in the tracker layers. More...
Public Member Functions | |
Bremsstrahlung (const std::string &name, const edm::ParameterSet &cfg) | |
Constructor. More... | |
void | interact (Particle &particle, const SimplifiedGeometry &layer, std::vector< std::unique_ptr< Particle > > &secondaries, const RandomEngineAndDistribution &random) override |
Perform the interaction. More... | |
~Bremsstrahlung () override | |
Default destructor. More... | |
Public Member Functions inherited from fastsim::InteractionModel | |
const std::string | getName () |
Return (unique) name of this interaction. More... | |
InteractionModel (std::string name) | |
Constructor. More... | |
virtual void | registerProducts (edm::ProducesCollector) const |
In case interaction produces and stores content in the event (e.g. TrackerSimHits). More... | |
virtual void | storeProducts (edm::Event &iEvent) |
In case interaction produces and stores content in the event (e.g. TrackerSimHits). More... | |
virtual | ~InteractionModel () |
Default destructor. More... | |
Private Member Functions | |
math::XYZTLorentzVector | brem (Particle &particle, double xmin, const RandomEngineAndDistribution &random) const |
Compute Brem photon energy and angles, if any. More... | |
double | gbteth (const double ener, const double partm, const double efrac, const RandomEngineAndDistribution &random) const |
A universal angular distribution. More... | |
Private Attributes | |
double | minPhotonEnergy_ |
Cut on minimum energy of bremsstrahlung photons. More... | |
double | minPhotonEnergyFraction_ |
Cut on minimum fraction of particle's energy which has to be carried by photon. More... | |
double | Z_ |
Atomic number of material (usually silicon Z=14) More... | |
Implementation of Bremsstrahlung from e+/e- in the tracker layers.
Computes the number, energy and angles of Bremsstrahlung photons emitted by electrons and positrons and modifies e+/e- particle accordingly.
Definition at line 33 of file Bremsstrahlung.cc.
fastsim::Bremsstrahlung::Bremsstrahlung | ( | const std::string & | name, |
const edm::ParameterSet & | cfg | ||
) |
Constructor.
Definition at line 82 of file Bremsstrahlung.cc.
References looper::cfg, minPhotonEnergy_, minPhotonEnergyFraction_, and Z_.
|
inlineoverride |
|
private |
Compute Brem photon energy and angles, if any.
particle | The particle that interacts with the matter. |
xmin | Minimum fraction of the particle's energy that has to be converted to a photon. |
random | The Random Engine. |
Definition at line 166 of file Bremsstrahlung.cc.
References funct::cos(), fastsim::Constants::eMass, JetChargeProducer_cfi::exp, RandomEngineAndDistribution::flatShoot(), dqm-mbProfile::log, M_PI, fastsim::Particle::momentum(), funct::sin(), theta(), and TrackerOfflineValidation_Dqm_cff::xmin.
|
private |
A universal angular distribution.
ener | |
partm | |
efrac | |
random | The Random Engine. |
Definition at line 195 of file Bremsstrahlung.cc.
References HLT_2022v12_cff::beta, ztail::d, RandomEngineAndDistribution::flatShoot(), dqm-mbProfile::log, and M_PI.
|
overridevirtual |
Perform the interaction.
particle | The particle that interacts with the matter. |
layer | The detector layer that interacts with the particle. |
secondaries | Particles that are produced in the interaction (if any). |
random | The Random Engine. |
Implements fastsim::InteractionModel.
Definition at line 91 of file Bremsstrahlung.cc.
References funct::abs(), mps_fire::i, phase1PixelTopology::layer, dqm-mbProfile::log, SiStripPI::max, fastsim::Particle::momentum(), fastsim::Particle::pdgId(), RandomEngineAndDistribution::poissonShoot(), fastsim::Particle::position(), funct::pow(), mathSSE::sqrt(), theta(), and TrackerOfflineValidation_Dqm_cff::xmin.
|
private |
Cut on minimum energy of bremsstrahlung photons.
Definition at line 76 of file Bremsstrahlung.cc.
Referenced by Bremsstrahlung().
|
private |
Cut on minimum fraction of particle's energy which has to be carried by photon.
Definition at line 77 of file Bremsstrahlung.cc.
Referenced by Bremsstrahlung().
|
private |
Atomic number of material (usually silicon Z=14)
Definition at line 78 of file Bremsstrahlung.cc.
Referenced by Bremsstrahlung().