Another commit in between many breaking changes. Has Hammer+Tweezer approach for 27Al and 17F applied.

* Analyzing 17F approach will require the use of a #define in addition to globals. Not ideal but it is what it is.

* No new clever tricks other than beam eloss being treated to account for more effects.

* Urgent pending alignments:

	- geometry between sx3/qqq/pc to reflect vertexz in agreement with sourcez

	- better dynamic range correction for a1c2 wire handover points

	- need to resolve dE layer for different particle groups. No luck yet with just a *sinTheta

	- p+a dataset seems to be getting closer and closer to fully fleshed out

* Do not use this commit for future analyses. Pushed under sleep deprivation and fatigue.
This commit is contained in:
Sudarsan Balakrishnan 2026-06-08 17:49:52 -04:00
parent 4de5507285
commit f6f07a1b0c
19 changed files with 705849 additions and 1096 deletions

View File

@ -14,6 +14,7 @@ public:
unsigned short ch[MAXMULTI];
unsigned short e[MAXMULTI];
unsigned long long t[MAXMULTI];
unsigned long long tf[MAXMULTI];
unsigned short sn[MAXMULTI];
unsigned short digiCh[MAXMULTI];
@ -28,6 +29,7 @@ public:
ch[i] = 0;
e[i] = 0;
t[i] = 0;
tf[i] = 0;
index[i] = 0;
sn[i] = 0;
digiCh[i] = 0;
@ -38,7 +40,7 @@ public:
void Print(){
printf("=============================== multi : %u\n", multi);
for( int i = 0; i < multi; i++) {
printf(" %3d | %2d-%-2d(%5d) %5u %15llu \n", i, id[i], ch[i], index[i], e[i], t[i]);
printf(" %3d | %2d-%-2d(%5d) %5u %15llu %15llu\n", i, id[i], ch[i], index[i], e[i], t[i], tf[i]);
}
}

View File

@ -44,7 +44,7 @@ double Kinematics::getExc(double t3, double angle3)
theta4 = (180./M_PI)*TMath::ASin((p3/P4)*TMath::Sin(angle3*M_PI/180.));
// T4-=16.5; //eloss in about 1.4 mg CD2
T4-=15.5; //eloss in 1.35 mg CD2 //TODO: actually degrade recoil/ejectiles in target
// T4-=15.5; //eloss in 1.35 mg CD2 //TODO: actually degrade recoil/ejectiles in target
// T4-=14.1; //eloss in about 1.2 mg CD2
// T4-=31.7; //eloss in 2.7 mg CD2

File diff suppressed because it is too large Load Diff

View File

@ -13,6 +13,12 @@
#include "Armory/ClassDet.h"
#include "Armory/ClassPW.h" // YOU ADDED THIS (Correct! Defines Coord)
std::string dataset;
double source_vertex=53.0;
bool reactiondata=false;
class MakeVertex : public TSelector {
public :
TTree *fChain; //!pointer to the analyzed TTree or TChain
@ -90,6 +96,7 @@ public :
void MakeAnalysisHistograms();
void MakeDiagnosticHistograms();
ClassDef(MakeVertex,0);
};
@ -124,6 +131,15 @@ void MakeVertex::Init(TTree *tree) {
fChain->SetBranchAddress("pcCh", &pc.ch, &b_pcCh);
fChain->SetBranchAddress("pcE", &pc.e, &b_pcE);
fChain->SetBranchAddress("pcT", &pc.t, &b_pcT);
#ifdef ADD_NEW_BRANCHES
fChain->SetBranchAddress("miscMulti", &misc.multi, &b_miscMulti);
fChain->SetBranchAddress("miscID", &misc.id, &b_miscID);
fChain->SetBranchAddress("miscCh", &misc.ch, &b_miscCh);
fChain->SetBranchAddress("miscE", &misc.e, &b_miscE);
fChain->SetBranchAddress("miscT", &misc.t, &b_miscT);
fChain->SetBranchAddress("miscF", &misc.tf, &b_miscTf);
#endif
}
Bool_t MakeVertex::Notify() {

View File

@ -2,3 +2,5 @@ results/anode_strip_diagonalCut1.root anode_sx3_diag1
results/anode_strip_diagonalCut2.root anode_sx3_diag2
results/anode_wedge_diagonalCut1.root anode_qqq_diag1
results/anode_wedge_diagonalCut2.root anode_qqq_diag2
cuts/alphas_anode_qqq.root anode_qqq_alphas_27Al
cuts/mystery_gate.root mystery_gate

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -10,7 +10,8 @@
// TFile fin("../results_run017.root");
// TFile fin("out_zminus5_catima.root");
TFile fin("out.root");
//TFile fin("out.root");
TFile fin("out_truncRhoVertex_Z_vertex.root");
//TH2F *h2 = (TH2F*)(fin.Get("Ef_thetaf_AnodeQQQR_TC1_PC1_pidlow0_1"));
// TFile fin("run15_sx3_qqq_alphas_kinematic.root");
TH2F *h2 = (TH2F*)(fin.Get("proton+misc_cathode_alphas/pmisc_Ef_vs_theta_qqq_cathode_alphas"));

View File

@ -1,6 +1,8 @@
rm results_run*.root
export DATASET="17F"
export reactiondata=1
root -l -q -x -e ".L MakeVertex.C++g"
rm 17F_output/*.root
#17F reaction data
#declare -i run=231 #49
@ -16,13 +18,14 @@ function run_once() {
wrun=$(printf "%03d" $1)
file_exists=$(test -f /home/sud/Desktop/Software2/ANASEN_analysis/data/17F_fsu_files/Run_"$wrun"_mapped.root)
if [[ $file_exists -ne 0 ]]; then return; fi
root -q -l -b -x /home/sud/Desktop/Software2/ANASEN_analysis/data/17F_fsu_files/Run_"$wrun"_mapped.root -e $(printf 'tree->Process("MakeVertex.C+O","analyzed_run%s.root")' "$wrun");
root -q -l -b -x /home/sud/Desktop/Software2/ANASEN_analysis/data/17F_fsu_files/Run_"$wrun"_mapped.root -e 'gInterpreter->ProcessLine("#define ADD_NEW_BRANCHES 1");' -e $(printf 'tree->Process("MakeVertex.C+","analyzed_run%s.root")' "$wrun");
mv analyzed_run$wrun.root results_run$wrun.root;
}
export -f run_once
#run_once 351
parallel -j 6 --ctag run_once {1} ::: {350..400}
#parallel -j 6 --ctag run_once {1} ::: {350..400}
parallel -j 6 --ctag run_once {1} ::: {350..360}
rm output_17F.root
hadd -j 4 -k output_17F.root results_run3*.root

View File

@ -29,13 +29,14 @@ function run_once() {
}
export -f run_once
time parallel -j 6 --ctag run_once {1} ::: {50..59}
time parallel -j 2 --ctag run_once {1} ::: {78..89}
time parallel -j 2 --ctag run_once {1} ::: {50..59}
time parallel -j 2 --ctag run_once {1} ::: 62 63 66 67 68 73 74
#time parallel -j 2 --ctag run_once {1} ::: {78..89}
hadd -k -j 4 output.root 27Al_output/results_run*.root
mv output.root output_27Al.root
rootbrowse output_27Al.root
unset souce_vertex
unset DATASET
unset flip180

View File

@ -57,9 +57,10 @@ function run_once() {
mv analyzed_run$wrun.root results_run$wrun.root;
}
export -f run_once
time parallel -j 4 --ctag run_once {1} ::: {16..22}
time parallel -j 4 --ctag run_once {1} ::: {17..22}
exit
fi
#27Al reaction data
#root -b -q -l -x ../ANASEN_analysis/data/27Al_Data/Run_051_mapped.root -e 'tree->Process("MakeVertex.C+O")'; mv Analyzer_SX3.root results_run51.root;
#root -b -q -l -x ../ANASEN_analysis/data/27Al_Data/Run_078_mapped.root -e 'tree->Process("MakeVertex.C+O")'; mv Analyzer_SX3.root results_run78.root;
@ -85,8 +86,23 @@ fi
#root -q -l -b -x ../ANASEN_analysis/data/17F_Data/PulserRun_016_mapped.root -e 'tree->Process("MakeVertex.C+O")'; mv Analyzer_SX3.root results_run16.root;
#root -q -l -b -x ../ANASEN_analysis/data/17F_Data/PulserRun_017_mapped.root -e 'tree->Process("MakeVertex.C+O")'; mv Analyzer_SX3.root results_run17.root;
#17F proton+gas runs
if [[ 1 -eq 0 ]]; then
function run_once() {
export DATASET="17F"
wrun=$(printf "%03d" $1)
file_exists=$(test -f ../ANASEN_analysis/data/17F_Data/ProtonRun_"$wrun"_mapped.root)
if [[ $file_exists -ne 0 ]]; then return; fi
root -q -l -b -x ../ANASEN_analysis/data/17F_Data/ProtonRun_"$wrun"_mapped.root -e $(printf 'tree->Process("MakeVertex.C+O","analyzed_run%s.root")' "$wrun");
mv analyzed_run$wrun.root results_run$wrun.root;
}
export -f run_once
time parallel -j 4 --ctag run_once {1} ::: {22..48}
exit
fi
#17F alpha run with gas
if [[ 1 -eq 1 ]]; then
if [[ 1 -eq 0 ]]; then
export source_vertex=53.44; root -q -l -b -x ../ANASEN_analysis/data/17F_Data/SourceRun_018_mapped.root -e 'tree->Process("MakeVertex.C+O")'; mv Analyzer_SX3.root results_run18.root;
export source_vertex=14.24; root -q -l -b -x ../ANASEN_analysis/data/17F_Data/SourceRun_019_mapped.root -e 'tree->Process("MakeVertex.C+O")'; mv Analyzer_SX3.root results_run19.root;
export source_vertex=-24.96; root -q -l -b -x ../ANASEN_analysis/data/17F_Data/SourceRun_020_mapped.root -e 'tree->Process("MakeVertex.C+O")'; mv Analyzer_SX3.root results_run20.root;