na64sw

Tutorial

  • Tutorial

Reference

  • Standard Handlers Library
    • MSADC hit-related standard handlers
    • APV hit-related standard handlers
    • F1 hit-related standard handlers
    • Calorimeter hit-related standard handlers
    • APV cluster-related standard handlers
      • Subject: APV Cluster struct
      • Handlers list
    • Track Score standard handlers
    • Handlers related to tracking
    • Generic Handlers
  • Troubleshooting
  • Known Issues
  • Utilities Library

Other

  • Advanced Topics
  • Extending hit info with MC data (STRAWs)
na64sw
  • »
  • Standard Handlers Library »
  • APV cluster-related standard handlers
  • View page source

APV cluster-related standard handlers¶

This page lists handlers related to clusters of hits found on the signal from APV-based detectors (GEMs and Micromegas).

Subject: APV Cluster struct¶

All the handlers listed below operate with the instances of the APVCluster C/C++ structure that is defined as a subclass of APV hits collection:

struct APVCluster¶

Represents a group of hits on APV-based detector.

GETTER:

  • getter for field APVCluster::hits disabled

  • position – Coordinate of cluster’s center, wire number units

  • positionError – Coordinate uncertainty, wire units

  • charge – Cluster charge sum (unnormed), sum of all hit’s amplitude measurements

  • getter for field APVCluster::mcTruePosition disabled

  • time – Cluster time

  • timeError – Cluster time estimated error

  • size – Returns number of hits included in cluster.

  • avrgCharge – Average charge value.

Public Functions

APVCluster(LocalMemory&)¶

A ctr, needs the pool allocator instance to be bound with.

Public Members

event::Map<APVPhysWire_t, APVHit, MapTag::sparse_ambig_ordered> hits¶

Basic APV hits definign the cluster.

double position¶

Coordinate of cluster’s center, wire number units.

double positionError¶

Coordinate uncertainty, wire units.

double charge¶

Cluster charge sum (unnormed), sum of all hit’s amplitude measurements.

double mcTruePosition[3]¶

True position of track intersection.

double time¶

Cluster time

Todo:

units?

double timeError¶

Cluster time estimated error

Todo:

units?

Note, that APVCluster may have its underlying hits collection empty for certain data sources (like Monte-Carlo data).

Handlers list¶

This handlers deal with APVCluster.

group apv-cluster-handlers
class APVClusteredHitsSelect : public na64dp::AbstractHitHandler<event::APVCluster>¶

Leave/remove APV hits belong to certain cluster.

Removes hits from an event by taking into account values of their clusters.

Usage:

- _type: APVClusteredHitsSelect
  # optional, hit selection expression
  applyTo: null
  # APV cluster getter; str, required
  value: ...
  # Comparison expression; str, required
  condition: ...
  # A threshold value to compare with; float, required
  threshold: ...

With respect to comparator, the cluster’s value is the first argument while the threshold is second.

class APVFindClusterWide : public na64dp::AbstractHitHandler<APVHit>¶

Finds hit clusters on the APV detectors planes.

Ad-hoc handler, to be removed once dynamic calibrations appear. Same as APVFindCluster, but performs clustering of wider MuMegas as well.

Todo:

delete it in favor of handler based on generic calibrations

Note

deprecated handler, to be deleted

class APVFindClusters : public na64dp::AbstractHitHandler<APVHit>, public na64dp::calib::Handle<calib::MuMegaWiresDesignEntry>¶

Creates clusters on the APV detectors planes from individual hits.

Usage:

- _type: APVFindClusters
  # optional, hit selection expression
  applyTo: null
  # minimum number of wires to form a cluster; float, required
  minWidth: ...
  # minimum "missing wires" within a cluster; float, optional
  sparseness: 0.0
  # Maximum allowed time discrepancy between times of two adjacent
  # hits within a cluster. Has to be imperically adjusted; float, optional
  timeThreshold: nan

A “sparseness” parameter defines how many wires may be “missed” within a cluster. In principle, should help to stabilize clustering reconstruction for tripping wires or lithographic defects, but seems to be practically meaningless so far.

“timeThreshold” parameter defines maximum allowed time difference between two adjacent wires to form a cluster. (fixme: what if first hit in a sequence provides value that is too far from mean hit time?)

Handler has a calibration data dependency: MuMegaWiresDesignEntry.

Currently, one of the “heaviest” handlers, perhaps has to be optimized.

Todo:

optimize this handler for performance

once calib data unloading problem resolved, invalidate calib cache

class APVRemAmbigClusters : public na64dp::handlers::CollectAmbigClusters¶

Removes ambigiuos APV clusters from an event.

Usage:

- _type: APVRemAmbigClusters
  # optional, hit selection expression
  applyTo: null

For APV detectors occupying the same DAQ channels (multiwired, multiplexed) assures that clusters being present occupies the unique set of DAQ channels.

Disambiguity is resolved by removing the clusters with respect to some criterion (charge sum).

Note

For the time being, only MMs exploits the multiplexing scheme, so handler is appliable only to MMs, in fact.

Next Previous

© Copyright 2022, NA64 Collaboration (CERN).

Built with Sphinx using a theme provided by Read the Docs.