Pre-defined selections

The following selections are available in this library, divided in separate namespaces according to which subdetector they focus on.

Trigger

Hint

Under namespace NSL::Selections::Trigger

Trigger selections

Name

Description

Parameters

HasPhysicsTrigger

Check if the event is triggered by a physics trigger

None

HasPhysicsTrigger

This selection simply returns the value of NAIA::EventSummary::IsPhysicsTrigger()

Tof

Hint

Under namespace NSL::Selections::Tof

Tof selections

Name

Description

Parameters

BetaInRange

Check if the Tof beta measurement is in a given range

Range lower bound, Range upper bound, Beta measurement type

ChargeInRange

Check if the Tof charge measurement is in a given range

Range lower bound, Range upper bound, Charge measurement type

GoodPathlength

Check if a given combination of Tof layers have a well defined track pathlength

A 4-bit bitset encoding the layer pattern to be checked

BetaInRange

This selection checks if the Tof beta is within a specified range. You can specify the beta range, as well as the BetaType to check.

ChargeInRange

This selection checks if the Tof charge is within a specified range. You can specify the charge range, as well as the ChargeType to check.

GoodPathlength

This selection checks if the Tof layers have a well defined pathlength. This means that either the Tracker track (or the Tof linear interpolation based on the clusters position) crosses the Tof paddles from top to bottom (and doesn’t intercept the sides). You can specify which layers should be checked by passing a 4-bit bitset when creating the selection.

The 4 bits are associated with Tof layers in order from least significant to most significant (or right-to-left, if you will), meaning that if you want to check only Upper Tof layers the corresponding value is 0b0011, while for Lower Tof is 0b1100 (and 0b1111 for all 4 layers).

InnerTracker

Hint

Under namespace NSL::Selections::InnerTracker

Inner Tracker selections

Name

Description

Parameters

ChargeInRange

Check if the Inner Tracker charge measurement is in a given range

Range lower bound, Range upper bound, Charge measurement type

ChargeRMSLessThan

Check if the Inner Tracker charge RMS is less than a given value

Upper bound, Charge measurement type

HitPattern

Check if the track hits satisfy the canonical L2 && (L3 || L4) && (L5 || L6) && (L7 || L8) pattern

None

NHitsGreaterThan

Check if the track has at least a minimum number of hits on a given side

Lower bound, Tracker side

NGoodClustersGreaterThan

Check if the track has at least a minimum number of hits with a good charge status

Lower bound, Cluster status mask

ChargeInRange

This selection checks if the Inner Tracker charge is within a specified range. You can specify the charge range, as well as the ChargeRecoType to check.

ChargeRMSLessThan

This selection checks if the Inner Tracker charge RMS is lower than a specified value. You can specify the upper limit, as well as the ChargeRecoType to check.

HitPattern

This selection checks if the Inner Tracker hits satisfy the canonical L2 && (L3 || L4) && (L5 || L6) && (L7 || L8) pattern.

NHitsGreaterThan

This selection checks if the Inner Tracker track has at least a minimum number of hits on a given side. You can specify the lower limit of hits, as well as the Tracker side to consider.

NGoodClustersGreaterThan

This selection checks if the Inner Tracker track has at least a minimum number of clusters with a good status on a given side. You can specify the lower limit of hits, as well as the mask to compare the hit status against (see here for details on the charge status word).

Full Track

Hint

Under namespace NSL::Selections::Track

Track-related selections

Name

Description

Parameters

ChiSquareLessThan

Check if the Track chi-square is less than a specified threshold, for a given side, fit and span.

Upper bound, tracked side, track fit algorithm, track span.

InnerFiducialVolume

Check if the Track lies within a pre-defined fiducial volume defined on the individual tracker planes of the Inner Tracker.

Track fit algorithm, track span.

L1FiducialVolume

Check if the Track lies within a pre-defined fiducial volume defined on the L1 tracker plane.

Track fit algorithm, track span.

L9FiducialVolume

Check if the Track lies within a pre-defined fiducial volume defined on the L9 tracker plane.

Track fit algorithm, track span.

HitCut

Check if the Track has a hit on a given tracker layer.

Layer J-number (1…9).

L1NormResidualLessThan

Check if the normalized residual on L1 is below a specified threshold, for a given fit.

Upper bound, track fit algorithm.

ChiSquareLessThan

This selection checks if the track has chi-square per degree of freedom less than a specified threshold, on a given side. You need to specify a track fit algorithm and a track span.

InnerFiducialVolume

This selection checks if the track lies inside a pre-defined fiducial volume within the Inner Tracker. This fiducial volume is defined removing the most external part of the inner tracker layers. You need to specify a track fit algorithm and a track span.

Fiducial volume definition

Layer

R boundary

Y boundary

L2

62 cm

40 cm

L3 / L4

46 cm

44 cm

L5 / L6

62 cm

36 cm

L7 / L8

46 cm

44 cm

L1FiducialVolume

This selection checks if the track lies inside a pre-defined fiducial volume within the L1 plane. This fiducial volume is defined removing the most external part of the L1 plane. You need to specify a track fit algorithm and a track span.

Fiducial volume definition

Layer

R boundary

Y boundary

L1

62 cm

47 cm

L9FiducialVolume

This selection checks if the track lies inside a pre-defined fiducial volume within the L9 plane. This fiducial volume is defined removing the most external part of the L1 plane. You need to specify a track fit algorithm and a track span.

Fiducial volume definition

Layer

R boundary

Y boundary

L9

43 cm

29 cm

HitCut

This selection checks if the Track has a hit on a given tracker layer (effectively equivalent to check TrTrackR::GetHitLJ in gbatch).

L1NormResidualLessThan

Check if the normalized residual on L1, defined as \(\chi^2_\text{IL1} \cdot \text{NDoF}_\text{IL1} - \chi^2_\text{Inner} \cdot \text{NDoF}_\text{Inner}\) , is below a specified threshold, for a given fit.

Tracker Layer Charges

Hint

Under namespace NSL::Selections::TrackerLayer

Layer Charge-related selections

Name

Description

Parameters

ChargeInRange

Check if the Tracker charge (combination of X and Y measurements) of a particular layer is in a given range

Layer J-number (1…9), Range lower bound, Range upper bound, Charge measurement type

ChargeStatus

Check if the Track cluster on a particular layer has a good status (checked using the default 0x10013D mask)

Layer J-number (1…9)

ChargeAsymmetry

Check if the relative difference between Tracker charge on X and Y views for a particular layer is below a specified threshold

Layer J-number (1…9), Upper bound, Charge measurement type

LayerChargeInRange

This selection checks if the Tracker charge of a particular layer is in a given range. This check is based on the combined charge estimation from both X and Y sides. You can specify the charge range, as well as the ChargeRecoType to check.

LayerChargeInRange

This selection checks if the Tracker charge of a particular layer has a good status word. (see here for details on the charge status word).

LayerChargeAsymmetry

This selection checks if the Tracker charge asymmetry for a particular layer is below a specified threshold. The asymmetry is defined as :\((Q_X - Q_Y) / (Q_X + Q_Y)\).

Common Selections

There is a set of selections recommended by the MIT group for nuclei analysis, and they are commonly referred to as “common selections”. These selections are a special case of the predefined selections listed above in this page, but where the selection parameters are tuned with respect to the particle charge under exam.

These specialized versions of predefined selections can be found under the NSL::Selections::Common namespace, with the same exact class name as their base version.