- 1 Introduction to ROOT ›
- 2 C++ Basics for ROOT ›
- 3 ROOT Macros ›
- 4 ROOT Objects and the ROOT Object Model ›
- 5 Histograms ›
- 6 Two-Dimensional Histograms ›
- 7 Graphs ›
- 8 Canvases and Plotting ›
- 9 Styling ROOT Plots ›
- 10 Mathematical Functions ›
- 11 Curve Fitting ›
- 12 ROOT Files ›
- 13 TTrees ›
- 14 Event-Based Data Analysis ›
- 15 Working with Real Experimental Data ›
- 16 Random Numbers and Simulations ›
- 17 Statistical Analysis with ROOT ›
- 18 Modern ROOT with RDataFrame ›
- 19 ROOT and Python ›
- 20 Advanced TTree Techniques ›
- 21 ROOT for Particle and Nuclear Physics ›
- 22 Debugging and Common ROOT Problems ›
- 23 Writing Better ROOT Analysis Code ›
- 24 Final Project ›
- 25 Appendices ›
22 Debugging and Common ROOT Problems
22.1 ROOT Object Ownership
22.2 Null Pointers
22.3 Segmentation Faults
22.4 Missing Histograms
22.5 ROOT File Problems
22.6 TTree Branch Problems
22.7 Histogram Range Problems
22.8 Fit Failures
22.9 Debugging ROOT Macros
Views: 14
Where to Move
Move chapter:
- β° 1 Introduction to ROOT
- β° 1.1 What Is ROOT?
- β° 1.2 Installing ROOT
- β° 1.3 Starting ROOT
- β° 1.4 Your First ROOT Session
-
- β° 2 C++ Basics for ROOT
- β° 2.1 Why ROOT Uses C++
- β° 2.2 Variables and Data Types
- β° 2.3 Operators
- β° 2.4 Conditional Statements
- β° 2.5 Loops
- β° 2.6 Functions
- β° 2.7 Arrays and Vectors
-
- β° 3 ROOT Macros
- β° 3.1 What Is a ROOT Macro?
- β° 3.2 Running ROOT Macros
- β° 3.3 Functions Inside ROOT Macros
- β° 3.4 Compiling ROOT Macros
- β° 3.5 Organizing a ROOT Project
-
- β° 4 ROOT Objects and the ROOT Object Model
- β° 4.1 Introduction to ROOT Classes
- β° 4.2 Object Names and Titles
- β° 4.3 ROOT Collections
- β° 4.4 Inspecting ROOT Objects
-
- β° 5 Histograms
- β° 5.1 Introduction to Histograms
- β° 5.2 Creating a 1D Histogram
- β° 5.3 Filling Histograms
- β° 5.4 Drawing Histograms
- β° 5.5 Histogram Properties
- β° 5.6 Accessing Histogram Bins
- β° 5.7 Histogram Errors
- β° 5.8 Normalizing Histograms
- β° 5.9 Combining Histograms
-
- β° 6 Two-Dimensional Histograms
- β° 6.1 Creating 2D Histograms
- β° 6.2 Filling 2D Histograms
- β° 6.3 Drawing 2D Histograms
- β° 6.4 Projections
- β° 6.5 Profiles
-
- β° 7 Graphs
- β° 7.1 Introduction to TGraph
- β° 7.2 Creating a TGraph
- β° 7.3 Graph Styling
- β° 7.4 TGraphErrors
- β° 7.5 TGraphAsymmErrors
- β° 7.6 MultiGraph
-
- β° 8 Canvases and Plotting
- β° 8.1 TCanvas
- β° 8.2 Dividing a Canvas
- β° 8.3 Drawing Multiple Objects
- β° 8.4 Legends
- β° 8.5 Text and Annotations
- β° 8.6 Logarithmic Axes
- β° 8.7 Saving Plots
-
- β° 9 Styling ROOT Plots
- β° 9.1 ROOT Plot Styles
- β° 9.2 Axis Configuration
- β° 9.3 Line Styles
- β° 9.4 Marker Styles
- β° 9.5 Publication-Quality Figures
-
- β° 10 Mathematical Functions
- β° 10.1 Introduction to TF1
- β° 10.2 Built-in Functions
- β° 10.3 Custom Functions
- β° 10.4 Evaluating Functions
- β° 10.5 Function Integrals
-
- β° 11 Curve Fitting
- β° 11.1 Introduction to Fitting
- β° 11.2 Gaussian Fits
- β° 11.3 Polynomial Fits
- β° 11.4 Custom Fit Functions
- β° 11.5 Fit Parameters
- β° 11.6 Goodness of Fit
- β° 11.7 Fit Residuals
- β° 11.8 Fitting Graphs
-
- β° 12 ROOT Files
- β° 12.1 Introduction to ROOT Files
- β° 12.2 Creating ROOT Files
- β° 12.3 Writing Objects
- β° 12.4 Reading ROOT Files
- β° 12.5 Exploring ROOT Files
- β° 12.6 Directories Inside ROOT Files
-
- β° 13 TTrees
- β° 13.1 Introduction to TTrees
- β° 13.2 Creating a TTree
- β° 13.3 Filling a TTree
- β° 13.4 Writing a TTree to a File
- β° 13.5 Reading a TTree
- β° 13.6 Inspecting TTrees
- β° 13.7 Drawing Data from TTrees
- β° 13.8 Applying Selection Cuts
- β° 13.9 Branch Addresses
-
- β° 14 Event-Based Data Analysis
- β° 14.1 Understanding Event Data
- β° 14.2 Event Loops
- β° 14.3 Event Selection
- β° 14.4 Derived Quantities
- β° 14.5 Analysis Workflow
-
- β° 15 Working with Real Experimental Data
- β° 15.1 Importing Text Data
- β° 15.2 Converting Data to ROOT
- β° 15.3 Data Cleaning
- β° 15.4 Data Calibration
- β° 15.5 Signal and Background
-
- β° 16 Random Numbers and Simulations
- β° 16.1 Random Number Generation
- β° 16.2 Common Distributions
- β° 16.3 Simple Monte Carlo Simulation
- β° 16.4 Detector Resolution Simulation
- β° 16.5 Efficiency Simulation
-
- β° 17 Statistical Analysis with ROOT
- β° 17.1 Basic Statistics
- β° 17.2 Probability Distributions
- β° 17.3 Statistical Uncertainties
- β° 17.4 Chi-Square Tests
- β° 17.5 Confidence Intervals
-
- β° 18 Modern ROOT with RDataFrame
- β° 18.1 Introduction to RDataFrame
- β° 18.2 Loading Data
- β° 18.3 Filtering Data
- β° 18.4 Defining New Columns
- β° 18.5 Creating Histograms
- β° 18.6 Statistical Operations
- β° 18.7 Saving Results
- β° 18.8 Multithreading
-
- β° 19 ROOT and Python
- β° 19.1 Introduction to PyROOT
- β° 19.2 ROOT Objects in Python
- β° 19.3 Reading ROOT Files with Python
- β° 19.4 PyROOT and NumPy
- β° 19.5 PyROOT and Matplotlib
- β° 19.6 Choosing Between C++ and Python
-
- β° 20 Advanced TTree Techniques
- β° 20.1 Trees with Multiple Branches
- β° 20.2 Storing std::vector Objects
- β° 20.3 TChain
- β° 20.4 Friends
- β° 20.5 Efficient TTree Analysis
-
- β° 21 ROOT for Particle and Nuclear Physics
- β° 21.1 Four-Vectors
- β° 21.2 Particle Kinematics
- β° 21.3 Invariant Mass
- β° 21.4 Angular Distributions
- β° 21.5 Detector Spectra
-
- β° 22 Debugging and Common ROOT Problems
- β° 22.1 ROOT Object Ownership
- β° 22.2 Null Pointers
- β° 22.3 Segmentation Faults
- β° 22.4 Missing Histograms
- β° 22.5 ROOT File Problems
- β° 22.6 TTree Branch Problems
- β° 22.7 Histogram Range Problems
- β° 22.8 Fit Failures
- β° 22.9 Debugging ROOT Macros
-
- β° 23 Writing Better ROOT Analysis Code
- β° 23.1 Separating Analysis and Plotting
- β° 23.2 Using Functions
- β° 23.3 Using Header Files
- β° 23.4 Naming Conventions
- β° 23.5 Avoiding Hard-Coded Values
- β° 23.6 Configuration Parameters
- β° 23.7 Reproducible Analysis
- β° 23.8 Version Control with Git
-
- β° 24 Final Project
- β° 24.1 Project Overview
- β° 24.2 Analyze a complete scientific dataset using ROOT.
- β° 24.3 Import the Data
- β° 24.4 Explore the Dataset
- β° 24.5 Apply Data Selection
- β° 24.6 Create Histograms
- β° 24.7 Fit the Data
- β° 24.8 Calculate Physical Quantities
- β° 24.9 Estimate Statistical Uncertainties
- β° 24.10 Create Publication-Quality Figures
- β° 24.11 Save the Analysis Results
- β° 24.12 Write a Short Analysis Report
-
- β° 25 Appendices
- β° 25.1 A. ROOT Command Cheat Sheet
- β° 25.2 B. ROOT Histogram Classes
- β° 25.3 C. ROOT Graph Classes
- β° 25.4 D. Common TTree Commands
- β° 25.5 E. Common Drawing Options
- β° 25.6 F. Common Fit Functions
- β° 25.7 G. ROOT C++ Cheat Sheet
- β° 25.8 H. PyROOT Cheat Sheet
- β° 25.9 I. Common ROOT Errors and Solutions
- β° 25.10 J. Recommended ROOT Analysis Workflow
-
KAHIBARO