Introduction
Welcome to the official documentation of the CHeT Analysis Library. This software framework is developed for the simulation, reconstruction, and data analysis of the Cylindrical Helix Tracker (muEDM).
The library provides comprehensive tools to:
- Define detector geometry (cylinders, layers, fibers).
- Handle coordinate transformations (Local <-> Global frames).
- Visualize events in 2D and 3D using ROOT.
- Read and filter raw data efficiently via RDataFrame.
Visualization
The library includes visualization tools for event debugging and analysis.
3D Visualization
Full view of the detector showing reconstructed tracks and active cylinders.
2D Projections
Unrolled maps (Phi-Z) and transverse projections for intersection analysis.
Core Modules
The codebase is organized into the following namespaces:
- CHeT::Config (CHeT::Config)
Manages the geometric configuration and mapping ("Global Settings"). It contains definitions for CylinderConfig, LayerConfig, and coordinate transformation functions.
- CHeT::Vis (CHeT::Vis)
ROOT-based visualization engine. Provides Draw3D for spatial viewing and Draw2D for projections and unrolled maps.
- CHeT::Data (CHeT::Data)
I/O Interface. The Reader class wraps ROOT::RDataFrame to enable efficient loading, filtering (time cuts, board selection), and creation of high-level estimators.
Quick Example
Here is a minimal example of how to initialize the geometry and visualize an event:
void AnalyzeEvent() {
std::vector<int> active_cyls = {0, 1};
std::vector<int> hits = {100, 105, 200};
}
void SetActiveCylinders(const std::vector< int > &active_ids)
Sets the list of active cylinder IDs. This defines the physical composition of the detector for the c...
void SetRotation(double rx, double ry, double rz)
Sets the global rotation of the detector using Euler angles. Rotations are applied in order: X,...
void Draw3D(const std::vector< int > &hit_ids, const TrackContainer &tracks={}, const std::vector< VisPoint3D > &points={}, bool drawSkeleton=true)
Draws the full 3D detector view.
void Draw2D(const std::vector< int > &bundle_ids, const TrackContainer &tracks={}, const std::vector< VisPoint2D > &extraPoints={}, bool wrap_phi=true)
Draws 2D projections: Phi-Z Unrolled Map, ZX/ZY Side views, and XY Transverse view.
Installation
Ensure that ROOT 6 is installed and configured in your CMAKE_PREFIX_PATH. The library relies on ROOT for both I/O and graphical rendering.
- Author
- Lorenzo
- Date
- 06/03/2024