Public Documentation
Documentation for EDM4hep.jl
public interface.
Index - Types
EDM4hep.CaloHitContribution
EDM4hep.CalorimeterHit
EDM4hep.Cluster
EDM4hep.CovMatrix2f
EDM4hep.CovMatrix3f
EDM4hep.CovMatrix4f
EDM4hep.CovMatrix6f
EDM4hep.EDCollection
EDM4hep.EventHeader
EDM4hep.GeneratorEventParameters
EDM4hep.GeneratorPdfInfo
EDM4hep.MCParticle
EDM4hep.ParticleID
EDM4hep.Quantity
EDM4hep.RawCalorimeterHit
EDM4hep.RawTimeSeries
EDM4hep.RecDqdx
EDM4hep.ReconstructedParticle
EDM4hep.SimCalorimeterHit
EDM4hep.SimTrackerHit
EDM4hep.TimeSeries
EDM4hep.Track
EDM4hep.TrackState
EDM4hep.TrackerHit
EDM4hep.TrackerHit3D
EDM4hep.TrackerHitPlane
EDM4hep.Vector2f
EDM4hep.Vector3d
EDM4hep.Vector3f
EDM4hep.Vector4f
EDM4hep.Vertex
EDM4hep.RootIO.Reader
EDM4hep.Histograms.H1D
EDM4hep.Histograms.H2D
EDM4hep.Histograms.H3D
Index - Functions
EDM4hep.emptyEDStore
EDM4hep.getEDCollection
EDM4hep.hasEDCollection
EDM4hep.initEDCollection
EDM4hep.RootIO.create_getter
EDM4hep.RootIO.get
EDM4hep.RootIO.get
EDM4hep.Analysis.do_analysis!
Modules
EDM4hep.EDM4hep
— ModuleMain module for EDM4hep.jl
– Key4hep Event Data Model for Julia.
All data model types are exported from this module for public use
Exports
EDM4hep.RootIO
— ModuleROOT I/O module for EDM4hep.jl
It supports both formats: TTree and RNTuple
EDM4hep.Analysis
— ModuleAnalysis module for EDM4hep.jl
A number of data structures and functions to support analysis of EDM4hep data in multithreaded mode.
Types
This is the list of all types defined for EDM4hep using the PODIO yaml file.
EDM4hep.CaloHitContribution
— TypeMonte Carlo contribution to SimCalorimeterHit
- Author: EDM4hep authors
Fields
PDG::Int32
: PDG code of the shower particle that caused this contributionenergy::Float32
: energy of the this contribution [G]time::Float32
: time of this contribution [ns]stepPosition::Vector3f
: position of this energy deposition (step) [mm]
Relations
particle::MCParticle
: primary MCParticle that caused the shower responsible for this contribution to the hit
EDM4hep.CalorimeterHit
— TypeCalorimeter hit
- Author: EDM4hep authors
Fields
cellID::UInt64
: detector specific (geometrical) cell idenergy::Float32
: energy of the hit [GeV]energyError::Float32
: error of the hit energy [GeV]time::Float32
: time of the hit [ns]position::Vector3f
: position of the hit in world coordinates [mm]type::Int32
: type of hit
EDM4hep.Cluster
— TypeCalorimeter Hit Cluster
- Author: EDM4hep authors
Fields
type::Int32
: flagword that defines the type of clusterenergy::Float32
: energy of the cluster [GeV]energyError::Float32
: error on the energy [GeV]position::Vector3f
: position of the cluster [mm]positionError::CovMatrix3f
: covariance matrix of the positioniTheta::Float32
: Polar angle of the cluster's intrinsic direction (used e.g. for vertexing). Not to be confused with the cluster position seen from IPphi::Float32
: Azimuthal angle of the cluster's intrinsic direction (used e.g. for vertexing). Not to be confused with the cluster position seen from IPdirectionError::Vector3f
: covariance matrix of the direction [mm**2]shapeParameters::PVector{Float32}
: shape parameters. This should be accompanied by a descriptive list of names in the shapeParameterNames collection level metadata, as a vector of strings with the same orderingsubdetectorEnergies::PVector{Float32}
: energy observed in a particular subdetector
Relations
clusters::Cluster
: clusters that have been combined to this clusterhits::CalorimeterHit
: hits that have been combined to this cluster
Methods
setShapeParameters(object::Cluster, v::AbstractVector{Float32})
: assign a set of values to theshapeParameters
vector membersetSubdetectorEnergies(object::Cluster, v::AbstractVector{Float32})
: assign a set of values to thesubdetectorEnergies
vector memberpushToClusters(obj::Cluster, robj::Cluster)
: push related object to theclusters
relationpopFromClusters(obj::Cluster)
: pop last related object fromclusters
relationpushToHits(obj::Cluster, robj::CalorimeterHit)
: push related object to thehits
relationpopFromHits(obj::Cluster)
: pop last related object fromhits
relation
EDM4hep.CovMatrix2f
— TypeA generic 2 dimensional covariance matrix with values stored in lower triangular form
Fields
values::SVector{3,Float32}
: the covariance matrix values
EDM4hep.CovMatrix3f
— TypeA generic 3 dimensional covariance matrix with values stored in lower triangular form
Fields
values::SVector{6,Float32}
: the covariance matrix values
EDM4hep.CovMatrix4f
— TypeA generic 4 dimensional covariance matrix with values stored in lower triangular form
Fields
values::SVector{10,Float32}
: the covariance matrix values
EDM4hep.CovMatrix6f
— TypeA generic 6 dimensional covariance matrix with values stored in lower triangular form
Fields
values::SVector{21,Float32}
: the covariance matrix values
EDM4hep.EDCollection
— TypeEDCollection{ED} where ED <: POD
EDM4hep.EventHeader
— TypeEvent Header. Additional parameters are assumed to go into the metadata tree.
- Author: EDM4hep authors
Fields
eventNumber::UInt64
: event numberrunNumber::UInt32
: run numbertimeStamp::UInt64
: time stampweight::Float64
: event weightweights::PVector{Float64}
: event weights in case there are multiple. NOTE that weights[0] might not be the same as weight! Event weight names should be stored using the edm4hep::EventWeights name in the file level metadata
Methods
setWeights(object::EventHeader, v::AbstractVector{Float64})
: assign a set of values to theweights
vector member
EDM4hep.GeneratorEventParameters
— TypeGenerator event parameters
- Author: EDM4hep authors
Fields
eventScale::Float64
: event scalealphaQED::Float64
: alpha_QEDalphaQCD::Float64
: alpha_QCDsignalProcessId::Int32
: id of signal processsqrts::Float64
: sqrt(s) [GeV]crossSections::PVector{Float64}
: list of cross sections [pb]crossSectionErrors::PVector{Float64}
: list of cross section errors [pb]
Relations
signalVertex::MCParticle
: List of initial state MCParticle that are the source of the hard interaction
Methods
setCrossSections(object::GeneratorEventParameters, v::AbstractVector{Float64})
: assign a set of values to thecrossSections
vector membersetCrossSectionErrors(object::GeneratorEventParameters, v::AbstractVector{Float64})
: assign a set of values to thecrossSectionErrors
vector memberpushToSignalVertex(obj::GeneratorEventParameters, robj::MCParticle)
: push related object to thesignalVertex
relationpopFromSignalVertex(obj::GeneratorEventParameters)
: pop last related object fromsignalVertex
relation
EDM4hep.GeneratorPdfInfo
— TypeGenerator pdf information
- Author: EDM4hep authors
Fields
partonId::SVector{2,Int32}
: Parton PDG idlhapdfId::SVector{2,Int32}
: LHAPDF PDF id (see https://lhapdf.hepforge.org/pdfsets.html)x::SVector{2,Float64}
: Parton momentum fractionxf::SVector{2,Float64}
: PDF valuescale::Float64
: Factorisation scale [GeV]
EDM4hep.MCParticle
— TypeThe Monte Carlo particle - based on the lcio::MCParticle.
- Author: EDM4hep authors
Fields
PDG::Int32
: PDG code of the particlegeneratorStatus::Int32
: status of the particle as defined by the generatorsimulatorStatus::Int32
: status of the particle from the simulation program - use BIT constants belowcharge::Float32
: particle chargetime::Float32
: creation time of the particle in wrt. the event, e.g. for preassigned decays or decays in flight from the simulator [ns]mass::Float64
: mass of the particle [GeV]vertex::Vector3d
: production vertex of the particle [mm]endpoint::Vector3d
: endpoint of the particle [mm]momentum::Vector3d
: particle 3-momentum at the production vertex [GeV]momentumAtEndpoint::Vector3d
: particle 3-momentum at the endpoint [GeV]spin::Vector3f
: spin (helicity) vector of the particle
Relations
parents::MCParticle
: The parents of this particledaughters::MCParticle
: The daughters this particle
Methods
pushToParents(obj::MCParticle, robj::MCParticle)
: push related object to theparents
relationpopFromParents(obj::MCParticle)
: pop last related object fromparents
relationpushToDaughters(obj::MCParticle, robj::MCParticle)
: push related object to thedaughters
relationpopFromDaughters(obj::MCParticle)
: pop last related object fromdaughters
relation
EDM4hep.ParticleID
— TypeParticleID
- Author: EDM4hep authors
Fields
type::Int32
: userdefined typePDG::Int32
: PDG code of this id - ( 999999 ) if unknownalgorithmType::Int32
: type of the algorithm/module that created this hypothesislikelihood::Float32
: likelihood of this hypothesis - in a user defined normalizationparameters::PVector{Float32}
: parameters associated with this hypothesis
Relations
particle::ReconstructedParticle
: the particle from which this PID has been computed
Methods
setParameters(object::ParticleID, v::AbstractVector{Float32})
: assign a set of values to theparameters
vector member
EDM4hep.Quantity
— TypeQuantity
Fields
type::Int16
: flag identifying how to interpret the quantityvalue::Float32
: value of the quantityerror::Float32
: error on the value of the quantity
EDM4hep.RawCalorimeterHit
— TypeRaw calorimeter hit
- Author: EDM4hep authors
Fields
cellID::UInt64
: detector specific (geometrical) cell idamplitude::Int32
: amplitude of the hit in ADC countstimeStamp::Int32
: time stamp for the hit
EDM4hep.RawTimeSeries
— TypeRaw data of a detector readout
- Author: EDM4hep authors
Fields
cellID::UInt64
: detector specific cell idquality::Int32
: quality flag for the hittime::Float32
: time of the hit [ns]charge::Float32
: integrated charge of the hit [fC]interval::Float32
: interval of each sampling [ns]adcCounts::PVector{Int32}
: raw data (32-bit) word at i
Methods
setAdcCounts(object::RawTimeSeries, v::AbstractVector{Int32})
: assign a set of values to theadcCounts
vector member
EDM4hep.RecDqdx
— TypedN/dx or dE/dx info of a Track
- Author: EDM4hep authors
Fields
dQdx::Quantity
: the reconstructed dEdx or dNdx and its error
Relations
track::Track
: the corresponding track
EDM4hep.ReconstructedParticle
— TypeReconstructed Particle
- Author: EDM4hep authors
Fields
PDG::Int32
: PDG of the reconstructed particle.energy::Float32
: energy of the reconstructed particle. Four momentum state is not kept consistent internally [GeV]momentum::Vector3f
: particle momentum. Four momentum state is not kept consistent internally [GeV]referencePoint::Vector3f
: reference, i.e. where the particle has been measured [mm]charge::Float32
: charge of the reconstructed particlemass::Float32
: mass of the reconstructed particle, set independently from four vector. Four momentum state is not kept consistent internally [GeV]goodnessOfPID::Float32
: overall goodness of the PID on a scale of [0;1]covMatrix::CovMatrix4f
: covariance matrix of the reconstructed particle 4vector
Relations
decayVertex::Vertex
: decay vertex for the particle (if it is a composite particle)clusters::Cluster
: clusters that have been used for this particletracks::Track
: tracks that have been used for this particleparticles::ReconstructedParticle
: reconstructed particles that have been combined to this particle
Methods
pushToClusters(obj::ReconstructedParticle, robj::Cluster)
: push related object to theclusters
relationpopFromClusters(obj::ReconstructedParticle)
: pop last related object fromclusters
relationpushToTracks(obj::ReconstructedParticle, robj::Track)
: push related object to thetracks
relationpopFromTracks(obj::ReconstructedParticle)
: pop last related object fromtracks
relationpushToParticles(obj::ReconstructedParticle, robj::ReconstructedParticle)
: push related object to theparticles
relationpopFromParticles(obj::ReconstructedParticle)
: pop last related object fromparticles
relation
EDM4hep.SimCalorimeterHit
— TypeSimulated calorimeter hit
- Author: EDM4hep authors
Fields
cellID::UInt64
: ID of the sensor that created this hitenergy::Float32
: energy of the hit [GeV]position::Vector3f
: position of the hit in world coordinates [mm]
Relations
contributions::CaloHitContribution
: Monte Carlo step contributions
Methods
pushToContributions(obj::SimCalorimeterHit, robj::CaloHitContribution)
: push related object to thecontributions
relationpopFromContributions(obj::SimCalorimeterHit)
: pop last related object fromcontributions
relation
EDM4hep.SimTrackerHit
— TypeSimulated tracker hit
- Author: EDM4hep authors
Fields
cellID::UInt64
: ID of the sensor that created this hiteDep::Float32
: energy deposited in the hit [GeV]time::Float32
: proper time of the hit in the lab frame [ns]pathLength::Float32
: path length of the particle in the sensitive material that resulted in this hitquality::Int32
: quality bit flagposition::Vector3d
: the hit position [mm]momentum::Vector3f
: the 3-momentum of the particle at the hits position [GeV]
Relations
particle::MCParticle
: MCParticle that caused the hit
EDM4hep.TimeSeries
— TypeCalibrated Detector Data
- Author: EDM4hep authors
Fields
cellID::UInt64
: cell idtime::Float32
: begin time [ns]interval::Float32
: interval of each sampling [ns]amplitude::PVector{Float32}
: calibrated detector data
Methods
setAmplitude(object::TimeSeries, v::AbstractVector{Float32})
: assign a set of values to theamplitude
vector member
EDM4hep.Track
— TypeReconstructed track
- Author: EDM4hep authors
Fields
type::Int32
: flagword that defines the type of trackchi2::Float32
: Chi^2 of the track fitndf::Int32
: number of degrees of freedom of the track fitNholes::Int32
: number of holes on tracksubdetectorHitNumbers::PVector{Int32}
: number of hits in particular subdetectorssubdetectorHoleNumbers::PVector{Int32}
: number of holes in particular subdetectorstrackStates::PVector{TrackState}
: track states
Relations
trackerHits::TrackerHit
: hits that have been used to create this tracktracks::Track
: tracks (segments) that have been combined to create this track
Methods
setSubdetectorHitNumbers(object::Track, v::AbstractVector{Int32})
: assign a set of values to thesubdetectorHitNumbers
vector membersetSubdetectorHoleNumbers(object::Track, v::AbstractVector{Int32})
: assign a set of values to thesubdetectorHoleNumbers
vector membersetTrackStates(object::Track, v::AbstractVector{TrackState})
: assign a set of values to thetrackStates
vector memberpushToTrackerHits(obj::Track, robj::TrackerHit)
: push related object to thetrackerHits
relationpopFromTrackerHits(obj::Track)
: pop last related object fromtrackerHits
relationpushToTracks(obj::Track, robj::Track)
: push related object to thetracks
relationpopFromTracks(obj::Track)
: pop last related object fromtracks
relation
EDM4hep.TrackState
— TypeParametrized description of a particle track
Fields
location::Int32
: for use with At{Other|IP|FirstHit|LastHit|Calorimeter|Vertex}|LastLocationD0::Float32
: transverse impact parameterphi::Float32
: azimuthal angleomega::Float32
: is the signed curvature of the track [1/mm]Z0::Float32
: longitudinal impact parametertanLambda::Float32
: lambda is the dip angle of the track in r-ztime::Float32
: time of the track at this trackstate [ns]referencePoint::Vector3f
: Reference point of the track parameters, e.g. the origin at the IP, or the position of the first/last hits or the entry point into the calorimeter [mm]covMatrix::CovMatrix6f
: covariance matrix of the track parameters.
EDM4hep.TrackerHit
— TypeTracker hit interface class
- Author: Thomas Madlener, DESY
Fields
cellID::UInt64
: ID of the sensor that created this hittype::Int32
: type of the raw data hitquality::Int32
: quality bit flag of the hittime::Float32
: time of the hit [ns]eDep::Float32
: energy deposited on the hit [GeV]eDepError::Float32
: error measured on eDep [GeV]position::Vector3d
: hit position [mm]
EDM4hep.TrackerHit3D
— TypeTracker hit
- Author: EDM4hep authors
Fields
cellID::UInt64
: ID of the sensor that created this hittype::Int32
: type of raw data hitquality::Int32
: quality bit flag of the hittime::Float32
: time of the hit [ns]eDep::Float32
: energy deposited on the hit [GeV]eDepError::Float32
: error measured on eDep [GeV]position::Vector3d
: hit position [mm]covMatrix::CovMatrix3f
: covariance matrix of the position (x,y,z)
EDM4hep.TrackerHitPlane
— TypeTracker hit plane
- Author: EDM4hep authors
Fields
cellID::UInt64
: ID of the sensor that created this hittype::Int32
: type of raw data hitquality::Int32
: quality bit flag of the hittime::Float32
: time of the hit [ns]eDep::Float32
: energy deposited on the hit [GeV]eDepError::Float32
: error measured on eDep [GeV]u::Vector2f
: measurement direction vector, u lies in the x-y planev::Vector2f
: measurement direction vector, v is along zdu::Float32
: measurement error along the directiondv::Float32
: measurement error along the directionposition::Vector3d
: hit position [mm]covMatrix::CovMatrix3f
: covariance of the position (x,y,z)
EDM4hep.Vector2f
— TypeVector2f
Fields
a::Float32
:b::Float32
:
EDM4hep.Vector3d
— TypeVector3d
Fields
x::Float64
:y::Float64
:z::Float64
:
EDM4hep.Vector3f
— TypeVector3f
Fields
x::Float32
:y::Float32
:z::Float32
:
EDM4hep.Vector4f
— TypeGeneric vector for storing classical 4D coordinates in memory. Four momentum helper functions are in edm4hep::utils
Fields
x::Float32
:y::Float32
:z::Float32
:t::Float32
:
EDM4hep.Vertex
— TypeVertex
- Author: EDM4hep authors
Fields
type::UInt32
: Flagword that defines the type of the vertex, see reserved bits for more informationchi2::Float32
: chi-squared of the vertex fitndf::Int32
: number of degrees of freedom of the vertex fitposition::Vector3f
: [mm] position of the vertexcovMatrix::CovMatrix3f
: covariance matrix of the positionalgorithmType::Int32
: type code for the algorithm that has been used to create the vertexparameters::PVector{Float32}
: additional parameters related to this vertex
Relations
particles::POD
: particles that have been used to form this vertex, aka the decay particles emerging from this vertex
Methods
setParameters(object::Vertex, v::AbstractVector{Float32})
: assign a set of values to theparameters
vector memberpushToParticles(obj::Vertex, robj::POD)
: push related object to theparticles
relationpopFromParticles(obj::Vertex)
: pop last related object fromparticles
relation
EDM4hep.RootIO.Reader
— TypeThe Reader structure keeps a reference to the UnROOT LazyTree and caches already built 'layouts' of the EDM4hep types. The layouts maps a set of columns in the LazyTree into an object.
EDM4hep.Histograms.H1D
— TypeH1D(title::String, nbins::Int, min::Float, max::Float, unit::Symbol) Create a 1-dimensional histogram carrying the title and units.
EDM4hep.Histograms.H2D
— TypeH2D(title::String, xbins::Int, xmin::Float, xmax::Float, ybins::Int, ymin::Float, ymax::Float, unit::Tuple{Symbol,Symbol}) Create a 2-dimensional histogram carrying the title and units.
EDM4hep.Histograms.H3D
— TypeH3D(title::String, xbins::Int, xmin::Float, xmax::Float, ybins::Int, ymin::Float, ymax::Float, zbins::Int, zmin::Float, zmax::Float, unit::Tuple{Symbol,Symbol,Symbol}) Create a 2-dimensional histogram carrying the title and units.
Functions
EDM4hep.emptyEDStore
— MethodemptyEDStore()
Empty the whole store.
EDM4hep.getEDCollection
— MethodgetEDCollection(::Type{ED}, collid::UInt32=0x00000000)
Get the store corresponding to the collid
. If it is not specified then obtain a collid
from the data type ED
.
EDM4hep.hasEDCollection
— MethodhasEDCollection(collid::UInt32)
Find out if the store with collid
is there.
EDM4hep.initEDCollection
— MethodinitEDCollection(::Type{ED}) where ED
Initialize the store corresponding to type ED
.
EDM4hep.RootIO.create_getter
— Methodcreate_getter(reader::Reader, bname::String; selection=nothing)
This function creates a getter function for a given branch name. The getter function is a function that takes an event and returns a StructArray
with the data of the branch. The getter function is created as a function with the name get_<branchname>
. The optional parameter selection
is a list of field names to be selected from the branch. If selection
is not provided, all fields are selected. The user can use a list of strings, symbols or regular expressions to select the fields.
EDM4hep.RootIO.get
— Methodget(reader::Reader, treename::String)
Opens a 'TTree' or 'RNTuple' in the ROOT file (typically the events tree). It returns a 'LazyTree' that allows the user to iterate over events.
EDM4hep.RootIO.get
— Methodget(reader::Reader, evt::UnROOT.LazyEvent, bname::String; btype::Type=Any, register=true)
Gets an object collection by its name, with the possibility to overwrite the mapping Julia type or use the type known in the ROOT file (C++ class name). The optional key parameter register
indicates if the collection needs to be registered to the EDStore
.
Base.append!
— MethodBase.append!(d1::AbstractAnalysisData, d2::AbstractAnalysisData)
Default function to reset the user analysis data structure in case it is not provided explicitly.
Base.empty!
— MethodBase.empty!(data::AbstractAnalysisData)
Default function to reset the user analysis data structure in case it is not provided explicitly.
EDM4hep.Analysis.do_analysis!
— Methoddoanalysis!(data::AbstractAnalysisData, analysis, reader, events; mt::Bool=false, tasksper_thread::Int=4)
Perform an analysis on all events
by executing the analysis
function. The iteration will be chunked and distributed to different tasks running on different threads if the option argument mt
is set to true
. The results in data
for all the chunks will be merged at the end of the analysis.