Back to home page

sPhenix code displayed by LXR

 
 

    


Warning, /analysis/SiCalo/README.md is written in an unsupported language. File is not indexed.

0001 # SiliconSeedAna Framework
0002 
0003 **Recent update**: May 30, 2025
0004 
0005 This project is designed to simulate and analyze charged particle tracking and calorimeter matching in the sPHENIX environment. The core component, `SiliconSeedAna`, collects information from silicon trackers, EMCal, and HCal, and stores it in a structured ROOT file for further physics analysis.
0006 
0007 ---
0008 
0009 ## 📁 Directory Overview
0010 
0011 ### 1. `PHYTIAmacro/`
0012 
0013 - **Purpose**: Contains macros for full simulations based on PYTHIA event generation.
0014 - **Main Macro**: `Fun4All_PHYTIA_Silicon.C`
0015 - **Usage**:
0016   1. First, compile `SiliconSeedAna` and build the shared library.
0017   2. Then run this macro to simulate PYTHIA events.
0018 - **Output**: ROOT file containing tracker and calorimeter hit information.
0019 
0020 ---
0021 
0022 ### 2. `gunmacro/`
0023 
0024 - **Purpose**: Contains macros for single-particle simulations.
0025 - **Main Macro**: `Fun4All_singleParticle_Silicon.C`
0026 - **Usage**:
0027   1. Compile `SiliconSeedAna` first.
0028   2. Run the macro to simulate single-particle events with fixed momentum and direction.
0029 - **Use case**: Useful for analyzing magnetic deflection and detector matching at specific kinematics.
0030 
0031 ---
0032 
0033 ### 3. `SiliconSeedAna/`
0034 
0035 - **Purpose**: Core analyzer that collects and stores track and calorimeter information into ROOT TTrees.
0036 - **Key Files**:
0037   - `SiliconSeedAna.cc`
0038   - `SiliconSeedAna.h`
0039 - **Features**:
0040   - Extracts Track info from silicon detectors tracking and clusters from Calo(EMCal, and HCal)
0041   - Projects track states to the EMCal radius (e.g., 93.5 cm).
0042   - Saves detailed information such as:
0043     - Initial track position and momentum
0044     - Projected EMCal coordinates
0045     - Matching-related variables
0046 
0047 ## 📂 TTree Structure in `SiliconSeedAna`
0048 
0049 The following TTrees are created and filled within the `SiliconSeedAna` module. Each serves a specific purpose in tracking and calorimeter studies.
0050 
0051 ---
0052 
0053 ### 🌱 `trackTree` – Tracking Information
0054 
0055 Stores per-track information from the silicon tracker and projections to EMCal.
0056 
0057 **Branches:**
0058 - `evt` — Event number (`int`)
0059 - `track_id` — Track ID (`vector<unsigned int>`)
0060 - `x0`, `y0`, `z0` — Initial position (`vector<float>`)
0061 - `px0`, `py0`, `pz0` — Initial momentum (`vector<float>`)
0062 - `eta0`, `phi0`, `pt0` — Kinematic variables (`vector<float>`)
0063 - `chi2ndf` — Track fit quality (`vector<float>`)
0064 - `charge` — Particle charge (`vector<int>`)
0065 - `nmaps`, `nintt`, `innerintt`, `outerintt` — Tracker hit counts (`vector<int>`)
0066 - `crossing` — Bunch crossing ID (`vector<short int>`)
0067 - `x_proj_emc`, `y_proj_emc`, `z_proj_emc` — EMCal projected position (`vector<float>`)
0068 - `px_proj_emc`, `py_proj_emc`, `pz_proj_emc` — Projected momentum at EMCal (`vector<float>`)
0069 - `eta_proj_emc`, `phi_proj_emc`, `pt_proj_emc` — Projected kinematics at EMCal (`vector<float>`)
0070 
0071 ---
0072 
0073 ### 🔥 `caloTree` – Calorimeter Hit Information
0074 
0075 Stores calorimeter cluster positions and energy deposits per event.
0076 
0077 **Branches:**
0078 - `calo_evt` — Event number (`int`)
0079 - `x`, `y`, `z` — Hit position (`vector<float>`)
0080 - `r`, `phi` — Cylindrical coordinates (`vector<float>`)
0081 - `energy` — Hit energy (`vector<float>`)
0082 
0083 ---
0084 
0085 ### 🟪 `SiClusTree` – Silicon Cluster Information
0086 
0087 Clusters associated with silicon tracks.
0088 
0089 **Branches:**
0090 - `evt` — Event number (`int`)
0091 - `Siclus_trackid` — Associated track ID (`vector<int>`)
0092 - `Siclus_layer` — Cluster layer number (`vector<int>`)
0093 - `Siclus_x`, `Siclus_y`, `Siclus_z` — Cluster positions (`vector<float>`)
0094 
0095 ---
0096 
0097 ### 🎯 `truthTree` – Truth Particle Information
0098 
0099 Truth-level kinematic info for simulated particles.
0100 
0101 **Branches:**
0102 - `truth_pid` — PDG ID (`vector<int>`)
0103 - `truth_px`, `truth_py`, `truth_pz`, `truth_e` — Momentum and energy (`vector<float>`)
0104 - `truth_pt`, `truth_eta`, `truth_phi` — Derived kinematic variables (`vector<float>`)