ANASEN_analysis/cross_section/examples/paap_ta_runs.toml
Vignesh Sitaraman d4856783e7 modified: .gitignore
renamed:    cross_section/examples/paap_ta_runs_hist.toml -> cross_section/examples/paap_ta_runs.toml
2026-10-17 14:37:36 -04:00

88 lines
3.6 KiB
TOML
Executable File

# p + 4He elastic scattering, dsigma/dOmega(theta_cm), from the alpha recoils of the Run A Ta-foil runs 18-22, straight
# from a TrackRecon.C production file -- the same route as 27Al_ap_runA.toml. The histogram is
# elastic_VertexZ_vs_ThetaCM_<variant>_a_<DET>, filled by protonAlphaElastic_core since 2026-10-16.
# paap_ta_runs.toml is the same measurement from the p-alpha study's per-hit list.
#
# (once) process runs 18-22 with CUTLIST=pid_cuts/pid_cutlist.txt and merge them, e.g.
# bash scratch/paap_hist_2026-10-16/reprocess.sh (or run_tr.sh block 5, then hadd runs 18-22 only)
# ~/myenv/bin/python -B extract_yields.py examples/paap_ta_runs_hist.toml # or, the same in ROOT:
# root -l -b -q 'extract_yields.C+("examples/paap_ta_runs_hist.toml")'
# ~/myenv/bin/python -B geometric_efficiency.py examples/paap_ta_runs_hist.toml
# ~/myenv/bin/python -B cross_section.py examples/paap_ta_runs_hist.toml
#
# Paths are relative to this file's folder.
title = "p + 4He elastic, alpha recoils, Ta runs 18-22 (TrackRecon histograms)"
mode = "angular"
dets = ["qqq", "sx3"]
out_dir = "../out/paap_ta"
[det_vars.qqq] # TrackRecon.C spells the detector in upper case in these folders
DET = "QQQ"
[det_vars.sx3]
DET = "SX3"
# ------------------------------------------------------------- step 1: extract_yields.py / extract_yields.C
[extract]
# The merged output of runs 18-22 (not 17: its foil, at z = -135.7 mm, sits inside the vertex window below).
# Point this at your own merged file to use your own processing.
source = "hist"
file = "~/ANASEN_analysis/Output_p/Al_protons.root"
# Folder _a: hits the p/alpha cut (pid_alpha_<det>, CUTLIST) calls alpha. Variant _cath_exgate: cathode topologies
# (a1c1, a1c2, a2c1, a2c2) and |Ex| < 1 MeV under the alpha hypothesis, i.e. elastic. Others: "" (all topologies,
# no Ex gate), "_cath", "_exgate".
hist = "elastic+misc_{DET}_a/elastic_VertexZ_vs_ThetaCM_cath_exgate_a_{DET}"
axis = "x" # x = vertex z (mm)
angle_axis = "y" # y = proton theta_cm (deg)
variable = "z"
# ------------------------------------------------------------- the reaction (steps 2 and 3)
[reaction]
beam_mass_u = 1.007825032 # p
target_mass_u = 4.002603254 # 4He
ejectile_mass_u = 1.007825032 # p
recoil_mass_u = 4.002603254 # 4He
detect = "recoil" # the silicon sees the alpha; theta_cm is the proton's
states = [{ ex_mev = 0.0, weight = 1.0 }]
[beam]
# As paap_ta_runs.toml: 6.89 MeV protons into the gas; N_b = run 17's Ta-foil Rutherford current (1.35 pA) times
# the wall time of runs 18-22. The run log's 13 pA would give 2.6378e11 (../../runlog/beam_exposure.py "18-22").
eloss_table = "../../eloss_calculations/proton_lookup_30MeV_250torr_3pc.dat"
e_entrance_mev = 6.89
z_entrance_mm = -454.0
current_a = 1.35e-12
time_s = 3232.95
charge_state = 1
[bins]
window_z_mm = [-170.0, -53.0] # upstream of every run's foil by 25 mm for runs 18-22, inside the counter
theta_edges_deg = { start = 88.0, stop = 168.0, step = 8.0 }
# ------------------------------------------------------------- step 2: geometric_efficiency.py
[efficiency]
n_per_bin = 400000
seed = 20261016
# ------------------------------------------------------------- step 3: cross_section.py
[target]
pressure_torr = 250.0
temperature_k = 293.15
mole_fraction = 0.97
atoms_per_molecule = 1
[acceptance]
source = "geometric"
column = "eps_geometric"
[[reference]]
csv = "reference/barnard1964_A1113003.csv"
x_col = "theta_cm_deg"
y_col = "dsdo_window_mb_sr"
label = "Barnard 1964, at the window's E_p"
[plot]
yscale = "linear"
xlim = [80, 175]
ylim = [0, 130]