Hits

The hit type hierarchy is currently being redesigned!

NeRCA.jl has three main types of hits: AbstractDAQHit, AbstractMCHit and CalibratedHit.

hit typesupertypeguaranteed attributes
Hit (in future SnapshotHit)AbstractDAQHitchannel_id, dom_id, t, tot
TriggeredHitAbstractDAQHitchannel_id, dom_id, t, tot, trigger_mask
MCHitAbstractMCHita, origin, pmt_id, t
NeRCA.CliqueType

Clique clusterizer which takes a matcher algorithm like Match3B as input.

source
NeRCA.L1BuilderMethod

Find coincidences within the time window Δt of the initialised params. The return value is a vector of L1Hit.

source
NeRCA.Match1DType

Simple Cherenkov matcher for muon signals. The muon is assumed to travel parallel to the Z-axis.

source
NeRCA.Match1DMethod

Optimised version of Match1D which avoids the usage of calling time(hit) multiple times.

source
NeRCA.Match3BType

3D match criterion with road width, intended for muon signals.

Origin: B. Bakker, "Trigger studies for the Antares and KM3NeT detector.", Master thesis, University of Amsterdam. With modifications from Jpp (M. de Jong).

source
NeRCA.Match3BMethod

Optimised version which avoids the usage of calling time(hit) multiple times.

source
NeRCA.clusterize!Method

Applies the clique clusterization algorithm and leaves only the best matching hits in the input array.

source
NeRCA.combineMethod

function combine(snapshothits::Vector{KM3io.SnapshotHit}, triggeredhits::Vector{KM3io.TriggeredHit})

Combine snapshot and triggered hits to a single hits-vector.

This should be used to transfer the trigger information to the snapshot hits from a DAQEvent. The triggered hits are a subset of the snapshot hits.

source
NeRCA.combineMethod
combine(hits::Vector{T}) where T <: KM3io.AbstractHit

Combines several hits into a single one by taking the earliest start time, then latest endtime and a ToT which spans over the time range.

source
NeRCA.count_multiplicities!Method

function count_multiplicities!(hits::Vector{KM3io.XCalibratedHit}; tmax=20)

Counts the multiplicities and modifies the .multiplicity field of the hits. Important: the hits have to be sorted by time and then by DOM ID first.

source
NeRCA.count_multiplicitiesMethod

function count_multiplicities(hits::Vector{T}; tmax=20) where {T<:KM3io.AbstractHit}

Calculate the multiplicities for a given time window. Two arrays are are returned, one contains the multiplicities, the second one the IDs of the coincidence groups. The hits should be sorted by time and then by dom_id.

source
NeRCA.duhitsMethod
duhits(hits::Vector{T}) where {T<:KM3io.XCalibratedHit}

Categorise hits by DU and put them into a dictionary of DU=>Vector{Hit}.

Caveat: this function is not typesafe, only suited for high-level analysis (like plots).

source
NeRCA.hitcountMethod

hitcount(hits::AbstractArray{T}) where T<:AbstractReducedHit

Return the total number of hits for a collection of reduced hits.

source
NeRCA.modulemapMethod
modulemap(hits::Vector{T}) where T

Creates a map (Dict{Int32, Vector{T}}) from a flat Vector{T} split up based on the dom_id of each element. A typical use is to split up a vector of hits by their optical module IDs.

This function is similar to categorize(:dom_id, Vector{T}) but this method is completely typesafe.

source
NeRCA.nfoldhitsMethod

function nfoldhits(hits::Vector{T}, Δt, n) where {T<:KM3io.AbstractDAQHit}

Create a Vector with hits contributing to n-fold coincidences within a time window of Δt.

source
NeRCA.nphesMethod
nphes(tot)

Returns the estimated number of photoelectrons for a given ToT.

source
NeRCA.timetozMethod
timetoz(hit)

Calculates the time to reach the z-position of the hit along the z-axis.

source
NeRCA.totcutMethod
totcut(hits::Vector{T}, tot) where {T<:KM3io.AbstractDAQHit}

Return a vector of hits with ToT >= tot.

source