Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
NuclearInteractionParametrisation.hpp File Reference
#include "Acts/Definitions/Algebra.hpp"
#include "ActsExamples/EventData/ExtractedSimulationProcess.hpp"
#include "ActsExamples/EventData/SimParticle.hpp"
#include <algorithm>
#include <cstdint>
#include <tuple>
#include <unordered_map>
#include <utility>
#include <vector>
#include <TH1F.h>
#include <TVectorFfwd.h>
+ Include dependency graph for NuclearInteractionParametrisation.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ActsExamples::detail::NuclearInteractionParametrisation::EventFraction
 

Namespaces

namespace  ActsExamples
 
namespace  ActsExamples::detail
 
namespace  ActsExamples::detail::NuclearInteractionParametrisation
 

Typedefs

using ActsExamples::detail::NuclearInteractionParametrisation::EventCollection = std::vector< EventFraction >
 
using ActsExamples::detail::NuclearInteractionParametrisation::EventProperties = std::vector< std::vector< float >>
 
using ActsExamples::detail::NuclearInteractionParametrisation::ProbabilityDistributions = std::vector< TH1F * >
 
using ActsExamples::detail::NuclearInteractionParametrisation::CumulativeDistribution = TH1F *
 
using ActsExamples::detail::NuclearInteractionParametrisation::Vector = Acts::ActsDynamicVector
 
using ActsExamples::detail::NuclearInteractionParametrisation::Matrix = Acts::ActsDynamicMatrix
 
using ActsExamples::detail::NuclearInteractionParametrisation::EigenspaceComponents = std::tuple< Vector, Matrix, Vector >
 
using ActsExamples::detail::NuclearInteractionParametrisation::Parametrisation = std::pair< EigenspaceComponents, std::vector< CumulativeDistribution >>
 

Functions

EventProperties ActsExamples::detail::NuclearInteractionParametrisation::prepareMomenta (const EventCollection &events, unsigned int multiplicity, bool soft)
 This method scales the final state momenta by the initial momentum.
 
ProbabilityDistributions ActsExamples::detail::NuclearInteractionParametrisation::buildMomPerMult (const EventProperties &events, unsigned int nBins)
 This method builds the distributions of each generation of a final state.
 
EventProperties ActsExamples::detail::NuclearInteractionParametrisation::convertEventToGaussian (const ProbabilityDistributions &histos, const EventProperties &events)
 Transform probability distribution entries to standard normal distribution entries.
 
std::pair< Vector, Matrix > ActsExamples::detail::NuclearInteractionParametrisation::calculateMeanAndCovariance (unsigned int multiplicity, const EventProperties &events)
 Calculate the mean and the covariance matrix of a final state property.
 
EigenspaceComponents ActsExamples::detail::NuclearInteractionParametrisation::calculateEigenspace (const Vector &mean, const Matrix &covariance)
 Calculate the eigenvalues, eigenvectors and the mean in eigenspace.
 
Parametrisation ActsExamples::detail::NuclearInteractionParametrisation::buildMomentumParameters (const EventCollection &events, unsigned int multiplicity, bool soft, unsigned int nBins)
 This function calculates all components required for simulating final state momenta.
 
EventProperties ActsExamples::detail::NuclearInteractionParametrisation::prepareInvariantMasses (const EventCollection &events, unsigned int multiplicity, bool soft)
 This method calculates the final state particles invariant masses.
 
Parametrisation ActsExamples::detail::NuclearInteractionParametrisation::buildInvariantMassParameters (const EventCollection &events, unsigned int multiplicity, bool soft, unsigned int nBins)
 This function calculates all components required for simulating final state invariant masses.
 
std::unordered_map< int,
std::unordered_map< int, float > > 
ActsExamples::detail::NuclearInteractionParametrisation::cumulativePDGprobability (const EventCollection &events)
 This method evaluates the cumulative probabilities for a given particle type to produce a particle type.
 
std::pair
< CumulativeDistribution,
CumulativeDistribution > 
ActsExamples::detail::NuclearInteractionParametrisation::cumulativeMultiplicityProbability (const EventCollection &events, unsigned int multiplicityMax)
 Evaluates the cumulative probabilities for a certain multiplicity of in a soft or hard process.
 
TVectorF ActsExamples::detail::NuclearInteractionParametrisation::softProbability (const EventCollection &events)
 This method evaluates the probability that a nuclear interaction is a soft interaction.
 
CumulativeDistribution ActsExamples::detail::NuclearInteractionParametrisation::cumulativeNuclearInteractionProbability (const EventCollection &events, unsigned int interactionProbabilityBins)
 This method calculates the cumulative probability for a nuclear interaction as a function of L0.
 

Variables

static constexpr uint32_t ActsExamples::detail::NuclearInteractionParametrisation::s_MaxValue = UINT32_MAX