Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ActsExamples::detail::NuclearInteractionParametrisation Namespace Reference

Classes

struct  EventFraction
 

Typedefs

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

Functions

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

Typedef Documentation

Definition at line 62 of file NuclearInteractionParametrisation.hpp.

View newest version in sPHENIX GitHub at line 62 of file NuclearInteractionParametrisation.hpp

Definition at line 65 of file NuclearInteractionParametrisation.hpp.

View newest version in sPHENIX GitHub at line 65 of file NuclearInteractionParametrisation.hpp

Definition at line 59 of file NuclearInteractionParametrisation.hpp.

View newest version in sPHENIX GitHub at line 59 of file NuclearInteractionParametrisation.hpp

using ActsExamples::detail::NuclearInteractionParametrisation::EventProperties = typedef std::vector<std::vector<float>>

Definition at line 60 of file NuclearInteractionParametrisation.hpp.

View newest version in sPHENIX GitHub at line 60 of file NuclearInteractionParametrisation.hpp

Definition at line 67 of file NuclearInteractionParametrisation.hpp.

View newest version in sPHENIX GitHub at line 67 of file NuclearInteractionParametrisation.hpp

Definition at line 61 of file NuclearInteractionParametrisation.hpp.

View newest version in sPHENIX GitHub at line 61 of file NuclearInteractionParametrisation.hpp

Function Documentation

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.

Parameters
[in]eventsThe event storage
[in]softDecision whether soft interactions should be considered
[in]nBinsThe number of bins in the histograms
Returns
Pair storing all components

Definition at line 236 of file NuclearInteractionParametrisation.cpp.

View newest version in sPHENIX GitHub at line 236 of file NuclearInteractionParametrisation.cpp

References buildMomPerMult(), calculateEigenspace(), calculateMeanAndCovariance(), convertEventToGaussian(), add_histos::histos, and prepareInvariantMasses().

+ Here is the call graph for this function:

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.

Parameters
[in]eventsThe event storage
[in]softDecision whether soft interactions should be considered
[in]nBinsThe number of bins in the histograms
Returns
Pair storing all components

Definition at line 104 of file NuclearInteractionParametrisation.cpp.

View newest version in sPHENIX GitHub at line 104 of file NuclearInteractionParametrisation.cpp

References buildMomPerMult(), calculateEigenspace(), calculateMeanAndCovariance(), convertEventToGaussian(), add_histos::histos, and prepareMomenta().

+ Here is the call graph for this function:

ProbabilityDistributions ActsExamples::detail::NuclearInteractionParametrisation::buildMomPerMult ( const EventProperties &  events,
unsigned int  nBins 
)

This method builds the distributions of each generation of a final state.

Parameters
[in]eventsThe storage of a property with fixed multiplicity and interaction type
[in]nBinsNumber of bins in the histogram
Returns
Vector containing the distributions for each generation

Definition at line 153 of file NuclearInteractionParametrisation.cpp.

View newest version in sPHENIX GitHub at line 153 of file NuclearInteractionParametrisation.cpp

References event, add_histos::histos, i, and Acts::UnitConstants::min.

Referenced by buildInvariantMassParameters(), and buildMomentumParameters().

+ Here is the caller graph for this function:

EigenspaceComponents ActsExamples::detail::NuclearInteractionParametrisation::calculateEigenspace ( const Vector &  mean,
const Matrix &  covariance 
)

Calculate the eigenvalues, eigenvectors and the mean in eigenspace.

Parameters
[in]meanThe mean of the normal distribution
[in]covarianceThe covariance matrix of the normal distribution
Returns
Tuple containing the eigenvalues, eigenvectors and the mean in eigenspace

Definition at line 92 of file NuclearInteractionParametrisation.cpp.

View newest version in sPHENIX GitHub at line 92 of file NuclearInteractionParametrisation.cpp

References std::tr1::make_tuple(), and mean().

Referenced by buildInvariantMassParameters(), and buildMomentumParameters().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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.

Parameters
[in]eventsThe storage of a property with fixed multiplicity and interaction type
Returns
Pair containing the mean and the covariance matrix

Definition at line 67 of file NuclearInteractionParametrisation.cpp.

View newest version in sPHENIX GitHub at line 67 of file NuclearInteractionParametrisation.cpp

References covariance(), event, i, j, k, mean(), and full_chain_odd::multiplicity.

Referenced by buildInvariantMassParameters(), and buildMomentumParameters().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

EventProperties ActsExamples::detail::NuclearInteractionParametrisation::convertEventToGaussian ( const ProbabilityDistributions &  histos,
const EventProperties &  events 
)

Transform probability distribution entries to standard normal distribution entries.

Parameters
[in]histosThe probability distributions
[in]eventsThe storage of a property with fixed multiplicity and interaction type
Returns
The transformed values of events

Definition at line 193 of file NuclearInteractionParametrisation.cpp.

View newest version in sPHENIX GitHub at line 193 of file NuclearInteractionParametrisation.cpp

References event, and i.

Referenced by buildInvariantMassParameters(), and buildMomentumParameters().

+ Here is the caller graph for this function:

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.

Parameters
[in]eventsThe event storage
Returns
Pair containing the distribution for soft and hard processes

Definition at line 309 of file NuclearInteractionParametrisation.cpp.

View newest version in sPHENIX GitHub at line 309 of file NuclearInteractionParametrisation.cpp

References event, and Acts::UnitConstants::min.

Referenced by ActsExamples::RootNuclearInteractionParametersWriter::finalize().

+ Here is the caller graph for this function:

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.

Parameters
[in]eventsThe event storage
[in]interactionProbabilityBinsNumber of bins used for the histogram
Note
The number of events is used for the normalisation of the distribution. Hence the result is not necessarily normalised to 1. This allows to sample whether a nuclear interaction occurs up to a certain value of L0 or not at all.
Returns
The cumulative distribution for the nuclear interaction

Definition at line 360 of file NuclearInteractionParametrisation.cpp.

View newest version in sPHENIX GitHub at line 360 of file NuclearInteractionParametrisation.cpp

References event, and Acts::UnitConstants::min.

Referenced by ActsExamples::RootNuclearInteractionParametersWriter::finalize().

+ Here is the caller graph for this function:

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.

Parameters
[in]eventsThe event storage
Returns
Map containing the cumulative branching probabilities

Definition at line 261 of file NuclearInteractionParametrisation.cpp.

View newest version in sPHENIX GitHub at line 261 of file NuclearInteractionParametrisation.cpp

References fixGDML::element, event, i, next, and sum().

Referenced by ActsExamples::RootNuclearInteractionParametersWriter::finalize().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

EventProperties ActsExamples::detail::NuclearInteractionParametrisation::prepareInvariantMasses ( const EventCollection &  events,
unsigned int  multiplicity,
bool  soft 
)

This method calculates the final state particles invariant masses.

Parameters
[in]eventsThe event storage
[in]multiplicityThe target multiplicity
[in]softDecision whether soft interactions should be considered
Returns
Vector containing the final state invariant masses

Definition at line 215 of file NuclearInteractionParametrisation.cpp.

View newest version in sPHENIX GitHub at line 215 of file NuclearInteractionParametrisation.cpp

References event, ActsFatras::Particle::fourMomentum(), and merge_hashes::p.

Referenced by buildInvariantMassParameters().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

EventProperties ActsExamples::detail::NuclearInteractionParametrisation::prepareMomenta ( const EventCollection &  events,
unsigned int  multiplicity,
bool  soft 
)

This method scales the final state momenta by the initial momentum.

Parameters
[in]eventsThe event storage
[in]multiplicityThe target multiplicity
[in]softDecision whether soft interactions should be considered
Returns
Vector containing the scaled final states

Definition at line 127 of file NuclearInteractionParametrisation.cpp.

View newest version in sPHENIX GitHub at line 127 of file NuclearInteractionParametrisation.cpp

References ActsFatras::Particle::absoluteMomentum(), event, testing::internal::move(), merge_hashes::p, and sum().

Referenced by buildMomentumParameters().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

TVectorF ActsExamples::detail::NuclearInteractionParametrisation::softProbability ( const EventCollection &  events)

This method evaluates the probability that a nuclear interaction is a soft interaction.

Parameters
[in]eventsThe event storage
Returns
The probability for soft interactions

Definition at line 346 of file NuclearInteractionParametrisation.cpp.

View newest version in sPHENIX GitHub at line 346 of file NuclearInteractionParametrisation.cpp

References event.

Referenced by ActsExamples::RootNuclearInteractionParametersWriter::finalize().

+ Here is the caller graph for this function:

Variable Documentation

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

Definition at line 58 of file NuclearInteractionParametrisation.hpp.

View newest version in sPHENIX GitHub at line 58 of file NuclearInteractionParametrisation.hpp