Skip to content
Snippets Groups Projects
Commit 520d9e61 authored by Pierre Morfouace's avatar Pierre Morfouace
Browse files

update on e850 analysis

parent 3adab058
No related branches found
No related tags found
1 merge request!27Draft: [Epic] Preparation of the environement for the new GaseousDetectorScorers...
Pipeline #351292 passed
......@@ -241,7 +241,7 @@ void Analysis::PistaAnalysis(){
Elab_12C = geloss_C12C->Eval(Elab_12C);
C12->SetKineticEnergy(Elab_12C);
// 120Be case //
// 10Be case //
double Elab_10Be;
Elab_10Be = geloss_Be10Al->Eval(Eres);
Elab_10Be = geloss_Be10Al->Eval(Elab_10Be);
......@@ -252,6 +252,24 @@ void Analysis::PistaAnalysis(){
Beta_pista = Be10->GetBeta();
Ex240Pu = Transfer10Be->ReconstructRelativistic(Elab_10Be, ThetaLab);
TLorentzVector LV_240Pu = Transfer10Be->LorentzAfterReaction(Elab_10Be, ThetaLab);
beta_240Pu = LV_240Pu.Beta();
gamma_240Pu = LV_240Pu.Gamma();
theta_240Pu = LV_240Pu.Angle(TVector3(0,0,1));
phi_240Pu = LV_240Pu.Phi();
TVector3 vector3_FF = TVector3(sin(FF_Theta)*cos(FF_Phi), sin(FF_Theta)*sin(FF_Phi), cos(FF_Theta));
TVector3 vector3_fiss = TVector3(sin(theta_240Pu)*cos(phi_240Pu), sin(theta_240Pu)*sin(phi_240Pu), cos(theta_240Pu));
theta_lab_fission = vector3_FF.Angle(vector3_fiss);
gamma_lab_ff = FF_Gamma13;
beta_lab_ff = FF_Beta13;
gamma_cm_ff = gamma_240Pu*(gamma_lab_ff - beta_240Pu*beta_lab_ff*gamma_lab_ff*cos(theta_lab_fission));
beta_cm_ff = sqrt(pow(gamma_cm_ff,2)-1)/gamma_cm_ff;
theta_cm_fission = acos((gamma_240Pu/(beta_cm_ff*gamma_cm_ff))*(beta_lab_ff*gamma_lab_ff*cos(theta_lab_fission) - beta_240Pu*gamma_lab_ff));
// Other cases
Ex236U = Transfer14C->ReconstructRelativistic(Elab, ThetaLab);
Ex238U = Elastic->ReconstructRelativistic(Elab_12C, ThetaLab);
ThetaCM = Transfer10Be->EnergyLabToThetaCM(Elab, ThetaLab)/deg;
......@@ -400,11 +418,11 @@ void Analysis::VamosAnalysis(){
FF_Y1 = FPMW->PositionY[0];
FF_Y3 = FPMW->PositionY[2];
// T13 //
double path1 = FPMW->GetDetectorPositionZ(0)/10./cos(FPMW->Theta_in)/cos(FPMW->Phi_in);
double path2 = (FPMW->GetDetectorPositionZ(2)-7600)/10./cos(FPMW->Thetaf);
FF_D13 = FF_Path - path1 + path2;
FF_D13 = FF_Path - path1 + path2;
FF_T13 = T13 - 20 + m_T13_Offset[FPMWPat];
FF_V13 = (FF_D13/FF_T13)*(1-3e-5*FF_Y3);
FF_Beta13 = FF_V13/29.9792458;
......@@ -571,6 +589,17 @@ void Analysis::InitOutputBranch(){
RootOutput::getInstance()->GetTree()->Branch("FF_Etot13",&FF_Etot13,"FF_Etot13/D");
RootOutput::getInstance()->GetTree()->Branch("FPMW_Section",&FPMW_Section,"FPMW_Section/I");
RootOutput::getInstance()->GetTree()->Branch("theta_lab_fission",&theta_lab_fission,"theta_lab_fission/D");
RootOutput::getInstance()->GetTree()->Branch("theta_cm_fission",&theta_cm_fission,"theta_cm_fission/D");
RootOutput::getInstance()->GetTree()->Branch("theta_240Pu",&theta_240Pu,"theta_240Pu/D");
RootOutput::getInstance()->GetTree()->Branch("phi_240Pu",&phi_240Pu,"phi_240Pu/D");
RootOutput::getInstance()->GetTree()->Branch("beta_240Pu",&beta_240Pu,"beta_240Pu/D");
RootOutput::getInstance()->GetTree()->Branch("gamma_240Pu",&gamma_240Pu,"gamma_240Pu/D");
RootOutput::getInstance()->GetTree()->Branch("gamma_lab_ff",&gamma_lab_ff,"gamma_lab_ff/D");
RootOutput::getInstance()->GetTree()->Branch("gamma_cm_ff",&gamma_cm_ff,"gamma_cm_ff/D");
RootOutput::getInstance()->GetTree()->Branch("beta_lab_ff",&beta_lab_ff,"beta_lab_ff/D");
RootOutput::getInstance()->GetTree()->Branch("beta_cm_ff",&beta_cm_ff,"beta_cm_ff/D");
RootOutput::getInstance()->GetTree()->Branch("Elab1",&Elab1);
RootOutput::getInstance()->GetTree()->Branch("Elab2",&Elab2);
......@@ -693,10 +722,21 @@ void Analysis::ReInitValue(){
FF_AoQ24 = -1;
FF_Mass24 = -1;
FF_Qav = -1;
FF_Massav = -1;
theta_lab_fission = -100;
theta_cm_fission = -100;
theta_240Pu = -100;
phi_240Pu = -100;
beta_240Pu = -100;
gamma_240Pu = -100;
gamma_lab_ff = -100;
gamma_cm_ff = -100;
beta_lab_ff = -100;
beta_cm_ff = -100;
m_2alpha = 0;
Elab1.clear();
Elab2.clear();
......
......@@ -102,6 +102,17 @@ class Analysis: public NPL::VAnalysis{
double PISTA_TS_hour;
int FPMW_Section;
double theta_lab_fission;
double theta_cm_fission;
double beta_240Pu;
double gamma_240Pu;
double theta_240Pu;
double phi_240Pu;
double gamma_lab_ff;
double gamma_cm_ff;
double beta_lab_ff;
double beta_cm_ff;
double FF_DE;
double FF_Eres;
double FF_Z;
......
ConfigExogam
TDC_THRESHOLDS 0 500000
DATA_IS_CAL 1
MAP_EXO 12 3 0
MAP_EXO 13 3 1
MAP_EXO 14 3 2
......
#include "convert.h"
///////////////////////////////////////////////////
void convert(int run=43){
void convert(int run=48){
m_pista = new TPISTAData();
m_fpmw = new TFPMWData();
m_ic = new TICData();
m_exogam = new TExogamData();
m_exogam = new TExogamCalData();
// input tree //
input_tree = new TChain("AD");
input_tree->Add(Form("/home/morfouacep/Physics/ganil/pista/analysisenv-e850-2023/RootA/r00%i*.root",run));
//input_tree->Add(Form("/home/morfouacep/Physics/ganil/pista/analysisenv-e850-2023/RootA/r00%i*.root",run));
input_tree->Add(Form("/run/media/morfouacep/proton/e850/2023/RootA/r00%i*.root",run));
InitInputTree();
......@@ -27,7 +28,7 @@ void convert(int run=43){
output_tree->Branch("PISTA","TPISTAData",&m_pista);
output_tree->Branch("FPMW","TFPMWData",&m_fpmw);
output_tree->Branch("IC","TICData",&m_ic);
output_tree->Branch("Exogam","TExogamData",&m_exogam);
output_tree->Branch("Exogam","TExogamCalData",&m_exogam);
output_tree->Branch("T_TMW0_FPMW0",&T_TMW0_FPMW0,"T_TMW0_FPMW0/F");
output_tree->Branch("T_TMW0_FPMW1",&T_TMW0_FPMW1,"T_TMW0_FPMW1/F");
output_tree->Branch("T_TMW1_FPMW0",&T_TMW1_FPMW0,"T_TMW1_FPMW0/F");
......@@ -102,17 +103,19 @@ void convert(int run=43){
}
if(fVAMOS_TS_sec>0 || fPISTA_TS_sec>0){
if(Inner6MVM==1){
int crystal = Inner6MVN[0];
double E = Inner6MV[0];
double EHG = Inner20MV[0];
double TDC = DeltaTV[0];
unsigned long long TS = Inner6MVTS[0];
for(int p=0; p<Inner6MVM; p++){
//if(Inner6MVM==1){
int crystal = Inner6MVN[p];
double E = Inner6MV[p];
double EHG = Inner20MV[p];
double TDC = DeltaTV[p];
unsigned long long TS = Inner6MVTS[p];
int seg = -1;
double outers1 = -1000;
double outers2 = -1000;
double outers3 = -1000;
double outers4 = -1000;
if(OutersVM>25) cout << OutersVM << endl;
for(int i=0; i<OutersVM; i++){
seg = OutersVN[i] - 4*crystal;
if(seg==0) outers1 = OutersV[i];
......
TPISTAData* m_pista;
TFPMWData* m_fpmw;
TICData* m_ic;
TExogamData* m_exogam;
TExogamCalData* m_exogam;
//TFile* ofile;
TChain* input_tree;
//TTree* output_tree;
......@@ -63,7 +63,8 @@ ULong64_t Inner6MVTS[12];
Float_t Inner20MV[12];
Float_t DeltaTV[12];
Float_t OutersV[12];
UShort_t OutersVN[12];
//UShort_t OutersVN[12];
Int_t OutersVN[12];
Int_t OutersVM;
void InitInputTree();
......
TGraphErrors* GetGoodenYield(int A, int year, double scale);
TGraphErrors* GetTonchevYield(int A);
TGraphErrors* GetGEFYield(int A, double scale);
//////////////////////////////////////////////////
void PlotYieldEvolution(int A_asked=99, double scale=1.25){
......@@ -37,7 +38,7 @@ void PlotYieldEvolution(int A_asked=99, double scale=1.25){
h2->GetXaxis()->CenterTitle();
h2->GetYaxis()->CenterTitle();
h2->Draw();
if(A_asked==140 || A_asked==97 || A_asked==99 || A_asked==147 || A_asked==132 || A_asked==143){
if(A_asked==140 || A_asked==97 || A_asked==99 || A_asked==147 || A_asked==132 || A_asked==143 || A_asked==103 || A_asked==135){
TGraphErrors* ggooden2016 = GetGoodenYield(A_asked,2016,1);
ggooden2016->SetMarkerStyle(22);
ggooden2016->SetMarkerColor(2);
......@@ -61,8 +62,12 @@ void PlotYieldEvolution(int A_asked=99, double scale=1.25){
gtonchev->SetMarkerSize(1.5);
gtonchev->SetName("Tonchev");
gtonchev->Draw("psame");
}
if(A_asked==99 || A_asked==97 || A_asked==147 || A_asked==135){
TGraphErrors* ggef = GetGEFYield(A_asked,1.);
ggef->SetName("gef");
ggef->Draw("psame");
}
gevol->SetName("ganil");
......@@ -73,18 +78,44 @@ void PlotYieldEvolution(int A_asked=99, double scale=1.25){
//leg->AddEntry("gooden2016","Gooden 2016","lp");
//leg->AddEntry("gooden2024","Gooden 2024","lp");
leg->AddEntry("Tonchev","Tonchev et al. 2024","lp");
leg->AddEntry("gef","GEF 2024","lp");
leg->AddEntry("ganil","PISTA 2023","lp");
leg->Draw("same");
TCanvas* c2 = new TCanvas("c2","c2",800,800);
c2->cd();
g_relative->SetMarkerStyle(8);
g_relative->Draw("ap");
//TCanvas* c2 = new TCanvas("c2","c2",800,800);
//c2->cd();
//g_relative->SetMarkerStyle(8);
//g_relative->Draw("ap");
}
//////////////////////////////////////////////////
TGraphErrors* GetGEFYield(int A, double scale=1){
string filename = "GEF/mass_" + to_string(A) + ".dat";
ifstream ifile;
ifile.open(filename.c_str());
double En;
double Y;
TGraphErrors* gerr = new TGraphErrors();
int i=0;
while(ifile>>En>>Y){
gerr->SetPoint(i,En,scale*Y);
gerr->SetPointError(i,0,0.01*Y);
i++;
}
gerr->SetMarkerStyle(33);
gerr->SetMarkerSize(2);
gerr->SetMarkerColor(2);
gerr->SetLineColor(2);
return gerr;
}
//////////////////////////////////////////////////
TGraphErrors* GetGoodenYield(int A, int year, double scale=1){
string filename = "gooden/" + to_string(year) + "/mass_" + to_string(A) + ".dat";
......@@ -101,7 +132,7 @@ TGraphErrors* GetGoodenYield(int A, int year, double scale=1){
gerr->SetPointError(i,0,Yerr);
}
return gerr;
return gerr;
}
......@@ -122,6 +153,6 @@ TGraphErrors* GetTonchevYield(int A){
i++;
}
return gerr;
return gerr;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment