ID |
Date |
Author |
Subject |
72
|
Thu Dec 7 09:48:23 2023 |
Emmanuel | MWDdetector and User Input |
MWDdetector and UserInput |
Attachment 1: UserInput_Silicons.h
|
DETECTOR SPECIFIC PARAMETERS (Lines may be commented with '#' sign!)
===================================================================================================================================================================================================================================
DETECTOR DETECTOR DETECTOR STEP TIMING MIXED EXPAND SMOOTHING TIME G-FLASH G-FLASH G-FLASH G-FLASH BASELINE BASELINE AMPLITUDE AMPLITUDE AREA/AMP. AREA/AMP. SIGNAL WIDTH SIGNAL WIDTH NUMBER OF PULSE SHAPE
NAME NUMBER CLASS SIZE FILTER POLARITY PULSES FILTER LIMIT OPTION THRESHOLD MIN_WIDTH WINDOW OPTION FILTER OPTION THRESHOLD LOW THR. HIGH THR. LOW THR. HIGH THR. PULSE SHAPES ADDRESS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PKUP 0 PSA 350/6 0 0 3 100 100000 0 100. 1. 0 -1 300 0 100 0.0 2000 1 4000 0
#################################
# MWD PARAMETERS V6.2 #
# Date: 10-Aug-2023 #
#################################
#################################
# Threshold Polarity PoleZeroCorr DeconWindow AvergWin MAWindows gain/offset Gamma_Threshold Amp_Threshold fixed Dead time(ns) time_diff_baselne tailtime time_const
EDET 1 MWD 1600 -1 5E5 150 40 1 60 16.0/0.0 100 6500 550 1500 2 20
EDET 2 MWD 1600 -1 5E5 150 40 1 60 16.0/0.0 100 6500 550 1500 2 20
EDET 3 MWD 1600 -1 5E5 150 40 1 60 16.0/0.0 100 6500 550 1500 2 20
EDET 4 MWD 1600 -1 5E5 150 40 1 60 16.0/0.0 100 6500 550 1500 2 20
EDET 5 MWD 1600 -1 5E5 150 40 1 60 16.0/0.0 100 6500 550 1500 2 20
EDET 6 MWD 1600 -1 5E5 150 40 1 60 16.0/0.0 100 6500 550 1500 2 20
EDET 7 MWD 1600 -1 5E5 150 40 1 60 16.0/0.0 100 6500 550 1500 2 20
EDET 8 MWD 1600 -1 5E5 150 40 1 60 16.0/0.0 100 6500 550 1500 2 20
EDET 9 MWD 1600 -1 5E5 150 40 1 60 16.0/0.0 100 6500 550 1500 2 20
EDET 10 MWD 1600 -1 5E5 150 40 1 60 16.0/0.0 100 6500 550 1500 2 20
EDET 11 MWD 1600 -1 5E5 150 40 1 60 16.0/0.0 100 6500 550 1500 2 20
EDET 12 MWD 1600 -1 5E5 150 40 1 60 16.0/0.0 100 6500 550 1500 2 20
EDET 13 MWD 1600 -1 5E5 150 40 1 60 16.0/0.0 100 6500 550 1500 2 20
EDET 14 MWD 1600 -1 5E5 150 40 1 60 16.0/0.0 100 6500 550 1500 2 20
EDET 15 MWD 1600 -1 5E5 150 40 1 60 16.0/0.0 100 6500 550 1500 2 20
EDET 16 MWD 1600 -1 5E5 150 40 1 60 16.0/0.0 100 6500 550 1500 2 20
EDET 17 MWD 800 1 5E5 150 40 1 60 16.0/0.0 100 6800 550 1500 2 20
EDET 18 MWD 800 1 5E5 150 40 1 60 16.0/0.0 100 6800 550 1500 2 20
EDET 19 MWD 800 1 5E5 150 40 1 60 16.0/0.0 100 6800 550 1500 2 20
EDET 20 MWD 800 1 5E5 150 40 1 60 16.0/0.0 100 6800 550 1500 2 20
EDET 21 MWD 800 1 5E5 150 40 1 60 16.0/0.0 100 6800 550 1500 2 20
EDET 22 MWD 800 1 5E5 150 40 1 60 16.0/0.0 100 6800 550 1500 2 20
EDET 23 MWD 800 1 5E5 150 40 1 60 16.0/0.0 100 6800 550 1500 2 20
EDET 24 MWD 800 1 5E5 150 40 1 60 16.0/0.0 100 6800 550 1500 2 20
EDET 25 MWD 800 1 5E5 150 40 1 60 16.0/0.0 100 6800 550 1500 2 20
EDET 26 MWD 800 1 5E5 150 40 1 60 16.0/0.0 100 6800 550 1500 2 20
EDET 27 MWD 800 1 5E5 150 40 1 60 16.0/0.0 100 6800 550 1500 2 20
EDET 28 MWD 800 1 5E5 150 40 1 60 16.0/0.0 100 6800 550 1500 2 20
EDET 29 MWD 800 1 5E5 150 40 1 60 16.0/0.0 100 6800 550 1500 2 20
EDET 30 MWD 800 1 5E5 150 40 1 60 16.0/0.0 100 6800 550 1500 2 20
EDET 31 MWD 800 1 5E5 150 40 1 60 16.0/0.0 100 6800 550 1500 2 20
EDET 32 MWD 800 1 5E5 150 40 1 60 16.0/0.0 100 6800 550 1500 2 20
DEED 1 MWD 30 -1 5E5 150 40 1 51 1.0/0.0 100 200 550 1500 2 20
DEED 2 MWD 30 -1 5E5 150 40 1 51 1.0/0.0 100 200 550 1500 2 20
DEED 3 MWD 30 -1 5E5 150 40 1 51 1.0/0.0 100 200 550 1500 2 20
DEED 4 MWD 30 -1 5E5 150 40 1 51 1.0/0.0 100 200 550 1500 2 20
DEED 5 MWD 30 -1 5E5 150 40 1 51 1.0/0.0 100 200 550 1500 2 20
DEED 6 MWD 30 -1 5E5 150 40 1 51 1.0/0.0 100 200 550 1500 2 20
DEED 7 MWD 30 -1 5E5 150 40 1 51 1.0/0.0 100 200 550 1500 2 20
DEED 8 MWD 30 -1 5E5 150 40 1 51 1.0/0.0 100 200 550 1500 2 20
DEED 9 MWD 30 -1 5E5 150 40 1 51 1.0/0.0 100 200 550 1500 2 20
DEED 10 MWD 30 -1 5E5 150 40 1 51 1.0/0.0 100 200 550 1500 2 20
DEED 11 MWD 30 -1 5E5 150 40 1 51 1.0/0.0 100 200 550 1500 2 20
DEED 12 MWD 30 -1 5E5 150 40 1 51 1.0/0.0 100 200 550 1500 2 20
DEED 13 MWD 30 -1 5E5 150 40 1 51 1.0/0.0 100 200 550 1500 2 20
DEED 14 MWD 30 -1 5E5 150 40 1 51 1.0/0.0 100 200 550 1500 2 20
DEED 15 MWD 30 -1 5E5 150 40 1 51 1.0/0.0 100 200 550 1500 2 20
DEED 16 MWD 30 -1 5E5 150 40 1 51 1.0/0.0 100 200 550 1500 2 20
|
Attachment 2: MWDdetector.cc
|
/*
* $Id$
*
* Author: Sarah-Jane Lonsdale
* Date: 02-Dec-2015
* Version: 5.1 (8-Aug-2017)
* Update: Claudia Lederer-Woods
* Date: 31-May-2018
* Version: 6.0 (31-May-2018)
* Update: Nikolay Sosnin
* Date: 24-Nov-2022
* Version: 6.1 (24-Nov-2022)
*/
#include <math.h>
#include <string.h>
#include <iostream>
#include <iomanip>
#include <cmath>
#include <fstream>
#include <sstream>
#include <algorithm>
#include <vector>
#include <TFile.h>
#include <TH1F.h>
#include <TString.h>
using namespace std;
#include "MWDdetector.h"
void FormatHist(TH1D* h, TString name, TString title, TString xtitle, TString ytitle, int color, int width, int marker_color, int marker_style);
bool MWDDetector::parseConfigLine(char* line, const char* settings_file)
{
cout << "Config: " << line << endl;
if (!Detector::parseConfigLine(line)) return false;
// threshold
char* pch = strtok(NULL," ");
if (!pch) {
cerr << "UserInput: Invalid Threshold" << endl;
return false;
}
threshold = atof(pch);
// polarity
pch = strtok(NULL," ");
if (!pch) {
cerr << "UserInput: Invalid negative polarity" << endl;
return false;
}
polarity = atoi(pch);
if (polarity>=0)
polarity = 1;
else
polarity = -1;
// pole zero correction
pch = strtok(NULL," ");
if (!pch) {
cerr << "UserInput: Invalid pole zero correction" << endl;
return false;
}
pz = atof(pch);
// deconvolution window
pch = strtok(NULL," ");
if (!pch) {
cerr << "UserInput: Invalid deconvolution window" << endl;
return false;
}
m = atoi(pch);
// average window
pch = strtok(NULL," ");
if (!pch) {
cerr << "UserInput: Invalid average window" << endl;
return false;
}
l = atoi(pch);
// presample
pch = strtok(NULL," "); //NS: 27.07.2023
if (!pch) {
cerr << "UserInput: Invalid presample" << endl;
return false;
}
presample = atoi(pch);
//averaging windows 2
pch = strtok(NULL," "); //NS: 27.07.2023
if (!pch) {
cerr << "UserInput: Invalid presample" << endl;
return false;
}
window = atoi(pch);
// presample/averaging window 2
/*if (!parse2real(&presample, &window)) {
cerr << "UserInput: Invalid averager 1/2" << endl;
return false;
}*/
// gain/offset
if (!parse2real(&gain, &offset)) {
cerr << "UserInput: Invalid gain/offset" << endl;
return false;
}
// gamma flash search start
pch = strtok(NULL," ");
if (!pch) {
cerr << "UserInput: Invalid gamma_threshold" << endl;
return false;
}
g_threshold = atoi(pch);
// minimum amp_threshold
pch = strtok(NULL," ");
if (!pch) {
cerr << "UserInput: Invalid amp_threshold" << endl;
return false;
}
amp_threshold = atoi(pch);
// gamma flash primary (additional) offset
pch = strtok(NULL," ");
if (!pch) {
cerr << "UserInput: Invalid fixed Dead time(ns)" << endl;
return false;
}
gamma_time_primary = atoi(pch);//SL 08/07/17
// time different for baseline determination
pch = strtok(NULL," ");
if (!pch) {
cerr << "UserInput: time_diff_baselne" << endl;
return false;
}
time_diff_baseline = atoi(pch);//SL 08/07/17
// time after g flash which has undershoot
pch = strtok(NULL," ");
if (!pch) {
cerr << "UserInput: tailtime" << endl;
return false;
}
tailtime = atoi(pch);//SL 08/07/17
// Time constant
pch = strtok(NULL," ");
if (!pch) {
cerr << "UserInput: time_const" << endl;
return false;
}
time_const = atoi(pch); // 28/08/23
return true;
} // parseConfigLine
int MWDDetector::analysis(
ntof::lib::ReaderStructEVEH& eveh, // EVEH event information
ntof::lib::ReaderStructMODH& modh, // MODH header information
ntof::lib::ReaderStructACQC& acqc, // ACQC pulse record
PulseVector* pulsevec, // vector of pulses
int movie_number,
bool html) // I: movie number
{
Detector::analysis(eveh, modh, acqc, pulsevec, movie_number, html);
double rate = modh.getSampleRate();
int NofPeaks = 0;
TString name = modh.getDetectorType();
//double g_threshold = 2000; //move to .h file //CHANGED
double tdiffsig = gamma_time_primary;
double tdiffbase = time_diff_baseline; // consider moving to h file
int aver = presample; //
//double tailtime = 100000; // time up to which there is an undershoot after gflash
double* x = new double[length_of_movie];
double* xsmooth = new double[length_of_movie]; //13.3.18
double* xsmooth_ma = new double[length_of_movie]; //NS 22.05.2023
double* y = new double[length_of_movie];
double* z = new double[length_of_movie];
double* zdiff = new double[length_of_movie]; //13.3.18
double* mwd_m = new double[length_of_movie];
double* ma_l = new double[length_of_movie]; // moving average array
double* mwd_deriv = new double[length_of_movie]; // mwd derivative
double timeScale = 1000.0 / rate; // in ns/Sample
for(int i = 0; i < length_of_movie; i++){
x[i] = polarity * (acqc[i] * gain + offset);
y[i] = z[i] = zdiff[i] = xsmooth[i] = 0.0; //13.3.18
}
//CHANGED
int startofevent = aver / 2;
//Averaging preamplifier output
for(int i = startofevent; i < length_of_movie; i++){
xsmooth[i] = 0.;
for(int j = -1 * (aver - 1) / 2; j <= (aver - 1) / 2; j++){
xsmooth[i] += x[i + j];
}
xsmooth[i] /= aver;
}
//Extra moving average test
//const double window = 39.;
int startofevent2 = window / 2; //NS 22.05.2023
for(int i = startofevent2; i < length_of_movie; i++){
xsmooth_ma[i] = 0.;
for(int j = -1 * (window - 1) / 2; j <= (window - 1) / 2; j++){
xsmooth_ma[i] += xsmooth[i + j];
}
xsmooth_ma[i] /= window;
}
// Locating maximum and minimum of derivative
if(verbose){cout << "Begin amplitude extraction." << endl;}
// Parameters for semi-gauss discriminator
//const double time_const = 0; // SL 12/08/16 Emmanuel
const double pole_zero = 5.e5;
double a0, a1, b1;
b1 = exp(-1. / int(time_const));
a0 = (1. + b1) / 2.0;
a1 = -1. * (1. + b1) / 2.0;
// Single pole high pass with pz correction
for(int i = 1; i < length_of_movie; i++){
//y[i] = b1 * y[i - 1] + a0 * xsmooth[i] + a1 * xsmooth[i - 1] + xsmooth[i - 1] / pole_zero;
y[i] = b1 * y[i - 1] + a0 * xsmooth_ma[i] + a1 * xsmooth_ma[i - 1] + xsmooth_ma[i - 1] / pz;
}
// Single pole low pass filter
for(int i = 1; i < length_of_movie; i++){
z[i] = b1 * z[i - 1] + a0 * y[i];
}
// devirative of filters
for(int i = 1; i < length_of_movie; i++){
zdiff[i] = -1. * z[i - 1] + z[i];
}
//bool beamType = false;
//if(eveh.getBeamType() != 1){beamType = true;}
double twait = 16000.; // introduce different time window for baseline depending on ded or par CLW 31/05/18
/*if(eveh.getBeamType() == 2){twait = 13000.;} // dedicated
if(eveh.getBeamType() == 3){twait = 19000.;} // parasitic
else{twait = 16000.;}*/
////////////////////////////////////////
// MWD and filtering //
////////////////////////////////////////
// moving window deconvolution
for(int i = startofevent + m; i < length_of_movie; i++){ // SL 10/08/16 // 13/03/18 MWD on smoothed
//double d_m = xsmooth[i] - xsmooth[i - m];
double d_m = xsmooth_ma[i] - xsmooth_ma[i - m];
double ma_m = 0.;
for(int j = (i - m); j < (i - 1); j++) {
//ma_m += xsmooth[j];
ma_m += xsmooth_ma[j];
}
mwd_m[i] = d_m + ma_m / pz;
}
// moving average
//for(int i = l + m + gamma_flash; i < length_of_movie; i++){ // SL 10/08/16
for(int i = l + m; i < length_of_movie; i++){ // NS 31.07.2023
ma_l[i] = 0.;
... 285 more lines ...
|
74
|
Tue Apr 16 12:24:01 2024 |
Emmanuel | MWD amplitude (dE and E) |
|
Attachment 1: 26Al_PDF.pdf
|
|
43
|
Thu Jul 27 11:53:52 2023 |
TD | MSL type W1 detector data for 26Al(n,X) experiment EAR2, n_TOF |
MSL type W1(SS)-20
3186-9 20um Depletion voltage 3V Operating voltage 6V
3585-12 20um Depletion voltage 2V Operating voltage 4V
MSL type W1(DS)-150
3458-1 157um Depletion voltage 22V Operating voltage 52V
3458-4 144um Depletion voltage 18V Operating voltage 48V |
12
|
Thu Jul 28 16:00:43 2016 |
Sarah | List of to-dos |
Process alpha data
- Compare pulser width and alpha width to calibration spectra (shaping amp with 1us and gain 50x)
- Does photodiode data process OK or is it a problem with the oscillations?
Process LiF data
- Any pile up issues? Problems with gamma flash?
Online monitoring:
- Check leakage every few days, check lab temp.
- Check alpha peaks of 26Al contaminants - Gd, B.
|
70
|
Thu Sep 28 15:32:16 2023 |
Emmanuel | LiF sample in |
We switched from 10B target (number 1) to LiF target (number 3). We planned to take this measurement for one day. |
Attachment 1: 20230928_154334.jpg
|
|
Attachment 2: 20230928_155923.jpg
|
|
Attachment 3: 20230926_115053.jpg
|
|
Attachment 4: 20230928_155747.jpg
|
|
55
|
Fri Aug 11 09:17:28 2023 |
Annie | Li target scans |
Processed scans of both sides of the Li target showing the beam spot, and an image showing what it looks like to the eye. |
Attachment 1: 7Li_foil_side1_post_processed.pdf
|
|
Attachment 2: 7Li_foil_side2_post_processed.pdf
|
|
Attachment 3: IMG_2914.JPG
|
|
17
|
Tue Aug 2 08:14:26 2016 |
Sarah | Leakage currents spreadsheet (26/07- 01/08) |
Steady for dE, E. Possibly rising on PHDI- monitor closely. |
Attachment 1: Leakage_currents.xlsx
|
24
|
Tue Aug 23 15:34:38 2016 |
Claudia | Leakage currents 23.08.16 |
E = 0.03uA
dE = 0.04uA
PHDI = 0.09uA
- Monitor PHDI - increasing slowly... |
23
|
Wed Aug 17 15:10:05 2016 |
Sarah | Leakage currents 12.08.16 |
E = 0.03uA
dE = 0.04uA
PHDI = 0.06uA
- Monitor PHDI - increasing slowly... |
22
|
Thu Aug 11 08:19:37 2016 |
Sarah | Leakage currents 10.8.16 |
At lunchtime (12.45)
E = 0.03 uA
dE = 0.04 uA
PHDI = 0.06 uA |
27
|
Fri Sep 9 10:01:18 2016 |
Sarah | Leakage currents 09.09.16 |
EFED 0.04uA
DEED 0.05uA
PHDI 0.13uA |
21
|
Tue Aug 9 15:57:52 2016 |
Sarah | Leakage currents 09.08.16 |
Morning - 9am
E= 0.03uA
dE= 0.04uA
PHDI= 0.06uA
Afternoon - 4.30pm
E=0.03uA
dE= 0.03uA
PHDI=0.05uA
|
20
|
Mon Aug 8 11:02:13 2016 |
Sarah | Leakage currents 08.08.16 |
E 0.03 uA
dE 0.04 uA
PHDI 0.05 uA
Boron target 1 towards PHDI and Boron target 3 towards dE-E.
Mylar target gluing in electronics lab. |
25
|
Fri Sep 2 12:01:57 2016 |
Sarah | Leakage currents 02.09.16 |
E 0.03
dE 0.05
PHDI 0.12
Check on PHDI pulser width:
205170 (first in beam run) - 1.1% FWHM (at 8275 ch)
205439 (01/09/16) - 1.0% FWHM (at 8008 ch)
Seems to be holding up OK at present. |
19
|
Wed Aug 3 14:48:09 2016 |
Sarah | Leakage currents 02.08 - 03.08 |
02.08:
dE = 0.03 uA
E = 0.03 uA
PHDI = 0.04 uA
03.08:
dE = 0.03 uA
E 0.04 uA
PHDI = 0.04 uA |
29
|
Thu Oct 6 09:28:33 2022 |
Claudia | Items to be replaced for next run |
Missing/broken items identified
- long rails for fixing chamber on support
- vacuum valve (ours is broken)
- at least 2 lemo - BNC converters
- short M3 screws (photo) |
Attachment 1: 20221005_122654.pdf
|
|
28
|
Thu May 26 09:20:32 2022 |
Nick / Claudia | Inventory of Items at n_TOF for (n,cp) experiments |
Detectors currently in the boxes:
2x MSL type W1(SS)-50, 2902-4 (53um), 2940-6 (55um)
1x MSL type W1(SS)-20 2837-33 (20um)
1x MSL type W1(DS?) 1230-10 (500 or 300 um)
1x MSL type W1(DS)-500 1194-9 (494um)
Three aluminium crates contain 26Al(n, alpha) kit from EAR2, and was in the barracks (building 6547) near detector lab by EAR1 entrance. A list is attached and photos can be found on Dropbox:
https://www.dropbox.com/sh/68k1xove2zr1bmj/AADKvN8wR_Ia2EwZMOXZqdMCa?dl=0 |
Attachment 1: rn_image_picker_lib_temp_e85b2099-7b73-4246-843d-6351800c2709.jpg
|
|
Attachment 2: rn_image_picker_lib_temp_3ff5f819-1e0c-4278-bbbc-01038a0a0c94.jpg
|
|
49
|
Thu Aug 10 10:05:48 2023 |
CLW | Gafchromics Foil |
Gafchromics foil was mounted on empty brass frame back to back with Li sample
Neutron beam goes well through the sample. Centered ~1 cm from sample center. Conclusion: no changes needed (too risky to make it worse and it is ok now) |
Attachment 1: 20230809_165433.jpg
|
|
Attachment 2: 20230810_085457.jpg
|
|
Attachment 3: 20230809_165436.jpg
|
|
11
|
Wed Jul 27 13:20:53 2016 |
Sarah | Gafchromic images |
|
Attachment 1: Gafchromic_scan_photos.pdf
|
|
Attachment 2: 20160725_180604.jpg
|
|
Attachment 3: 20160726_153323.jpg
|
|
Attachment 4: New_Doc_19_1_1469601914249.jpg
|
|
Attachment 5: New_Doc_19_2_1469601914138.jpg
|
|
Attachment 6: New_Doc_19_3_1469601913934.jpg
|
|
71
|
Mon Oct 2 08:53:06 2023 |
Emmanuel | Empty Frame |
An empty frame (on the top) was placed on Friday night. |
Attachment 1: Empty_Frame.jpeg
|
|