![]() |
ATLAS Offline Software
|
Updator for a track on a Trk::Layer, it extends the IMaterialEffecsUpdator to be used inside the Extrapolator with an update based on a Random number. More...
#include <McMaterialEffectsUpdator.h>
Public Member Functions | |
| McMaterialEffectsUpdator (const std::string &, const std::string &, const IInterface *) | |
| AlgTool constructor for McMaterialEffectsUpdator. | |
| virtual | ~McMaterialEffectsUpdator () |
| Destructor. | |
| StatusCode | initialize () |
| AlgTool initailize method. | |
| StatusCode | finalize () |
| AlgTool finalize method. | |
| std::unique_ptr< Trk::TrackParameters > | update (const Trk::TrackParameters *parm, const Trk::Layer &sf, Trk::TimeLimit &time, Trk::PathLimit &path, Trk::GeometrySignature geoID, Trk::PropDirection dir=Trk::alongMomentum, Trk::ParticleHypothesis particle=Trk::pion) const |
| Updator interface (full update for a layer): A unique_ptr to Trk::TrackParameters is returned it could be a clone of the input if now update has happened. | |
| std::unique_ptr< Trk::TrackParameters > | update (double time, const Trk::TrackParameters *parm, const Trk::MaterialEffectsOnTrack &meff, Trk::ParticleHypothesis particle=Trk::pion, Trk::MaterialUpdateMode matupmode=Trk::addNoise) const |
| std::unique_ptr< Trk::TrackParameters > | update (double time, const Trk::TrackParameters &parm, const Trk::MaterialProperties &mprop, double pathcorrection, Trk::PropDirection dir=Trk::alongMomentum, Trk::ParticleHypothesis particle=Trk::pion, Trk::MaterialUpdateMode matupmode=Trk::addNoise) const |
| Updator interface: The parmeters are given as a reference, MaterialProperties based material update. | |
| std::unique_ptr< Trk::TrackParameters > | interact (double time, const Amg::Vector3D &position, const Amg::Vector3D &momentum, Trk::ParticleHypothesis particle, int process, const Trk::Material *extMatProp=0) const |
| void | recordBremPhoton (double time, double pElectron, double gammaE, const Amg::Vector3D &vertex, Amg::Vector3D &particleDir, Trk::ParticleHypothesis particle) const |
| the helper function for a brem photon record | |
Private Member Functions | |
| std::unique_ptr< Trk::TrackParameters > | updateInLay (const ISF::ISFParticle *isp, const Trk::TrackParameters *parm, double &matFraction, Trk::TimeLimit &time, Trk::PathLimit &path, Trk::PropDirection dir=Trk::alongMomentum, Trk::ParticleHypothesis particle=Trk::pion) const |
| ISF::ISFParticleVector | interactLay (const ISF::ISFParticle *isp, double time, const Trk::TrackParameters &parm, Trk::ParticleHypothesis particle, int process, const Trk::MaterialProperties *extMatProp=0) const |
| void | radiate (const ISF::ISFParticle *parent, AmgVector(5) &updatedParameters, const Amg::Vector3D &pos, Amg::Vector3D &dir, Trk::TimeLimit time, double dX0, double &matFraction, double matTot, Trk::PropDirection pdir, Trk::ParticleHypothesis particle) const |
| void | ionize (const Trk::TrackParameters &parm, AmgVector(5) &updatedPar, double dInX0, Trk::PropDirection pdir, Trk::ParticleHypothesis particle) const |
| double | msSigma (double dInX0, double p, Trk::ParticleHypothesis particle) const |
| handle the Energy loss | |
| void | multipleScatteringUpdate (const Trk::TrackParameters &parm, AmgVector(5) ¶meters, double sigmaMSproj) const |
| the private multiple Scattering update method, thetaMs is the projected random number | |
| void | recordBremPhotonLay (const ISF::ISFParticle *parent, Trk::TimeLimit time, double pElectron, double gammaE, const Amg::Vector3D &vertex, Amg::Vector3D &particleDir, double matFraction, Trk::PropDirection dir, Trk::ParticleHypothesis particle) const |
| the helper function for a brem photon record | |
| const Trk::LayerIndexSampleMap * | layerIndexSampleMap () const |
| return the TrackingGeometry used | |
| virtual const Trk::TrackingGeometry * | trackingGeometry (const EventContext &ctx) const |
Private Attributes | |
| bool | m_eLoss |
| IEnergyLossUpdator. | |
| ToolHandle< Trk::IEnergyLossUpdator > | m_eLossUpdator |
| bool | m_ms |
| IMultipleScatteringUpdator. | |
| ToolHandle< Trk::IMultipleScatteringUpdator > | m_msUpdator |
| ToolHandle< iFatras::IPhotonConversionTool > | m_conversionTool |
| IPhotonConversionTool. | |
| int | m_processCode |
| MCTruth process code for TruthIncidents created by this tool. | |
| ToolHandle< iFatras::IProcessSamplingTool > | m_samplingTool |
| MCTruth process sampling. | |
| bool | m_hadInt |
| hadronic interaction setting | |
| ToolHandle< IHadronicInteractionProcessor > | m_hadIntProcessor |
| ToolHandle< IParticleDecayHelper > | m_particleDecayer |
| Particle Decay. | |
| double | m_minimumMomentum |
| Minimum momentum cut. | |
| double | m_minimumBremPhotonMomentum |
| Minimum momentum for brem photons. | |
| bool | m_parametricScattering |
| describe deflection parametric/do real deflection | |
| bool | m_use_msUpdator |
| switch between MSUpdator and local parametrization | |
| bool | m_uniformHertzDipoleAngle |
| use the relativistic hertz dipole for brem photon radiation | |
| bool | m_referenceMaterial |
| Switch to use reference material. | |
| bool | m_bendingCorrection |
| Switch to use bending correction. | |
| ServiceHandle< IAtRndmGenSvc > | m_rndGenSvc |
| Random Generator service. | |
| CLHEP::HepRandomEngine * | m_randomEngine |
| Random engine. | |
| std::string | m_randomEngineName |
| Name of the random number stream. | |
| std::atomic< unsigned int > | m_recordedBremPhotons |
| for statistics output | |
| int | m_currentSample |
| for the calo energy recording | |
| bool | m_recordEnergyDeposition |
| for deposition methods | |
| std::string | m_layerIndexCaloSampleMapName |
| name to record it | |
| const Trk::LayerIndexSampleMap * | m_layerIndexCaloSampleMap |
| the map for the calo-layer index map | |
| bool | m_useConditions {} |
| SG::ReadCondHandleKey< Trk::TrackingGeometry > | m_trackingGeometryReadKey |
| ServiceHandle< Trk::ITrackingGeometrySvc > | m_trackingGeometrySvc |
| ToolHandle to the TrackingGeometrySvc. | |
| std::string | m_trackingGeometryName { "ISF_FatrasTrackingGeometry" } |
| Name of the TrackingGeometry as given in Detector Store. | |
| double | m_projectionFactor |
| projection factor for the non-parametric scattering | |
| bool | m_validationMode |
| ToolHandle< IPhysicsValidationTool > | m_validationTool |
| std::string | m_validationTreeName |
| validation tree name - to be acessed by this from root | |
| std::string | m_validationTreeDescription |
| validation tree description - second argument in TTree | |
| std::string | m_validationTreeFolder |
| stream/folder to for the TTree to be written out | |
| TTree * | m_validationTree |
| Root Validation Tree. | |
| int | m_layerIndex |
| ntuple variable : layer index of material effects update | |
| float | m_tInX0 |
| nutple variable : t/X0 | |
| float | m_thetaMSproj |
| ntuple variable : projected ms | |
| float | m_thetaMSphi |
| ntuple variable : ms in phi | |
| float | m_thetaMStheta |
| ntuple variable : ms in theta | |
| float | m_deltaP |
| nutple variable : energy loss | |
| float | m_deltaPsigma |
| ntuple variable : stragling on energy loss | |
| bool | m_bremValidation |
| std::string | m_bremValidationTreeName |
| validation tree name - to be acessed by this from root | |
| std::string | m_bremValidationTreeDescription |
| validation tree description | |
| std::string | m_bremValidationTreeFolder |
| stream/folder to for the TTree to be written out | |
| TTree * | m_bremValidationTree |
| Root Validation Tree. | |
| float | m_bremPointX |
| ntuple variable : brem point x coordinate | |
| float | m_bremPointY |
| ntuple variable : brem point y coordinate | |
| float | m_bremPointR |
| ntuple variable : brem point r distance | |
| float | m_bremPointZ |
| ntuple variable : brem point z coordinate | |
| float | m_bremMotherEnergy |
| ntuple variable : brem mother energy | |
| float | m_bremPhotonEnergy |
| ntuple variable : brem photon energy | |
| float | m_bremPhotonAngle |
| ntuple variable : brem photon angle | |
| bool | m_edValidation |
| std::string | m_edValidationTreeName |
| validation tree name - to be acessed by this from root | |
| std::string | m_edValidationTreeDescription |
| validation tree description - second argument in TTree | |
| std::string | m_edValidationTreeFolder |
| stream/folder to for the TTree to be written out | |
| TTree * | m_edValidationTree |
| Root Validation Tree. | |
| float | m_edLayerIntersectX |
| ntuple variable : energy deposit x coordinate | |
| float | m_edLayerIntersectY |
| ntuple variable : energy deposit y coordinate | |
| float | m_edLayerIntersectZ |
| ntuple variable : energy deposit z coordinate | |
| float | m_edLayerIntersectR |
| ntuple variable : energy deposit r coordinate | |
| float | m_edLayerEnergyDeposit |
| ntuple variable : energy despoit - value | |
| float | m_edLayerSample |
| ntuple variable : layer sample | |
| double | m_oneOverThree |
| useful for the angle calculation of the brem photon | |
| ServiceHandle< ISF::IParticleBroker > | m_particleBroker |
| ServiceHandle< ISF::ITruthSvc > | m_truthRecordSvc |
| const ISF::ISFParticle * | m_isp |
| cache incoming particle | |
| const Trk::Layer * | m_layer |
| cache layer properties | |
| const Trk::MaterialProperties * | m_matProp |
| Trk::PdgToParticleHypothesis | m_pdgToParticleHypothesis |
Updator for a track on a Trk::Layer, it extends the IMaterialEffecsUpdator to be used inside the Extrapolator with an update based on a Random number.
The McMaterialEffectsUpdator uses both an extended EnergyLossUpdator and the standard ATLAS MultipleScatteringUpdator configured for the Gaussian-Mixture-Model.
Definition at line 81 of file McMaterialEffectsUpdator.h.
| iFatras::McMaterialEffectsUpdator::McMaterialEffectsUpdator | ( | const std::string & | t, |
| const std::string & | n, | ||
| const IInterface * | p ) |
AlgTool constructor for McMaterialEffectsUpdator.
Definition at line 53 of file McMaterialEffectsUpdator.cxx.
|
virtualdefault |
Destructor.
| StatusCode iFatras::McMaterialEffectsUpdator::finalize | ( | ) |
AlgTool finalize method.
Definition at line 360 of file McMaterialEffectsUpdator.cxx.
| StatusCode iFatras::McMaterialEffectsUpdator::initialize | ( | ) |
AlgTool initailize method.
Definition at line 168 of file McMaterialEffectsUpdator.cxx.
| std::unique_ptr< Trk::TrackParameters > iFatras::McMaterialEffectsUpdator::interact | ( | double | time, |
| const Amg::Vector3D & | position, | ||
| const Amg::Vector3D & | momentum, | ||
| Trk::ParticleHypothesis | particle, | ||
| int | process, | ||
| const Trk::Material * | extMatProp = 0 ) const |
Definition at line 1580 of file McMaterialEffectsUpdator.cxx.
|
private |
Definition at line 1760 of file McMaterialEffectsUpdator.cxx.
|
private |
Definition at line 767 of file McMaterialEffectsUpdator.cxx.
|
private |
return the TrackingGeometry used
Definition at line 1562 of file McMaterialEffectsUpdator.cxx.
|
private |
handle the Energy loss
the private multiple scattering sigma calculation
Definition at line 1155 of file McMaterialEffectsUpdator.cxx.
|
private |
the private multiple Scattering update method, thetaMs is the projected random number
Definition at line 1168 of file McMaterialEffectsUpdator.cxx.
|
private |
Definition at line 823 of file McMaterialEffectsUpdator.cxx.
| void iFatras::McMaterialEffectsUpdator::recordBremPhoton | ( | double | time, |
| double | pElectron, | ||
| double | gammaE, | ||
| const Amg::Vector3D & | vertex, | ||
| Amg::Vector3D & | particleDir, | ||
| Trk::ParticleHypothesis | particle ) const |
the helper function for a brem photon record
< mass
< charge
< pdg code
< time
<
Definition at line 1233 of file McMaterialEffectsUpdator.cxx.
|
private |
the helper function for a brem photon record
retrieve or provide the layerIndexSampleMap */
< mass
< charge
< pdg code
< time
< @TODO fix non-static
Definition at line 1392 of file McMaterialEffectsUpdator.cxx.
|
privatevirtual |
Definition at line 1940 of file McMaterialEffectsUpdator.cxx.
| std::unique_ptr< Trk::TrackParameters > iFatras::McMaterialEffectsUpdator::update | ( | const Trk::TrackParameters * | parm, |
| const Trk::Layer & | sf, | ||
| Trk::TimeLimit & | time, | ||
| Trk::PathLimit & | path, | ||
| Trk::GeometrySignature | geoID, | ||
| Trk::PropDirection | dir = Trk::alongMomentum, | ||
| Trk::ParticleHypothesis | particle = Trk::pion ) const |
Updator interface (full update for a layer): A unique_ptr to Trk::TrackParameters is returned it could be a clone of the input if now update has happened.
The imput is handled by the client.
Definition at line 372 of file McMaterialEffectsUpdator.cxx.
| std::unique_ptr< Trk::TrackParameters > iFatras::McMaterialEffectsUpdator::update | ( | double | time, |
| const Trk::TrackParameters & | parm, | ||
| const Trk::MaterialProperties & | mprop, | ||
| double | pathcorrection, | ||
| Trk::PropDirection | dir = Trk::alongMomentum, | ||
| Trk::ParticleHypothesis | particle = Trk::pion, | ||
| Trk::MaterialUpdateMode | matupmode = Trk::addNoise ) const |
Updator interface: The parmeters are given as a reference, MaterialProperties based material update.
Definition at line 916 of file McMaterialEffectsUpdator.cxx.
| std::unique_ptr< Trk::TrackParameters > iFatras::McMaterialEffectsUpdator::update | ( | double | time, |
| const Trk::TrackParameters * | parm, | ||
| const Trk::MaterialEffectsOnTrack & | meff, | ||
| Trk::ParticleHypothesis | particle = Trk::pion, | ||
| Trk::MaterialUpdateMode | matupmode = Trk::addNoise ) const |
Definition at line 1042 of file McMaterialEffectsUpdator.cxx.
|
private |
Definition at line 416 of file McMaterialEffectsUpdator.cxx.
|
private |
Switch to use bending correction.
Definition at line 263 of file McMaterialEffectsUpdator.h.
|
mutableprivate |
ntuple variable : brem mother energy
Definition at line 343 of file McMaterialEffectsUpdator.h.
|
mutableprivate |
ntuple variable : brem photon angle
Definition at line 345 of file McMaterialEffectsUpdator.h.
|
mutableprivate |
ntuple variable : brem photon energy
Definition at line 344 of file McMaterialEffectsUpdator.h.
|
mutableprivate |
ntuple variable : brem point r distance
Definition at line 341 of file McMaterialEffectsUpdator.h.
|
mutableprivate |
ntuple variable : brem point x coordinate
Definition at line 339 of file McMaterialEffectsUpdator.h.
|
mutableprivate |
ntuple variable : brem point y coordinate
Definition at line 340 of file McMaterialEffectsUpdator.h.
|
mutableprivate |
ntuple variable : brem point z coordinate
Definition at line 342 of file McMaterialEffectsUpdator.h.
|
private |
Definition at line 328 of file McMaterialEffectsUpdator.h.
|
private |
Definition at line 336 of file McMaterialEffectsUpdator.h.
|
private |
validation tree description
Definition at line 331 of file McMaterialEffectsUpdator.h.
|
private |
stream/folder to for the TTree to be written out
Definition at line 333 of file McMaterialEffectsUpdator.h.
|
private |
validation tree name - to be acessed by this from root
Definition at line 329 of file McMaterialEffectsUpdator.h.
|
private |
Definition at line 229 of file McMaterialEffectsUpdator.h.
|
private |
for the calo energy recording
the currentSample
Definition at line 275 of file McMaterialEffectsUpdator.h.
|
mutableprivate |
nutple variable : energy loss
Definition at line 325 of file McMaterialEffectsUpdator.h.
|
mutableprivate |
ntuple variable : stragling on energy loss
Definition at line 326 of file McMaterialEffectsUpdator.h.
|
mutableprivate |
ntuple variable : energy despoit - value
Definition at line 369 of file McMaterialEffectsUpdator.h.
|
mutableprivate |
ntuple variable : energy deposit r coordinate
Definition at line 367 of file McMaterialEffectsUpdator.h.
|
mutableprivate |
ntuple variable : energy deposit x coordinate
Definition at line 361 of file McMaterialEffectsUpdator.h.
|
mutableprivate |
ntuple variable : energy deposit y coordinate
Definition at line 363 of file McMaterialEffectsUpdator.h.
|
mutableprivate |
ntuple variable : energy deposit z coordinate
Definition at line 365 of file McMaterialEffectsUpdator.h.
|
mutableprivate |
ntuple variable : layer sample
Definition at line 370 of file McMaterialEffectsUpdator.h.
|
private |
Definition at line 349 of file McMaterialEffectsUpdator.h.
|
private |
Definition at line 357 of file McMaterialEffectsUpdator.h.
|
private |
validation tree description - second argument in TTree
Definition at line 352 of file McMaterialEffectsUpdator.h.
|
private |
stream/folder to for the TTree to be written out
Definition at line 354 of file McMaterialEffectsUpdator.h.
|
private |
validation tree name - to be acessed by this from root
Definition at line 350 of file McMaterialEffectsUpdator.h.
|
private |
IEnergyLossUpdator.
Definition at line 221 of file McMaterialEffectsUpdator.h.
|
private |
Definition at line 222 of file McMaterialEffectsUpdator.h.
|
private |
hadronic interaction setting
Definition at line 238 of file McMaterialEffectsUpdator.h.
|
private |
Definition at line 239 of file McMaterialEffectsUpdator.h.
|
mutableprivate |
cache incoming particle
Definition at line 379 of file McMaterialEffectsUpdator.h.
|
mutableprivate |
cache layer properties
Definition at line 382 of file McMaterialEffectsUpdator.h.
|
mutableprivate |
ntuple variable : layer index of material effects update
Definition at line 320 of file McMaterialEffectsUpdator.h.
|
mutableprivate |
the map for the calo-layer index map
Definition at line 279 of file McMaterialEffectsUpdator.h.
|
private |
name to record it
Definition at line 277 of file McMaterialEffectsUpdator.h.
|
mutableprivate |
Definition at line 383 of file McMaterialEffectsUpdator.h.
|
private |
Minimum momentum for brem photons.
Definition at line 248 of file McMaterialEffectsUpdator.h.
|
private |
Minimum momentum cut.
Definition at line 245 of file McMaterialEffectsUpdator.h.
|
private |
IMultipleScatteringUpdator.
Definition at line 225 of file McMaterialEffectsUpdator.h.
|
private |
Definition at line 226 of file McMaterialEffectsUpdator.h.
|
private |
useful for the angle calculation of the brem photon
Definition at line 373 of file McMaterialEffectsUpdator.h.
|
private |
describe deflection parametric/do real deflection
Definition at line 251 of file McMaterialEffectsUpdator.h.
|
private |
Definition at line 375 of file McMaterialEffectsUpdator.h.
|
private |
Particle Decay.
Definition at line 242 of file McMaterialEffectsUpdator.h.
|
private |
Definition at line 384 of file McMaterialEffectsUpdator.h.
|
private |
MCTruth process code for TruthIncidents created by this tool.
Definition at line 232 of file McMaterialEffectsUpdator.h.
|
private |
projection factor for the non-parametric scattering
Definition at line 302 of file McMaterialEffectsUpdator.h.
|
private |
Random engine.
Definition at line 268 of file McMaterialEffectsUpdator.h.
|
private |
Name of the random number stream.
Definition at line 269 of file McMaterialEffectsUpdator.h.
|
mutableprivate |
for statistics output
Definition at line 272 of file McMaterialEffectsUpdator.h.
|
private |
for deposition methods
Definition at line 276 of file McMaterialEffectsUpdator.h.
|
private |
Switch to use reference material.
Definition at line 260 of file McMaterialEffectsUpdator.h.
|
private |
Random Generator service.
Definition at line 266 of file McMaterialEffectsUpdator.h.
|
private |
MCTruth process sampling.
Definition at line 235 of file McMaterialEffectsUpdator.h.
|
mutableprivate |
ntuple variable : ms in phi
Definition at line 323 of file McMaterialEffectsUpdator.h.
|
mutableprivate |
ntuple variable : projected ms
Definition at line 322 of file McMaterialEffectsUpdator.h.
|
mutableprivate |
ntuple variable : ms in theta
Definition at line 324 of file McMaterialEffectsUpdator.h.
|
mutableprivate |
nutple variable : t/X0
Definition at line 321 of file McMaterialEffectsUpdator.h.
|
private |
Name of the TrackingGeometry as given in Detector Store.
Definition at line 298 of file McMaterialEffectsUpdator.h.
|
private |
Definition at line 283 of file McMaterialEffectsUpdator.h.
|
private |
ToolHandle to the TrackingGeometrySvc.
Definition at line 291 of file McMaterialEffectsUpdator.h.
|
private |
Definition at line 376 of file McMaterialEffectsUpdator.h.
|
private |
use the relativistic hertz dipole for brem photon radiation
Definition at line 257 of file McMaterialEffectsUpdator.h.
|
private |
switch between MSUpdator and local parametrization
Definition at line 254 of file McMaterialEffectsUpdator.h.
|
private |
Definition at line 282 of file McMaterialEffectsUpdator.h.
|
private |
Definition at line 307 of file McMaterialEffectsUpdator.h.
|
private |
Definition at line 308 of file McMaterialEffectsUpdator.h.
|
private |
Definition at line 316 of file McMaterialEffectsUpdator.h.
|
private |
validation tree description - second argument in TTree
Definition at line 311 of file McMaterialEffectsUpdator.h.
|
private |
stream/folder to for the TTree to be written out
Definition at line 313 of file McMaterialEffectsUpdator.h.
|
private |
validation tree name - to be acessed by this from root
Definition at line 309 of file McMaterialEffectsUpdator.h.