Public Documentation
Documentation for EDM4hep.jl public interface.
Index - Types
EDM4hep.EDCollectionEDM4hep.edm4hep!CaloHitContributionEDM4hep.edm4hep!CalorimeterHitEDM4hep.edm4hep!ClusterEDM4hep.edm4hep!CovMatrix2fEDM4hep.edm4hep!CovMatrix3fEDM4hep.edm4hep!CovMatrix4fEDM4hep.edm4hep!CovMatrix6fEDM4hep.edm4hep!EventHeaderEDM4hep.edm4hep!GeneratorEventParametersEDM4hep.edm4hep!MCParticleEDM4hep.edm4hep!ParticleIDEDM4hep.edm4hep!QuantityEDM4hep.edm4hep!RawCalorimeterHitEDM4hep.edm4hep!RawTimeSeriesEDM4hep.edm4hep!RecDqdxEDM4hep.edm4hep!ReconstructedParticleEDM4hep.edm4hep!SenseWireHitEDM4hep.edm4hep!SimCalorimeterHitEDM4hep.edm4hep!SimTrackerHitEDM4hep.edm4hep!TimeSeriesEDM4hep.edm4hep!TrackEDM4hep.edm4hep!TrackStateEDM4hep.edm4hep!TrackerHitEDM4hep.edm4hep!TrackerHit3DEDM4hep.edm4hep!TrackerHitPlaneEDM4hep.edm4hep!Vector2fEDM4hep.edm4hep!Vector3dEDM4hep.edm4hep!Vector3fEDM4hep.edm4hep!Vector4fEDM4hep.edm4hep!VertexEDM4hep.RootIO.ReaderEDM4hep.Histograms.H1DEDM4hep.Histograms.H2DEDM4hep.Histograms.H3D
Index - Functions
EDM4hep.emptyEDStoreEDM4hep.getEDCollectionEDM4hep.hasEDCollectionEDM4hep.initEDCollectionEDM4hep.RootIO.create_getterEDM4hep.RootIO.getEDM4hep.RootIO.getEDM4hep.Analysis.do_analysis!
Modules
EDM4hep.EDM4hep — Module
Main 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 — Module
ROOT I/O module for EDM4hep.jl
It supports both formats: TTree and RNTuple
EDM4hep.Analysis — Module
Analysis 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.EDCollection — Type
EDCollection{ED} where ED <: PODEDM4hep.edm4hep!CaloHitContribution — Type
Monte Carlo contribution to SimCalorimeterHit
- Author: EDM4hep authors
Fields
PDG::Int32: PDG code of the shower particle that caused this contributionenergy::Float32: energy of this contributiontime::Float32: time of this contributionstepPosition::edm4hep!Vector3f: position of this energy deposition (step)stepLength::Float32: Geant4 step length for this contribution
Relations
particle::edm4hep!MCParticle: MCParticle responsible for this contribution to the hit. Only particles that are kept in the MCParticle record will appear here. Hence, this will point to the first mother appearing in the record.
EDM4hep.edm4hep!CalorimeterHit — Type
Calorimeter hit
- Author: EDM4hep authors
Fields
cellID::UInt64: detector specific (geometrical) cell idenergy::Float32: energy of the hitenergyError::Float32: error of the hit energytime::Float32: time of the hitposition::edm4hep!Vector3f: position of the hit in world coordinatestype::Int32: type of hit
EDM4hep.edm4hep!Cluster — Type
Calorimeter Hit Cluster
- Author: EDM4hep authors
Fields
type::Int32: flagword that defines the type of clusterenergy::Float32: energy of the clusterenergyError::Float32: error on the energyposition::edm4hep!Vector3f: position of the clusterpositionError::edm4hep!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 IPiPhi::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::edm4hep!Vector3f: covariance matrix of the directionshapeParameters::PVector{Float32}: shape parameters. The corresponding names of the shape parameters should be stored in the collection named by edm4hep::labels::ShapeParameterNames in the file-level metadata, as a vector of strings in the same order as the parameters.subdetectorEnergies::PVector{Float32}: energy observed in a particular subdetector
Relations
clusters::edm4hep!Cluster: clusters that have been combined to this clusterhits::edm4hep!CalorimeterHit: hits that have been combined to this cluster
Methods
setShapeParameters(object::edm4hep!Cluster, v::AbstractVector{Float32}): assign a set of values to theshapeParametersvector membersetSubdetectorEnergies(object::edm4hep!Cluster, v::AbstractVector{Float32}): assign a set of values to thesubdetectorEnergiesvector memberpushToClusters(obj::edm4hep!Cluster, robj::edm4hep!Cluster): push related object to theclustersrelationpopFromClusters(obj::edm4hep!Cluster): pop last related object fromclustersrelationpushToHits(obj::edm4hep!Cluster, robj::edm4hep!CalorimeterHit): push related object to thehitsrelationpopFromHits(obj::edm4hep!Cluster): pop last related object fromhitsrelation
EDM4hep.edm4hep!CovMatrix2f — Type
A generic 2 dimensional covariance matrix with values stored in lower triangular form
Fields
values::SVector{3,Float32}: the covariance matrix values
EDM4hep.edm4hep!CovMatrix3f — Type
A generic 3 dimensional covariance matrix with values stored in lower triangular form
Fields
values::SVector{6,Float32}: the covariance matrix values
EDM4hep.edm4hep!CovMatrix4f — Type
A generic 4 dimensional covariance matrix with values stored in lower triangular form
Fields
values::SVector{10,Float32}: the covariance matrix values
EDM4hep.edm4hep!CovMatrix6f — Type
A generic 6 dimensional covariance matrix with values stored in lower triangular form
Fields
values::SVector{21,Float32}: the covariance matrix values
EDM4hep.edm4hep!EventHeader — Type
Event 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! The corresponding names of the event weights should be stored in the collection named by edm4hep::labels::EventWeightsNames in the file-level metadata.
Methods
setWeights(object::edm4hep!EventHeader, v::AbstractVector{Float64}): assign a set of values to theweightsvector member
EDM4hep.edm4hep!GeneratorEventParameters — Type
Generator Event Parameters and information
- Author: EDM4hep authors
Fields
sqrts::Float64: sqrt(s) - The nominal beam center of mass energybeamsPz::SVector{2,Float64}: nominal z-momentum of the two incoming particle (beams)partonIds::SVector{2,Int32}: PDG id of the partons undergoing the hard scatterbeamPolarizations::SVector{2,Float32}: Polarization of the incoming beam particlescrossSections::PVector{Float64}: List of cross sectionscrossSectionErrors::PVector{Float64}: List of cross section errorsweights::PVector{Float64}: event weights. The corresponding names are stored using the edm4hep::labels::GeneratorWeightNames in the file level metadata.
Relations
signalVertexParticles::edm4hep!MCParticle: List of initial state MCParticles that are the source of the hard interaction
Methods
setCrossSections(object::edm4hep!GeneratorEventParameters, v::AbstractVector{Float64}): assign a set of values to thecrossSectionsvector membersetCrossSectionErrors(object::edm4hep!GeneratorEventParameters, v::AbstractVector{Float64}): assign a set of values to thecrossSectionErrorsvector membersetWeights(object::edm4hep!GeneratorEventParameters, v::AbstractVector{Float64}): assign a set of values to theweightsvector memberpushToSignalVertexParticles(obj::edm4hep!GeneratorEventParameters, robj::edm4hep!MCParticle): push related object to thesignalVertexParticlesrelationpopFromSignalVertexParticles(obj::edm4hep!GeneratorEventParameters): pop last related object fromsignalVertexParticlesrelation
EDM4hep.edm4hep!MCParticle — Type
The 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 simulatormass::Float64: mass of the particlevertex::edm4hep!Vector3d: production vertex of the particleendpoint::edm4hep!Vector3d: endpoint of the particlemomentum::edm4hep!Vector3d: particle 3-momentum at the production vertexmomentumAtEndpoint::edm4hep!Vector3d: particle 3-momentum at the endpointhelicity::Int32: particle helicity (9 if unset)
Relations
parents::edm4hep!MCParticle: The parents of this particledaughters::edm4hep!MCParticle: The daughters this particle
Methods
pushToParents(obj::edm4hep!MCParticle, robj::edm4hep!MCParticle): push related object to theparentsrelationpopFromParents(obj::edm4hep!MCParticle): pop last related object fromparentsrelationpushToDaughters(obj::edm4hep!MCParticle, robj::edm4hep!MCParticle): push related object to thedaughtersrelationpopFromDaughters(obj::edm4hep!MCParticle): pop last related object fromdaughtersrelation
EDM4hep.edm4hep!ParticleID — Type
ParticleID
- 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::edm4hep!ReconstructedParticle: the particle from which this PID has been computed
Methods
setParameters(object::edm4hep!ParticleID, v::AbstractVector{Float32}): assign a set of values to theparametersvector member
EDM4hep.edm4hep!Quantity — Type
edm4hep!Quantity
Fields
type::Int32: flag identifying how to interpret the quantityvalue::Float32: value of the quantityerror::Float32: error on the value of the quantity
EDM4hep.edm4hep!RawCalorimeterHit — Type
Raw 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.edm4hep!RawTimeSeries — Type
Raw 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 hitcharge::Float32: integrated charge of the hitinterval::Float32: interval of each samplingadcCounts::PVector{Int32}: raw data (32-bit) word at i
Methods
setAdcCounts(object::edm4hep!RawTimeSeries, v::AbstractVector{Int32}): assign a set of values to theadcCountsvector member
EDM4hep.edm4hep!RecDqdx — Type
dN/dx or dE/dx info of a Track
- Author: EDM4hep authors
Fields
dQdx::edm4hep!Quantity: the reconstructed dEdx or dNdx and its error
Relations
track::edm4hep!Track: the corresponding track
EDM4hep.edm4hep!ReconstructedParticle — Type
Reconstructed 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 internallymomentum::edm4hep!Vector3f: particle momentum. Four momentum state is not kept consistent internallyreferencePoint::edm4hep!Vector3f: reference, i.e. where the particle has been measuredcharge::Float32: charge of the reconstructed particlemass::Float32: mass of the reconstructed particle, set independently from four vector. Four momentum state is not kept consistent internallygoodnessOfPID::Float32: overall goodness of the PID on a scale of [0;1]covMatrix::edm4hep!CovMatrix4f: covariance matrix of the reconstructed particle 4vector
Relations
decayVertex::edm4hep!Vertex: decay vertex for the particle (if it is a composite particle)clusters::edm4hep!Cluster: clusters that have been used for this particletracks::edm4hep!Track: tracks that have been used for this particleparticles::edm4hep!ReconstructedParticle: reconstructed particles that have been combined to this particle
Methods
pushToClusters(obj::edm4hep!ReconstructedParticle, robj::edm4hep!Cluster): push related object to theclustersrelationpopFromClusters(obj::edm4hep!ReconstructedParticle): pop last related object fromclustersrelationpushToTracks(obj::edm4hep!ReconstructedParticle, robj::edm4hep!Track): push related object to thetracksrelationpopFromTracks(obj::edm4hep!ReconstructedParticle): pop last related object fromtracksrelationpushToParticles(obj::edm4hep!ReconstructedParticle, robj::edm4hep!ReconstructedParticle): push related object to theparticlesrelationpopFromParticles(obj::edm4hep!ReconstructedParticle): pop last related object fromparticlesrelation
EDM4hep.edm4hep!SenseWireHit — Type
Sense wire hit, knowing only the distance to the wire. The circle representing possible positions is parametrized with its center, radius and normal vector (given by the wire direction).
- Author: EDM4hep authors
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 hiteDep::Float32: energy deposited by the hiteDepError::Float32: error on eDepwireStereoAngle::Float32: angle between the sense wire axis and the drift chamber axis (usually the z-axis) - use it together with wireAzimuthalAngle to get the wire directionwireAzimuthalAngle::Float32: azimuthal angle at the middle of the sense wire - use it together with wireStereoAngle to get the wire directionposition::edm4hep!Vector3d: point on the sense wire which is closest to the hit (center of the circle)positionAlongWireError::Float64: error on the hit position along the wire directiondistanceToWire::Float32: distance between the hit and the wire (radius of the circle)distanceToWireError::Float32: error on distanceToWirenElectrons::PVector{UInt16}: number of electrons for each cluster (number of clusters = vector size)
Methods
setNElectrons(object::edm4hep!SenseWireHit, v::AbstractVector{UInt16}): assign a set of values to thenElectronsvector member
EDM4hep.edm4hep!SimCalorimeterHit — Type
Simulated calorimeter hit
- Author: EDM4hep authors
Fields
cellID::UInt64: ID of the sensor that created this hitenergy::Float32: energy of the hitposition::edm4hep!Vector3f: position of the hit in world coordinates
Relations
contributions::edm4hep!CaloHitContribution: Monte Carlo step contributions
Methods
pushToContributions(obj::edm4hep!SimCalorimeterHit, robj::edm4hep!CaloHitContribution): push related object to thecontributionsrelationpopFromContributions(obj::edm4hep!SimCalorimeterHit): pop last related object fromcontributionsrelation
EDM4hep.edm4hep!SimTrackerHit — Type
Simulated tracker hit
- Author: EDM4hep authors
Fields
cellID::UInt64: ID of the sensor that created this hiteDep::Float32: energy deposited in the hittime::Float32: proper time of the hit in the lab framepathLength::Float32: path length of the particle in the sensitive material that resulted in this hitquality::Int32: quality bit flagposition::edm4hep!Vector3d: the hit positionmomentum::edm4hep!Vector3f: the 3-momentum of the particle at the hits position
Relations
particle::edm4hep!MCParticle: MCParticle that caused the hit
EDM4hep.edm4hep!TimeSeries — Type
Calibrated Detector Data
- Author: EDM4hep authors
Fields
cellID::UInt64: cell idtime::Float32: begin timeinterval::Float32: interval of each samplingamplitude::PVector{Float32}: calibrated detector data
Methods
setAmplitude(object::edm4hep!TimeSeries, v::AbstractVector{Float32}): assign a set of values to theamplitudevector member
EDM4hep.edm4hep!Track — Type
Reconstructed track
- Author: EDM4hep authors
Fields
type::Int32: flagword that defines the type of trackchi2::Float32: chi-squared 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{edm4hep!TrackState}: track states
Relations
trackerHits::edm4hep!TrackerHit: hits that have been used to create this tracktracks::edm4hep!Track: tracks (segments) that have been combined to create this track
Methods
setSubdetectorHitNumbers(object::edm4hep!Track, v::AbstractVector{Int32}): assign a set of values to thesubdetectorHitNumbersvector membersetSubdetectorHoleNumbers(object::edm4hep!Track, v::AbstractVector{Int32}): assign a set of values to thesubdetectorHoleNumbersvector membersetTrackStates(object::edm4hep!Track, v::AbstractVector{edm4hep!TrackState}): assign a set of values to thetrackStatesvector memberpushToTrackerHits(obj::edm4hep!Track, robj::edm4hep!TrackerHit): push related object to thetrackerHitsrelationpopFromTrackerHits(obj::edm4hep!Track): pop last related object fromtrackerHitsrelationpushToTracks(obj::edm4hep!Track, robj::edm4hep!Track): push related object to thetracksrelationpopFromTracks(obj::edm4hep!Track): pop last related object fromtracksrelation
EDM4hep.edm4hep!TrackState — Type
Parametrized 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 angle of the track at this location (i.e. not phi0)omega::Float32: is the signed curvature of the trackZ0::Float32: longitudinal impact parametertanLambda::Float32: lambda is the dip angle of the track in r-ztime::Float32: time of the track at this trackstatereferencePoint::edm4hep!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 calorimetercovMatrix::edm4hep!CovMatrix6f: covariance matrix of the track parameters.
EDM4hep.edm4hep!TrackerHit — Type
Tracker 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 hiteDep::Float32: energy deposited on the hiteDepError::Float32: error measured on eDepposition::edm4hep!Vector3d: hit position as recorded by the sensor. The exact interpretation will depend on the currently held type of the interface
EDM4hep.edm4hep!TrackerHit3D — Type
Tracker 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 hiteDep::Float32: energy deposited on the hiteDepError::Float32: error measured on eDepposition::edm4hep!Vector3d: hit positioncovMatrix::edm4hep!CovMatrix3f: covariance matrix of the position (x,y,z)
EDM4hep.edm4hep!TrackerHitPlane — Type
Tracker 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 hiteDep::Float32: energy deposited on the hiteDepError::Float32: error measured on eDepu::edm4hep!Vector2f: direction of the first measurement given as (theta, phi) in spherical coordinatesv::edm4hep!Vector2f: direction of the second measurement given as (theta, phi) in spherical coordinatesdu::Float32: measurement error along the directiondv::Float32: measurement error along the directionposition::edm4hep!Vector3d: hit positioncovMatrix::edm4hep!CovMatrix3f: covariance of the position (x,y,z)
EDM4hep.edm4hep!Vector2f — Type
edm4hep!Vector2f
Fields
a::Float32:b::Float32:
EDM4hep.edm4hep!Vector3d — Type
edm4hep!Vector3d
Fields
x::Float64:y::Float64:z::Float64:
EDM4hep.edm4hep!Vector3f — Type
edm4hep!Vector3f
Fields
x::Float32:y::Float32:z::Float32:
EDM4hep.edm4hep!Vector4f — Type
Generic 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.edm4hep!Vertex — Type
Vertex
- 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::edm4hep!Vector3f: position of the vertexcovMatrix::edm4hep!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::edm4hep!POD: particles that have been used to form this vertex, aka the decay particles emerging from this vertex
Methods
setParameters(object::edm4hep!Vertex, v::AbstractVector{Float32}): assign a set of values to theparametersvector memberpushToParticles(obj::edm4hep!Vertex, robj::edm4hep!POD): push related object to theparticlesrelationpopFromParticles(obj::edm4hep!Vertex): pop last related object fromparticlesrelation
EDM4hep.RootIO.Reader — Type
The 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 — Type
H1D(title::String, nbins::Int, min::Float, max::Float, unit::Symbol) Create a 1-dimensional histogram carrying the title and units.
EDM4hep.Histograms.H2D — Type
H2D(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 — Type
H3D(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 — Method
emptyEDStore()Empty the whole store.
EDM4hep.getEDCollection — Method
getEDCollection(::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 — Method
hasEDCollection(collid::UInt32)Find out if the store with collid is there.
EDM4hep.initEDCollection — Method
initEDCollection(::Type{ED}) where EDInitialize the store corresponding to type ED.
EDM4hep.RootIO.create_getter — Method
create_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 — Method
get(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 — Method
get(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! — Method
Base.append!(d1::AbstractAnalysisData, d2::AbstractAnalysisData)Default function to reset the user analysis data structure in case it is not provided explicitly.
Base.empty! — Method
Base.empty!(data::AbstractAnalysisData)Default function to reset the user analysis data structure in case it is not provided explicitly.
EDM4hep.Analysis.do_analysis! — Method
doanalysis!(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.