Skip to content

Ptak07/pp_analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pp Analysis @ √s = 13.6 TeV

Generacja i analiza zdarzeń pp (proton-proton) z wykorzystaniem Pythia 8 i ROOT.

Wymagania

Kompilacja

# Ustaw zmienną środowiskową PYTHIA8_DIR
export PYTHIA8_DIR=/ścieżka/do/pythia8

# Kompilacja
mkdir -p build
cd build
cmake ..
cmake --build .
cd ..

Po kompilacji w katalogu build/ znajdą się:

  • run_pythia - generator zdarzeń
  • analyze - program analizujący

Opcje buildów

CMake oferuje custom targets do automatyzacji pipeline:

# Tylko kompilacja binarek (domyślne)
cmake --build .

# Uruchom generator (używa domyślnych parametrów z programu)
cmake --build . --target generate

# Uruchom analizę
cmake --build . --target analyze_data

# Pełny pipeline: generacja → analiza → wykresy
cmake --build . --target pipeline

Uruchomienie

1. Generacja zdarzeń

./build/run_pythia -n 100000 -o data/pythia_events.root

Opcje:

  • -n, --nevents <N> - liczba zdarzeń (domyślnie: 100000)
  • -s, --seed <N> - seed generatora (domyślnie: 12345)
  • -e, --energy <E> - energia √s w GeV (domyślnie: 13600)
  • -o, --output <path> - plik wyjściowy
  • -h, --help - pomoc

Proces: SoftQCD:all (minimum bias pp collisions)

2. Analiza danych

./build/analyze -i data/pythia_events.root -o data/analysis.root

Opcje:

  • -i, --input <path> - plik wejściowy ROOT
  • -o, --output <path> - plik wyjściowy ROOT
  • --phi-mode <mode> - tryb zakresu φ: std/fold/full (domyślnie: std)
  • -h, --help - pomoc

Wyjście: 32 histogramy (4 zmienne × 8 kategorii cząstek)

  • Zmienne: N (multiplicity), pT, η, φ
  • Kategorie: all, ch, π⁺, π⁻, K⁺, K⁻, p, p̄

3. Generowanie wykresów

W głównym katalogu:

root -l -q macros/draw_plots.C

Wyjście: w katalogu plots/

  • 32 indywidualne histogramy (PNG + PDF)
  • 4 wykresy porównawcze (PNG + PDF)

Struktura projektu

pp_analysis/
├── CMakeLists.txt          # Konfiguracja CMake
├── README.md               # Instrukcje
├── build/                  # Skompilowane binaria
│   ├── run_pythia          # Generator
│   └── analyze             # Analyzer
├── data/                   # Dane
│   ├── pythia_events.root  # Wygenerowane zdarzenia
│   └── analysis.root       # Wyniki analizy
├── macros/
│   └── draw_plots.C        # Makro ROOT do wykresów
├── plots/                  # Wykresy PNG/PDF
└── src/                    # Kod źródłowy
    ├── main_generator.cpp
    ├── main_analyze.cpp
    ├── generators/
    │   ├── PythiaGenerator.h
    │   └── PythiaGenerator.cpp
    └── analysis/
        ├── Analyzer.h
        └── Analyzer.cpp

Przykład pełnego workflow

# 1. Kompilacja
export PYTHIA8_DIR=/Users/ptak/Documents/Development/pythia/pythia8316
mkdir -p build && cd build
cmake .. && cmake --build .
cd ..

# 2. Generacja zdarzeń
./build/run_pythia -n 100000 -o data/pythia_events.root

# 3. Analiza
./build/analyze -i data/pythia_events.root -o data/analysis.root

# 4. Wykresy
root -l -q macros/draw_plots.C

Troubleshooting

Problem: "Pythia8 include dir not found"

export PYTHIA8_DIR=/ścieżka/do/pythia8

Problem: ROOT nie znaleziony

source /ścieżka/do/root/bin/thisroot.sh

Problem: Brak katalogu data/ lub plots/

mkdir -p data plots

Autor

Igor Ptak

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors