HOME ESR EXPERIMENTS LABS etc
E121 E127 E132 E125 E143 laser_cooling_2021 E142 Ê128 E146 E0052 E0018
  proton-capture on 118Te, Page 2 of 29  Not logged in ELOG logo
ID Date Author Categoryup Subject Year
  241   Mon Mar 23 12:30:39 2020 laszloAnalysiswith and without scraper 
Attachment 1: 124Xe_with_scraper_3D.png
124Xe_with_scraper_3D.png
Attachment 2: 124Xe_with_scraper_2D.png
124Xe_with_scraper_2D.png
Attachment 3: 124Xe_without_scraper_2D.png
124Xe_without_scraper_2D.png
Attachment 4: 124Xe_without_scraper_3D.png
124Xe_without_scraper_3D.png
  244   Mon Mar 23 13:26:59 2020 JanAnalysisruns_90to99 SCRAPER RESULTS 
With scraper, we have roughly 150-200 (p,g) counts now.

X-rays look fine!
Attachment 1: 124Xe_Si_map.png
124Xe_Si_map.png
Attachment 2: 124Xe_x-ray_35.png
124Xe_x-ray_35.png
Attachment 3: 124Xe_x-ray_90.png
124Xe_x-ray_90.png
Attachment 4: 124Xe_x-ray_145.png
124Xe_x-ray_145.png
Attachment 5: 124Xe_Si_projection.png
124Xe_Si_projection.png
  251   Mon Mar 23 14:32:03 2020 JanAnalysisruns_100to104 NO-SCRAPER RESULTS 
Without scraper, we have very few (p,g) counts, hard to get numbers quickly, maybe ~50.

X-rays look fine!
Attachment 1: 124Xe_Si_map.png
124Xe_Si_map.png
Attachment 2: 124Xe_Si_projection.png
124Xe_Si_projection.png
Attachment 3: 124Xe_x-ray_35.png
124Xe_x-ray_35.png
Attachment 4: 124Xe_x-ray_90.png
124Xe_x-ray_90.png
Attachment 5: 124Xe_x-ray_145.png
124Xe_x-ray_145.png
  268   Wed Mar 25 15:06:09 2020 LaszloAnalysisquick summary of the run numbers 
Attachment 1: SP54120032515060.pdf
SP54120032515060.pdf
  Draft   Tue Apr 21 22:25:00 2020 JanAnalysis  
  285   Fri Nov 20 15:53:37 2020 JanAnalysisTest of 2nd DSSSD (gen2)2021
Here is the analysis of the test runs with the 2nd DSSD (gen2) using the quick_si_plots.c script attached.

All 32 Si channels are working with acceptable performance. 

In run001, there are some additional low energy peaks in nearly all x-strips, which I do not understand yet. They are around 3 MeV and are not visible in the y-strips. It doesn't look like an electronic problem, because there are at least 4 
peaks, so not a low amplitude copy of the 3 major alpha peaks between 5 - 5.8 MeV.

However, in run002, the peaks have mostly disappeared, only in x6,x7,x8,x9 is a broad structure at somewhat similar energy... maybe this has to do with the small incident angle of the alphas?

Another run to confirm and double check this would be nice.
Attachment 1: quick_si_plots.c
//Created by Laszo Varga & Jan Glorius
//last update: 20.11.2020

//run in root:
//root -l
//.L script.c+
//run()
////////////////////////

// INPUT FILES
#define INPUT1 "/data.local3/test_data_2020/Si2_run002.lmd.root"

//OUTPUT FILE
#define OUTPUT "Si2_run002.ana.root"

//Energy thresholds for the silicon:
#define Si_Thrs_LOW 100
#define Si_Thrs_HIGH 8000

////////////////////////

#include <cmath>
#include <string>
#include <cstdlib>
#include <cstdio>
#include <ctime>
#include <fstream>
#include <iostream>
#include <stdint.h>
#include "TROOT.h"
#include "TAttText.h"
#include "TAxis.h"
#include "TCanvas.h"
#include "TChain.h"
#include "TCut.h"
#include "TF1.h"
#include "TFile.h"
#include "TGraph.h"
#include "TGraphAsymmErrors.h"
#include "TGraphErrors.h"
#include "TH1.h"
#include "TH2.h"
#include "THistPainter.h"
#include "TKey.h"
#include "TLatex.h"
#include "TLegend.h"
#include "TMath.h"
#include "TMatrixD.h"
#include "TMinuit.h"
#include "TMultiGraph.h"
#include "TNtuple.h"
#include "TPave.h"
#include "TPaveText.h"
#include "TPoint.h"
#include "TRandom.h"
#include "TRint.h"
#include "TStyle.h"
#include "TString.h"
#include "TTree.h"
#include "TH1F.h"
#include "TH2F.h"
#include "TSystem.h"
#include "TProfile.h"
#include "TVirtualFitter.h"
#include "TCanvas.h"
#include "TLegend.h"
#include "TColor.h"

using namespace std;

void loop(TChain *fChain){

#include "/data.local3/test_data_2020/e127.h"

//creating histos

//counting of variables starts from 0 --> eg.: first Si strip is 0.

TH2D *h_pos_Si_xy_raw=new TH2D("h_pos_si_xy_raw", "h_pos_si_xy_raw",16,-0.5,15.5,16,-0.5,15.5);
TH2D *h_pos_Si_xy_noDC=new TH2D("h_pos_si_xy_noDC", "h_pos_si_xy_noDC",16,-0.5,15.5,16,-0.5,15.5);
 
TH2D *h_E_Si_all=new TH2D("h_E_Si_all", "E vs. strip Nr.; strip nr.; energy ",32,-0.5,31.5,8192,0.5,8191.5);
 
TH1D *h_E_Si_x[16];
TH1D *h_E_Si_y[16];
TH2D *h_E_ev_x[16];
TH2D *h_E_ev_y[16];
 
for(int a=0;a<16;a++){
	h_E_Si_x[a]=new TH1D(Form("h_E_Si_x%d",a),Form("h_E_Si_x%d",a),8192,0.5,8191.5);
	h_E_Si_y[a]=new TH1D(Form("h_E_Si_y%d",a),Form("h_E_Si_y%d",a),8192,0.5,8191.5);
	h_E_ev_x[a]=new TH2D(Form("h_E_ev_x%d",a),Form("h_E_ev_x%d;ev;E",a),1024,0,55e6,4096,0.5,8191.5);
	h_E_ev_y[a]=new TH2D(Form("h_E_ev_y%d",a),Form("h_E_ev_y%d;ev;E",a),1024,0,55e6,4096,0.5,8191.5);
}
 
////////////////////////////////////////////////////////////////////////

Long64_t nentries = fChain->GetEntries();
Long64_t nbytes = 0;

int dc_y_max=-999;
int dc_x_max=-999;
int dc_Ey_max=0;
int dc_Ex_max=0;
int dc_ty_max=0;
int dc_tx_max=0;

for (Long64_t i=0; i<nentries;i++){
//for (Long64_t i=0; i<100000;i++){
  nbytes += fChain->GetEntry(i);
	// event countdown
	if ((float(i)/100000.)==int(i/100000)){cout << "event: " << i << " \tof " << nentries << endl;}
	
	if(trigger==1){

		for (int i_x=0;i_x<16;i_x++){
			for (int i_y=0;i_y<16;i_y++){
					
			  if(int(E_Si_x[i_x])> 2000 && int(E_Si_y[i_y])> 2000)
			    {
			      h_pos_Si_xy_raw->Fill(i_x,i_y);
			    }

			  if(int(E_Si_x[i_x])>dc_Ex_max && int(E_Si_y[i_y])>dc_Ey_max){
			    dc_y_max = i_y;
			    dc_x_max = i_x;
			    dc_Ey_max = E_Si_y[i_y];
			    dc_Ex_max = E_Si_x[i_x];
			    dc_ty_max = t_Si_y[i_y];
			    dc_tx_max = t_Si_x[i_x];
			  }					
			}

			//x-loop is missused for y also
			if(t_Si_x[i_x] > 0){
			  h_E_Si_all->Fill(i_x,E_Si_x[i_x]);
			  h_E_Si_x[i_x]->Fill(E_Si_x[i_x]);
			}
			if(t_Si_y[i_x] > 0){
			  h_E_Si_all->Fill(i_x + 16,E_Si_y[i_x]);
			  h_E_Si_y[i_x]->Fill(E_Si_y[i_x]);
			}
			
			
		}
	
		if(dc_x_max!=-999 && dc_y_max!=-999){
			h_pos_Si_xy_noDC->Fill(dc_x_max,dc_y_max);
			h_E_ev_x[dc_x_max]->Fill(i,dc_Ex_max);
			h_E_ev_y[dc_y_max]->Fill(i,dc_Ey_max);
		}
		
		dc_y_max=-999;
		dc_x_max=-999;
		dc_Ex_max=0;
		dc_Ey_max=0;
		dc_tx_max=0;
		dc_ty_max=0;
	}	
 }//event loop

 TFile *graphfile = TFile::Open(OUTPUT, "RECREATE");

//graphfile->mkdir("Si_map");
//graphfile->cd("Si_map");
 h_pos_Si_xy_raw->Write();
 h_pos_Si_xy_noDC->Write();
 h_E_Si_all->Write();
 
//graphfile->mkdir("Si_E_histos");
//graphfile->cd("Si_E_histos");
 for(int a=0;a<16;a++){
   h_E_Si_x[a]->Write();
   h_E_Si_y[a]->Write();
   h_E_ev_x[a]->Write();
   h_E_ev_y[a]->Write();
 }

graphfile->Close();
cout << "\033[0;32m" << OUTPUT << " is created!\033[0m" << endl;

} // loop

void run(){

  const char    *command = new char[1000];
  char filename[100];
  TChain *fChain = new TChain("h101");

  sprintf(filename,INPUT1);
  cout<<"\033[0;37m//loading run: "<<filename << "\033[0m" <<endl;
  fChain->Add(filename);

#ifdef INPUT2 // optional second input file
  sprintf(filename,INPUT2);
  cout<<"\033[0;37m//loading run: "<<filename << "\033[0m" <<endl;
  fChain->Add(filename);
#endif

//sprintf(filename,OUTPUT);
//	TFile *outfile = new TFile(filename,"RECREATE");

  loop(fChain);

//  outfile->Write();

  command = "rm  *.so";
  gSystem->Exec(command);
  command = "rm  *.d";
  gSystem->Exec(command);
  command = "rm  *.pcm";
  gSystem->Exec(command);
  
  return;
}

int main(){
 run();

  return(0);
}
Attachment 2: e127.h
//Declaration of leaves types
  UInt_t tpat;
  UInt_t trigger;
  UInt_t Si_voltage;
  UInt_t Si_current;
  UInt_t E_Si_y[16];
  UInt_t E_Si_x[16];
  UInt_t E_Xray[3];
  UInt_t E_BaF[6];
  UInt_t t_Si_y[16];
  UInt_t t_Si_x[16];
  UInt_t t_Xray[3];
  UInt_t t_BaF[6];
  UInt_t v_mega_clock;
  UInt_t v_Si_X;
  UInt_t v_Si_Y;
  UInt_t v_Xray[3];
  UInt_t v_BaF[6];
  UInt_t v_TRAFO;
  UInt_t v_I_cool;
  UInt_t v_U_cool;
  UInt_t v_jet_S[1];
  UInt_t bdt_si_ON;
  UInt_t bdt_si_OFF;
  UInt_t bdt_xray_ON;
  UInt_t bdt_xray_OFF;
  UInt_t bdt_baf_ON;
  UInt_t bdt_baf_OFF;
  UInt_t adt_si_ON;
  UInt_t adt_si_OFF;
  UInt_t adt_xray_ON;
  UInt_t adt_xray_OFF;
  UInt_t adt_baf_ON;
  UInt_t adt_baf_OFF;
  UInt_t red_si_ON;
  UInt_t red_si_OFF;
  UInt_t red_xray_ON;
  UInt_t red_xray_OFF;
  UInt_t red_baf_ON;
  UInt_t red_baf_OFF;

   // Set branch addresses.   
  fChain->SetBranchAddress("tpat",&tpat);
  fChain->SetBranchAddress("TRIGGER",&trigger);
  fChain->SetBranchAddress("Si_voltage",&Si_voltage);
  fChain->SetBranchAddress("Si_current",&Si_current);
  fChain->SetBranchAddress("E_Si_y1",&E_Si_y[0]);
  fChain->SetBranchAddress("E_Si_y2",&E_Si_y[1]);
  fChain->SetBranchAddress("E_Si_y3",&E_Si_y[2]);
  fChain->SetBranchAddress("E_Si_y4",&E_Si_y[3]);
  fChain->SetBranchAddress("E_Si_y5",&E_Si_y[4]);
  fChain->SetBranchAddress("E_Si_y6",&E_Si_y[5]);
  fChain->SetBranchAddress("E_Si_y7",&E_Si_y[6]);
  fChain->SetBranchAddress("E_Si_y8",&E_Si_y[7]);
  fChain->SetBranchAddress("E_Si_y9",&E_Si_y[8]);
  fChain->SetBranchAddress("E_Si_y10",&E_Si_y[9]);
  fChain->SetBranchAddress("E_Si_y11",&E_Si_y[10]);
  fChain->SetBranchAddress("E_Si_y12",&E_Si_y[11]);
  fChain->SetBranchAddress("E_Si_y13",&E_Si_y[12]);
  fChain->SetBranchAddress("E_Si_y14",&E_Si_y[13]);
  fChain->SetBranchAddress("E_Si_y15",&E_Si_y[14]);
  fChain->SetBranchAddress("E_Si_y16",&E_Si_y[15]);
  fChain->SetBranchAddress("E_Si_x1",&E_Si_x[0]);
  fChain->SetBranchAddress("E_Si_x2",&E_Si_x[1]);
  fChain->SetBranchAddress("E_Si_x3",&E_Si_x[2]);
  fChain->SetBranchAddress("E_Si_x4",&E_Si_x[3]);
  fChain->SetBranchAddress("E_Si_x5",&E_Si_x[4]);
  fChain->SetBranchAddress("E_Si_x6",&E_Si_x[5]);
  fChain->SetBranchAddress("E_Si_x7",&E_Si_x[6]);
  fChain->SetBranchAddress("E_Si_x8",&E_Si_x[7]);
  fChain->SetBranchAddress("E_Si_x9",&E_Si_x[8]);
  fChain->SetBranchAddress("E_Si_x10",&E_Si_x[9]);
  fChain->SetBranchAddress("E_Si_x11",&E_Si_x[10]);
  fChain->SetBranchAddress("E_Si_x12",&E_Si_x[11]);
  fChain->SetBranchAddress("E_Si_x13",&E_Si_x[12]);
  fChain->SetBranchAddress("E_Si_x14",&E_Si_x[13]);
  fChain->SetBranchAddress("E_Si_x15",&E_Si_x[14]);
  fChain->SetBranchAddress("E_Si_x16",&E_Si_x[15]);
  fChain->SetBranchAddress("E_Xray1",&E_Xray[0]);
  fChain->SetBranchAddress("E_Xray2",&E_Xray[1]);
  fChain->SetBranchAddress("E_Xray3",&E_Xray[2]);
  fChain->SetBranchAddress("E_BaF1",&E_BaF[0]);
  fChain->SetBranchAddress("E_BaF2",&E_BaF[1]);
  fChain->SetBranchAddress("E_BaF3",&E_BaF[2]);
  fChain->SetBranchAddress("E_BaF4",&E_BaF[3]);
  fChain->SetBranchAddress("E_BaF5",&E_BaF[4]);
  fChain->SetBranchAddress("E_BaF6",&E_BaF[5]);
  fChain->SetBranchAddress("t_Si_y1",&t_Si_y[0]);
  fChain->SetBranchAddress("t_Si_y2",&t_Si_y[1]);
  fChain->SetBranchAddress("t_Si_y3",&t_Si_y[2]);
  fChain->SetBranchAddress("t_Si_y4",&t_Si_y[3]);
  fChain->SetBranchAddress("t_Si_y5",&t_Si_y[4]);
  fChain->SetBranchAddress("t_Si_y6",&t_Si_y[5]);
  fChain->SetBranchAddress("t_Si_y7",&t_Si_y[6]);
  fChain->SetBranchAddress("t_Si_y8",&t_Si_y[7]);
  fChain->SetBranchAddress("t_Si_y9",&t_Si_y[8]);
  fChain->SetBranchAddress("t_Si_y10",&t_Si_y[9]);
  fChain->SetBranchAddress("t_Si_y11",&t_Si_y[10]);
  fChain->SetBranchAddress("t_Si_y12",&t_Si_y[11]);
  fChain->SetBranchAddress("t_Si_y13",&t_Si_y[12]);
  fChain->SetBranchAddress("t_Si_y14",&t_Si_y[13]);
  fChain->SetBranchAddress("t_Si_y15",&t_Si_y[14]);
  fChain->SetBranchAddress("t_Si_y16",&t_Si_y[15]);
  fChain->SetBranchAddress("t_Si_x1",&t_Si_x[0]);
  fChain->SetBranchAddress("t_Si_x2",&t_Si_x[1]);
  fChain->SetBranchAddress("t_Si_x3",&t_Si_x[2]);
  fChain->SetBranchAddress("t_Si_x4",&t_Si_x[3]);
  fChain->SetBranchAddress("t_Si_x5",&t_Si_x[4]);
  fChain->SetBranchAddress("t_Si_x6",&t_Si_x[5]);
  fChain->SetBranchAddress("t_Si_x7",&t_Si_x[6]);
  fChain->SetBranchAddress("t_Si_x8",&t_Si_x[7]);
  fChain->SetBranchAddress("t_Si_x9",&t_Si_x[8]);
  fChain->SetBranchAddress("t_Si_x10",&t_Si_x[9]);
  fChain->SetBranchAddress("t_Si_x11",&t_Si_x[10]);
  fChain->SetBranchAddress("t_Si_x12",&t_Si_x[11]);
  fChain->SetBranchAddress("t_Si_x13",&t_Si_x[12]);
  fChain->SetBranchAddress("t_Si_x14",&t_Si_x[13]);
  fChain->SetBranchAddress("t_Si_x15",&t_Si_x[14]);
  fChain->SetBranchAddress("t_Si_x16",&t_Si_x[15]);
  fChain->SetBranchAddress("t_Xray1",&t_Xray[0]);
  fChain->SetBranchAddress("t_Xray2",&t_Xray[1]);
  fChain->SetBranchAddress("t_Xray3",&t_Xray[2]);
  fChain->SetBranchAddress("t_BaF1",&t_BaF[0]);
  fChain->SetBranchAddress("t_BaF2",&t_BaF[1]);
  fChain->SetBranchAddress("t_BaF3",&t_BaF[2]);
  fChain->SetBranchAddress("t_BaF4",&t_BaF[3]);
  fChain->SetBranchAddress("t_BaF5",&t_BaF[4]);
  fChain->SetBranchAddress("t_BaF6",&t_BaF[5]);
  fChain->SetBranchAddress("v_mega_clock",&v_mega_clock);
  fChain->SetBranchAddress("v_Si_X",&v_Si_X);
  fChain->SetBranchAddress("v_Si_Y",&v_Si_Y);
  fChain->SetBranchAddress("v_Xray1",&v_Xray[0]);
  fChain->SetBranchAddress("v_Xray2",&v_Xray[1]);
  fChain->SetBranchAddress("v_Xray3",&v_Xray[2]);
  fChain->SetBranchAddress("v_BaF1",&v_BaF[0]);
  fChain->SetBranchAddress("v_BaF2",&v_BaF[1]);
  fChain->SetBranchAddress("v_BaF3",&v_BaF[2]);
  fChain->SetBranchAddress("v_BaF4",&v_BaF[3]);
  fChain->SetBranchAddress("v_BaF5",&v_BaF[4]);
  fChain->SetBranchAddress("v_BaF6",&v_BaF[5]);
  fChain->SetBranchAddress("v_TRAFO",&v_TRAFO);
  fChain->SetBranchAddress("v_I_cool",&v_I_cool);
  fChain->SetBranchAddress("v_U_cool",&v_U_cool);
  fChain->SetBranchAddress("v_jet_S1",&v_jet_S[0]);
  fChain->SetBranchAddress("bdt_si_ON",&bdt_si_ON);
  fChain->SetBranchAddress("bdt_si_OFF",&bdt_si_OFF);
  fChain->SetBranchAddress("bdt_xray_ON",&bdt_xray_ON);
  fChain->SetBranchAddress("bdt_xray_OFF",&bdt_xray_OFF);
  fChain->SetBranchAddress("bdt_baf_ON",&bdt_baf_ON);
  fChain->SetBranchAddress("bdt_baf_OFF",&bdt_baf_OFF);
  fChain->SetBranchAddress("adt_si_ON",&adt_si_ON);
  fChain->SetBranchAddress("adt_si_OFF",&adt_si_OFF);
  fChain->SetBranchAddress("adt_xray_ON",&adt_xray_ON);
  fChain->SetBranchAddress("adt_xray_OFF",&adt_xray_OFF);
  fChain->SetBranchAddress("adt_baf_ON",&adt_baf_ON);
  fChain->SetBranchAddress("adt_baf_OFF",&adt_baf_OFF);
  fChain->SetBranchAddress("red_si_ON",&red_si_ON);
  fChain->SetBranchAddress("red_si_OFF",&red_si_OFF);
  fChain->SetBranchAddress("red_xray_ON",&red_xray_ON);
  fChain->SetBranchAddress("red_xray_OFF",&red_xray_OFF);
  fChain->SetBranchAddress("red_baf_ON",&red_baf_ON);
  fChain->SetBranchAddress("red_baf_OFF",&red_baf_OFF);
   
   
/*   
   fChain->SetBranchAddress("tpat",&tpat);
   fChain->SetBranchAddress("trigger",&trigger);
   fChain->SetBranchAddress("timestamp_lsb",&timestamp_lsb);
   fChain->SetBranchAddress("timestamp_msb",&timestamp_msb);
   fChain->SetBranchAddress("Tsc_before_lmu1",&Tsc_before_lmu[1]);
   fChain->SetBranchAddress("Tsc_before_lmu1",&Tsc_before_lmu1);
   fChain->SetBranchAddress("Tsc_before_lmu2",&Tsc_before_lmu2);
   fChain->SetBranchAddress("Tsc_before_lmu3",&Tsc_before_lmu3);
   fChain->SetBranchAddress("Tsc_before_lmu4",&Tsc_before_lmu4);
   fChain->SetBranchAddress("Tsc_before_lmu5",&Tsc_before_lmu5);
   fChain->SetBranchAddress("Tsc_before_lmu6",&Tsc_before_lmu6);
   fChain->SetBranchAddress("Tsc_before_lmu7",&Tsc_before_lmu7);
   fChain->SetBranchAddress("Tsc_before_lmu8",&Tsc_before_lmu8);
   fChain->SetBranchAddress("Tsc_before_lmu9",&Tsc_before_lmu9);
   fChain->SetBranchAddress("Tsc_before_lmu10",&Tsc_before_lmu10);
   fChain->SetBranchAddress("Tsc_before_lmu11",&Tsc_before_lmu11);
   fChain->SetBranchAddress("Tsc_before_lmu12",&Tsc_before_lmu12);
   fChain->SetBranchAddress("Tsc_before_lmu13",&Tsc_before_lmu13);
   fChain->SetBranchAddress("Tsc_before_lmu14",&Tsc_before_lmu14);
   fChain->SetBranchAddress("Tsc_before_lmu15",&Tsc_before_lmu15);
   fChain->SetBranchAddress("Tsc_before_lmu16",&Tsc_before_lmu16);
   fChain->SetBranchAddress("Tsc_before_dt1",&Tsc_before_dt1);
   fChain->SetBranchAddress("Tsc_before_dt2",&Tsc_before_dt2);
   fChain->SetBranchAddress("Tsc_before_dt3",&Tsc_before_dt3);
   fChain->SetBranchAddress("Tsc_before_dt4",&Tsc_before_dt4);
   fChain->SetBranchAddress("Tsc_before_dt5",&Tsc_before_dt5);
   fChain->SetBranchAddress("Tsc_before_dt6",&Tsc_before_dt6);
   fChain->SetBranchAddress("Tsc_before_dt7",&Tsc_before_dt7);
   fChain->SetBranchAddress("Tsc_before_dt8",&Tsc_before_dt8);
   fChain->SetBranchAddress("Tsc_before_dt9",&Tsc_before_dt9);
   fChain->SetBranchAddress("Tsc_before_dt10",&Tsc_before_dt10);
   fChain->SetBranchAddress("Tsc_before_dt11",&Tsc_before_dt11);
   fChain->SetBranchAddress("Tsc_before_dt12",&Tsc_before_dt12);
   fChain->SetBranchAddress("Tsc_before_dt13",&Tsc_before_dt13);
   fChain->SetBranchAddress("Tsc_before_dt14",&Tsc_before_dt14);
   fChain->SetBranchAddress("Tsc_before_dt15",&Tsc_before_dt15);
   fChain->SetBranchAddress("Tsc_before_dt16",&Tsc_before_dt16);
   fChain->SetBranchAddress("Tsc_after_dt1",&Tsc_after_dt1);
   fChain->SetBranchAddress("Tsc_after_dt2",&Tsc_after_dt2);
   fChain->SetBranchAddress("Tsc_after_dt3",&Tsc_after_dt3);
   fChain->SetBranchAddress("Tsc_after_dt4",&Tsc_after_dt4);
   fChain->SetBranchAddress("Tsc_after_dt5",&Tsc_after_dt5);
   fChain->SetBranchAddress("Tsc_after_dt6",&Tsc_after_dt6);
   fChain->SetBranchAddress("Tsc_after_dt7",&Tsc_after_dt7);
   fChain->SetBranchAddress("Tsc_after_dt8",&Tsc_after_dt8);
   fChain->SetBranchAddress("Tsc_after_dt9",&Tsc_after_dt9);
   fChain->SetBranchAddress("Tsc_after_dt10",&Tsc_after_dt10);
   fChain->SetBranchAddress("Tsc_after_dt11",&Tsc_after_dt11);
   fChain->SetBranchAddress("Tsc_after_dt12",&Tsc_after_dt12);
   fChain->SetBranchAddress("Tsc_after_dt13",&Tsc_after_dt13);
   fChain->SetBranchAddress("Tsc_after_dt14",&Tsc_after_dt14);
   fChain->SetBranchAddress("Tsc_after_dt15",&Tsc_after_dt15);
   fChain->SetBranchAddress("Tsc_after_dt16",&Tsc_after_dt16);
   fChain->SetBranchAddress("E_Xray1",&E_Xray1);
   fChain->SetBranchAddress("E_Xray2",&E_Xray2);
   fChain->SetBranchAddress("E_Xray3",&E_Xray3);
   fChain->SetBranchAddress("E_Xray4",&E_Xray4);
   fChain->SetBranchAddress("E_Xray5",&E_Xray5);
   fChain->SetBranchAddress("E_si_y1",&E_si_y[1]);
   fChain->SetBranchAddress("E_si_y2",&E_si_y[2]);
   fChain->SetBranchAddress("E_si_y3",&E_si_y[3]);
   fChain->SetBranchAddress("E_si_y4",&E_si_y[4]);
   fChain->SetBranchAddress("E_si_y5",&E_si_y[5]);
   fChain->SetBranchAddress("E_si_y6",&E_si_y[6]);
   fChain->SetBranchAddress("E_si_y7",&E_si_y[7]);
   fChain->SetBranchAddress("E_si_y8",&E_si_y[8]);
   fChain->SetBranchAddress("E_si_y9",&E_si_y[9]);
   fChain->SetBranchAddress("E_si_y10",&E_si_y[10]);
   fChain->SetBranchAddress("E_si_y11",&E_si_y[11]);
   fChain->SetBranchAddress("E_si_y12",&E_si_y[12]);
   fChain->SetBranchAddress("E_si_y13",&E_si_y[13]);
   fChain->SetBranchAddress("E_si_y14",&E_si_y[14]);
   fChain->SetBranchAddress("E_si_y15",&E_si_y[15]);
   fChain->SetBranchAddress("E_si_y16",&E_si_y[16]);
   fChain->SetBranchAddress("E_si_x1",&E_si_x[1]);
   fChain->SetBranchAddress("E_si_x2",&E_si_x[2]);
   fChain->SetBranchAddress("E_si_x3",&E_si_x[3]);
   fChain->SetBranchAddress("E_si_x4",&E_si_x[4]);
   fChain->SetBranchAddress("E_si_x5",&E_si_x[5]);
   fChain->SetBranchAddress("E_si_x6",&E_si_x[6]);
   fChain->SetBranchAddress("E_si_x7",&E_si_x[7]);
   fChain->SetBranchAddress("E_si_x8",&E_si_x[8]);
   fChain->SetBranchAddress("E_si_x9",&E_si_x[9]);
   fChain->SetBranchAddress("E_si_x10",&E_si_x[10]);
   fChain->SetBranchAddress("E_si_x11",&E_si_x[11]);
   fChain->SetBranchAddress("E_si_x12",&E_si_x[12]);
   fChain->SetBranchAddress("E_si_x13",&E_si_x[13]);
   fChain->SetBranchAddress("E_si_x14",&E_si_x[14]);
   fChain->SetBranchAddress("E_si_x15",&E_si_x[15]);
   fChain->SetBranchAddress("E_si_x16",&E_si_x[16]);
   fChain->SetBranchAddress("t_Xray1",&t_Xray1);
   fChain->SetBranchAddress("t_Xray2",&t_Xray2);
   fChain->SetBranchAddress("t_Xray3",&t_Xray3);
   fChain->SetBranchAddress("t_Xray4",&t_Xray4);
   fChain->SetBranchAddress("t_Xray5",&t_Xray5);
   fChain->SetBranchAddress("t_MWPC_anode",&t_MWPC_anode);
   fChain->SetBranchAddress("t_MWPC_x1",&t_MWPC_x1);
   fChain->SetBranchAddress("t_MWPC_x2",&t_MWPC_x2);
   fChain->SetBranchAddress("t_MWPC_y1",&t_MWPC_y1);
   fChain->SetBranchAddress("t_MWPC_y2",&t_MWPC_y2);
   fChain->SetBranchAddress("t_si_y1",&t_si_y[1]);
   fChain->SetBranchAddress("t_si_y2",&t_si_y[2]);
   fChain->SetBranchAddress("t_si_y3",&t_si_y[3]);
   fChain->SetBranchAddress("t_si_y4",&t_si_y[4]);
   fChain->SetBranchAddress("t_si_y5",&t_si_y[5]);
   fChain->SetBranchAddress("t_si_y6",&t_si_y[6]);
   fChain->SetBranchAddress("t_si_y7",&t_si_y[7]);
   fChain->SetBranchAddress("t_si_y8",&t_si_y[8]);
   fChain->SetBranchAddress("t_si_y9",&t_si_y[9]);
   fChain->SetBranchAddress("t_si_y10",&t_si_y[10]);
   fChain->SetBranchAddress("t_si_y11",&t_si_y[11]);
   fChain->SetBranchAddress("t_si_y12",&t_si_y[12]);
   fChain->SetBranchAddress("t_si_y13",&t_si_y[13]);
   fChain->SetBranchAddress("t_si_y14",&t_si_y[14]);
   fChain->SetBranchAddress("t_si_y15",&t_si_y[15]);
   fChain->SetBranchAddress("t_si_y16",&t_si_y[16]);
   fChain->SetBranchAddress("t_si_x1",&t_si_x[1]);
   fChain->SetBranchAddress("t_si_x2",&t_si_x[2]);
   fChain->SetBranchAddress("t_si_x3",&t_si_x[3]);
   fChain->SetBranchAddress("t_si_x4",&t_si_x[4]);
   fChain->SetBranchAddress("t_si_x5",&t_si_x[5]);
   fChain->SetBranchAddress("t_si_x6",&t_si_x[6]);
   fChain->SetBranchAddress("t_si_x7",&t_si_x[7]);
   fChain->SetBranchAddress("t_si_x8",&t_si_x[8]);
   fChain->SetBranchAddress("t_si_x9",&t_si_x[9]);
   fChain->SetBranchAddress("t_si_x10",&t_si_x[10]);
   fChain->SetBranchAddress("t_si_x11",&t_si_x[11]);
   fChain->SetBranchAddress("t_si_x12",&t_si_x[12]);
   fChain->SetBranchAddress("t_si_x13",&t_si_x[13]);
   fChain->SetBranchAddress("t_si_x14",&t_si_x[14]);
   fChain->SetBranchAddress("t_si_x15",&t_si_x[15]);
   fChain->SetBranchAddress("t_si_x16",&t_si_x[16]);
fChain->SetBranchAddress("sc_TRIDI_clk",&sc[1]);
fChain->SetBranchAddress("sc_ext_clk",&sc[2]);
fChain->SetBranchAddress("SC3",&sc[3]);
fChain->SetBranchAddress("SC4",&sc[4]);
fChain->SetBranchAddress("SC5",&sc[5]);
fChain->SetBranchAddress("SC6",&sc[6]);
fChain->SetBranchAddress("SC7",&sc[7]);
fChain->SetBranchAddress("SC8",&sc[8]);
fChain->SetBranchAddress("sc_esr_trafo",&sc[9]);
fChain->SetBranchAddress("sc_I_cooler",&sc[10]);
fChain->SetBranchAddress("sc_U_cooler",&sc[11]);
fChain->SetBranchAddress("sc_jet_E1",&sc[12]);
fChain->SetBranchAddress("sc_jet_S1",&sc[13]);
fChain->SetBranchAddress("sc_jet_S2",&sc[14]);
fChain->SetBranchAddress("sc_jet_S3",&sc[15]);
fChain->SetBranchAddress("sc_jet_S4",&sc[16]);
fChain->SetBranchAddress("sc_si_y",&sc[17]);
fChain->SetBranchAddress("sc_si_x",&sc[18]);
fChain->SetBranchAddress("sc_xray1",&sc[19]);
fChain->SetBranchAddress("sc_xray2",&sc[20]);
fChain->SetBranchAddress("sc_xray3",&sc[21]);
fChain->SetBranchAddress("sc_xray4",&sc[22]);
fChain->SetBranchAddress("sc_mwpc",&sc[23]);
fChain->SetBranchAddress("sc_xray5",&sc[24]);
fChain->SetBranchAddress("sc_mwpcCFD",&sc[25]);
fChain->SetBranchAddress("SC26",&sc[26]);
fChain->SetBranchAddress("SC27",&sc[27]);
fChain->SetBranchAddress("SC28",&sc[28]);
fChain->SetBranchAddress("SC29",&sc[29]);
fChain->SetBranchAddress("SC30",&sc[30]);
fChain->SetBranchAddress("SC31",&sc[31]);
fChain->SetBranchAddress("SC32",&sc[32]);
*/
Attachment 3: Si2_run001.ana.root
Attachment 4: Si2_run002.ana.root
  360   Fri May 21 01:17:37 2021 LaszloAnalysissimple analysis code2021
//a simple code (template) for offline analysis
//made by Laszlo, serves as a simple demonstration for enthusiastic shifters
//it creates a "no double counting Si 2D pos" histo
//usage:
//
//save the file as eg. "simple_code.c"
//root -l
//.L simple_code.c++
//run()
//when counter finished: ".q"

#define INPUT1 "input.root"//first unpack the lmd, then give the path of the unpacked .root file.

#define OUTPUT "./"//folder of the output. minimum input: "./"

#define ROOT_NAME "dummy.root"//name of the output

#include <cmath>
#include <string>
#include <sstream>
#include <cstdlib>
#include <cstdio>
#include <ctime>
#include <fstream>
#include <iostream>
#include <stdint.h>
#include "TROOT.h"
#include "TAttText.h"
#include "TAxis.h"
#include "TCanvas.h"
#include "TChain.h"
#include "TCut.h"
#include "TF1.h"
#include "TFile.h"
#include "TGraph.h"
#include "TGraphAsymmErrors.h"
#include "TGraphErrors.h"
#include "TH1.h"
#include "TH2.h"
#include "THistPainter.h"
#include "TKey.h"
#include "TLatex.h"
#include "TLegend.h"
#include "TMath.h"
#include "TMatrixD.h"
#include "TMinuit.h"
#include "TMultiGraph.h"
#include "TNtuple.h"
#include "TPave.h"
#include "TPaveText.h"
#include "TPoint.h"
#include "TRandom.h"
#include "TRint.h"
#include "TStyle.h"
#include "TString.h"
#include "TTree.h"
#include "TH1F.h"
#include "TH2F.h"
#include "TSystem.h"
#include "TProfile.h"
#include "TVirtualFitter.h"
#include "TCanvas.h"
#include "TLegend.h"
#include "TColor.h"
#include <time.h>

using namespace std;

inline bool exists_test0 (const std::string& name) {
    ifstream f(name.c_str());
    return f.good();
}

///////////////////////////////////////////////////////////////////////////////////////////////

void loop(TChain *fChain){
	
	//setting pedestal values
	int PEDESTAL_LOW=400;
	int PEDESTAL_HIGH=8000;
	

	//this normally should be in a separate header, branches are defined.
	UInt_t          trigger;
	fChain->SetBranchAddress("TRIGGER",&trigger);
	UInt_t          E_SiY[17];
	UInt_t          E_SiX[17];
	UInt_t          t_SiY[17];
	UInt_t          t_SiX[17];
	for(int a=1;a<17;a++){
		fChain->SetBranchAddress(Form("E_SiY%d",a),&E_SiY[a]);
		fChain->SetBranchAddress(Form("E_SiX%d",a),&E_SiX[a]);
		fChain->SetBranchAddress(Form("t_SiY%d",a),&t_SiY[a]);
		fChain->SetBranchAddress(Form("t_SiX%d",a),&t_SiX[a]);
	}

	//creating histos
	TH2D *h_pos_si_xy=new TH2D("h_pos_si_xy", "h_pos_si_xy",16,0.5,16.5,16,0.5,16.5);

	//creating and initializing some variables used in the event loop (for "no double counting")
	int r_pos_x=0,r_pos_y=0;
	int dc_Ex_max=-999;
	int dc_Ey_max=-999;
	
	
	Long64_t nentries = fChain->GetEntries();
	Long64_t nbytes = 0;

	//starting the entry loop
	for (Long64_t i=0; i<nentries;i++){

		nbytes += fChain->GetEntry(i);
		//event countdown
		if ((float(i)/100000.)==int(i/100000)){cout << "event: " << i << " \tof " << nentries << endl;}


		if(trigger==1){//trigger 1 = TargetON

			dc_Ex_max=-999;
			dc_Ey_max=-999;

			for(int i_x=1;i_x<17;i_x++){
				for(int i_y=1;i_y<17;i_y++){

					if( ((int)t_SiX[i_x])>0 && ((int)t_SiY[i_y])>0){
						if( PEDESTAL_LOW<((int)E_SiX[i_x]) && PEDESTAL_HIGH>((int)E_SiX[i_x]) &&
						    PEDESTAL_LOW<((int)E_SiY[i_y]) && PEDESTAL_HIGH>((int)E_SiY[i_y])){

							//assign the hit to StripX and StripY where the most energy is deposited (rel. Ecalibration is needed, but roughly ok)
							if(dc_Ex_max<((int)E_SiX[i_x]) && dc_Ey_max<((int)E_SiY[i_y])){
								r_pos_x=i_x;
								r_pos_y=i_y;
								dc_Ex_max=E_SiX[i_x];
								dc_Ey_max=E_SiY[i_y];
							}
						
						}
					}
					
				}
			}

			//Filling pos. histo
			if(dc_Ex_max!=-999 && dc_Ey_max!=-999){h_pos_si_xy	-> Fill(r_pos_x,r_pos_y);}
			
		}//trigger==1

	}//entry loop
	

	//writing out the root output file
	TFile *graphfile = TFile::Open((OUTPUT + (string)("") + ROOT_NAME).c_str(), "RECREATE");
	graphfile -> mkdir("map");
	graphfile -> cd("map");
	h_pos_si_xy -> Write();
	graphfile -> Close();

}//loop

//////////////////////////////////////////////////////////////////////////////////////////////////////////////

void run(){

    const char *command = new char[1000];

    char filename[100];
    TChain *fChain = new TChain("h101");

    sprintf(filename,INPUT1);

    if(exists_test0(INPUT1) && exists_test0(OUTPUT)){

    cout<<"\033[0;37m//loading run: "<<filename << "\033[0m" <<endl;
    fChain->Add(filename);

    loop(fChain);
    }
    else{cout<<"\033[0;31mError 404: non-existing INPUT1 or OUTPUT file!\033[0m" <<endl;}

	command = "rm  *.so";
	gSystem->Exec(command);
	command = "rm  *.d";
	gSystem->Exec(command);

	return;
}

int main(){
    run();
    return(0);
}
  445   Tue May 25 11:58:30 2021 JanAnalysis118(p,g) counts until run01152021
The two attached plots show the collected Si data up to run0115.

Within this ~15h we have about ~70 counts in the peak region.

This translates to ~4.5 counts per hour.
And shall be compared to the 1 count/hour we had last year.
Attachment 1: run91to115_Si_map.png
run91to115_Si_map.png
Attachment 2: run91to115_Si_projection.png
run91to115_Si_projection.png
  469   Wed May 26 14:28:23 2021 JanAnalysisXrays from 118Te & 124Xe2021
Attached is a plot of the uncalibrated energy spectra taken with the 90 degree xray detector for 118Te (red) and 124Xe (blue).
Shown is the region covering the K-alpha and K-REC peaks.

Calculating the ratios (Te/Xe) for K_alpha and K-REC energies from theory one gets:

K_alpha (theory): 0.9236  
K-REC   (theory): 0.9308

Without energy calibration we get the following ratio (using channel numbers):

K_alpha (exp): 0.9293  
K-REC   (exp): 0.9344

Taking into account that the channel numbers are not calibrated, the agreement is still very good.

In summary we can be sure that we have 118Te stored at 7AMeV.
Attachment 1: xray90_124Xe_118Te.png
xray90_124Xe_118Te.png
  523   Fri May 28 15:15:06 2021 JanAnalysis118Te(p,g) counts runs 135 to 1742021
This is the summary of all Si data collected at 6 MeV/u until run174 before the Alvarez problem.
We have roughly 50-60 counts in the peak region.
This data corresponds roughly to 36hours of beam, which means ~1.5 to 2 counts/hour.
Attachment 1: run135to174_Si_map.png
run135to174_Si_map.png
Attachment 2: run135to174_Si_projection.png
run135to174_Si_projection.png
  572   Tue Jun 8 15:06:17 2021 ShahabAnalysisBeam lifetime2021
measured beam lifetime after the second deceleration using parallel plate Schottky detector and the RSA5103 spectrum analyser. Analysis code can be found here:

https://github.com/xaratustrah/e127_scripts/

The plots here were produced using the script:

https://nbviewer.ipython.org/github/xaratustrah/e127_scripts/blob/main/lifetime_calculator.ipynb


UPDATE 2022-06-30:

Life times have been slightly corrected. Please see attachment.


Filename	Start Frame	Correct Lifetime [s]	Mean [s]
pgamma_lifetime-2021.05.25.21.56.37.593_on.tiq	29500	1.43	
pgamma_lifetime-2021.05.25.22.02.16.618_on.tiq	29500	1.55	1.49
pgamma_lifetime-2021.05.25.22.07.22.369_off.tiq	53500	1.75	
pgamma_lifetime-2021.05.25.22.13.24.787_off.tiq	34900	1.89	1.82
Attachment 1: pgamma_lifetime.001.png
pgamma_lifetime.001.png
Attachment 2: pgamma_lifetime.002.png
pgamma_lifetime.002.png
  41   Sun Mar 15 09:42:40 2020 JanCalibrationrun030 - Xray90 calib Am241 
measurement with old tennelec specAmps, do not use for efficiency!

Detector: 90
Source: Am-241
Distance: 167.5mm
Start time: 13:06:55 15.03.2020
Stop time:  13:24:57 15.03.2020

file name: run030_xxxx.lmd
avrg. rate: 650Hz
dead-time:  7%
  42   Sun Mar 15 13:08:38 2020 JanCalibrationrun031 - Xray90 calib Ba133 hi-rate 
measurement with old tennelec specAmps, do not use for efficiency!

Detector: 90
Source: Ba-133 strong source
Distance: 167.5mm
Start time: 13:28:42 15.03.2020
Stop time:13:38:16 15.03.2020

file name: run031_xxxx.lmd
avrg. rate: 2.7kHz
dead-time:  25%
  43   Sun Mar 15 13:40:11 2020 JanCalibrationrun032 - Xray90 calib Ba133 
measurement with old tennelec specAmps, do not use for efficiency!

Detector: 90
Source: Ba-133 weak source
Distance: 167.5mm
Start time: 13:39:30 15.03.2020
Stop time: 13:50:55 15.03.2020

file name: run032_xxxx.lmd
avrg. rate: 150Hz
dead-time:  1.5%
  44   Sun Mar 15 13:52:05 2020 JanCalibrationrun033 - Xray145 calib Am241 
measurement with old tennelec specAmps, do not use for efficiency!

Detector: 145
Source: Am-241
Distance: 305mm
Start time: 14:15;56 15.03.2020
Stop time:  14:40:21 15.03.2020

file name: run033_xxxx.lmd
avrg. rate: 300Hz
dead-time:  4%
  45   Sun Mar 15 14:41:34 2020 JanCalibrationrun034 - Xray145 calib B133 high rate -SOURCE MOVED! 
measurement with old tennelec specAmps, do not use for efficiency!

The source moved during the calibration, measurement stopped at half time.

Detector: 145
Source: B133 high rate
Distance: 305mm
Start time: 14:54:47 15.03.2020
Stop time:  15:06:53 15.03.2020

file name: run034_xxxx.lmd
avrg. rate: 1kHz
dead-time:  11%
  46   Sun Mar 15 15:08:44 2020 JanCalibrationrun035 - Xray145 calib B133 high rate 
measurement with old tennelec specAmps, do not use for efficiency!

Detector: 145
Source: B133 high rate
Distance: 305mm
Start time: 15:10:15 15.03.2020
Stop time:  15:31:16 15.03.2020

file name: run035_xxxx.lmd
avrg. rate: 1kHz
dead-time:  12%
  48   Sun Mar 15 17:13:21 2020 Laszlo, JanCalibrationthe x-ray gate issue 
We found a strange behaviour of our ADC gates for the x-ray detectors.
The setting as shown in the foto below corresponds to a delay of 5 us and a gate length of 15 us.
This is the only setting that produces nice spectra, even though the signals and gate are not aligned.
The setting is extremely sensitive to the delay 4 us still works but 3 or 7 us give already reduced energy values and beyond these values the spectra disapears.

For now it was decided to operate with this not-understood settings because the result is pretty good...
However, further investigation to understand whats happening would be desirable.

Additional note:
This effect appeared after using the new ortec SpecAmps. Before this we used old Tennelec Amps which delivered horrible resolution, but the gates and signals could be matched as expected at this time.
Attachment 1: IMG_20200315_172129.jpg
IMG_20200315_172129.jpg
  49   Sun Mar 15 17:14:08 2020 LaszloCalibrationrun036 - Xray90 calib Am241, distance 200! 
Detector: 90
Source: Am241 
Distance: 200mm
Start time: 17:15:12 15.03.2020
Stop time:  17:32:17 15.03.2020

file name: run036_xxxx.lmd
avrg. rate: 450Hz
dead-time:  5%
  50   Sun Mar 15 17:33:17 2020 LaszloCalibrationrun037 - Xray90 calib Am241 
Detector: 90
Source: Am241 
Distance: 167.5mm
Start time: 17:40:00 15.03.2020
Stop time:  17:49:57 15.03.2020

file name: run037_xxxx.lmd
avrg. rate: 620Hz
dead-time:  7%

--------------------

update at 05.05.2020: the cables were probably twisted between the 90 and the 145 angle detectors.
Attachment 1: run037_241Am_145.png
run037_241Am_145.png
ELOG V3.1.5-fc6679b