ID |
Date |
Author |
Subject |
44
|
Mon Jul 31 10:21:41 2023 |
Nikolay Sosnin | n_TOF Data and Filtering |
|
Attachment 1: Al26_Filtering.pptx
|
30
|
Thu Oct 6 09:34:30 2022 |
Claudia | Test setup Photos and cabling |
Setup 5.10.22
dE 20 um (ID 2837-33) and 494 um double sided (ID 1194-9)
46 channels (2 connectors missing)
LiF4 in beam
dE: Big flat cables from preamp 22 and 23 into 1A and 1B
E: from preamp 24+25 go into 2A, 2B and 3A 3B
LEMO converter box: Cable 1: dE
Cable 3: E n+n
unlabeled cable: E p+n
E detector voltage: -133 V, leakage current -0.53 micro-Amp
dE detector voltage -22 V, leakage current -0.03 micro-Amp
For the E detector one of the edge p+n strip bond-wires is suspected broken. |
Attachment 1: 20221005_174742.jpg
|
|
Attachment 2: 20221005_174759.jpg
|
|
Attachment 3: 20221005_184752.jpg
|
|
Attachment 4: 20221005_184801.jpg
|
|
Attachment 5: 20221005_174742.jpg
|
|
51
|
Thu Aug 10 11:30:32 2023 |
Nikolay Sosnin | Silicons and LiF3+Gafchromic Target |
|
Attachment 1: EDET_150um_Box.JPG
|
|
Attachment 2: EDET_150um.JPG
|
|
Attachment 3: EDET_ID.JPG
|
|
Attachment 4: DEED_20um_Box.JPG
|
|
Attachment 5: LiF3_Gafchrmoic_Target_Mounted.JPG
|
|
Attachment 6: LiF3_Gafchromic_Side.JPG
|
|
Attachment 7: LiF3_Gafchromic_Front.JPG
|
|
Attachment 8: Detector_Mount_and_LiF3.JPG
|
|
Attachment 9: Detectors_Mounting.JPG
|
|
Attachment 10: Detectors_Mounted_DEED.JPG
|
|
Attachment 11: Detectors_Mounted_EDET.JPG
|
|
Attachment 12: Detectors_and_LiF3_Gafchrmoic_TestPosition.JPG
|
|
Attachment 13: Detectors_and_LiF3_Gafchrmoic_TestPosition_Back.JPG
|
|
Attachment 14: Detectors_and_LiF3_Gafchrmoic_TestPosition_Below.JPG
|
|
Attachment 15: Detectors_and_LiF3_Gafchrmoic_TestPosition_Above.JPG
|
|
Attachment 16: Detectors_and_LiF3_Gafchrmoic_TestPosition_Tilt.JPG
|
|
Attachment 17: Detectors_and_LiF3_Gafchrmoic_TestPosition_Front.JPG
|
|
Attachment 18: Assembly_Insert.JPG
|
|
36
|
Sat Oct 8 11:56:49 2022 |
Nikolay Sosnin | Silicon Strips of Concern |
DEED 6 and 9 no signal throughout the campaign.
EFED 27 high oscillations in baseline throughout the campaign. |
58
|
Fri Aug 11 13:06:54 2023 |
Annie | Signal Spreadsheet info |
Spreadhseet made for shifters to manually enter that they have checked each signal and that they can see gamma-flashes. It is saved as "26Al_EAR2_Signal_Checks.ods", it is located on the second monitor on the right of the control room, next to the monitor used to see the beam intensity (same monitor used to see signals).
It will stay open throughout the campeign. Shifters have been told to check signals more than just the once to record that they're okay, and there is a comments box for shifters to add any comments/issues that arises after they have recorde that they have checked the signals at least once. |
Attachment 1: IMG_2920.JPG
|
|
Attachment 2: IMG_2921.JPG
|
|
Attachment 3: IMG_2922.JPG
|
|
26
|
Fri Sep 2 12:03:40 2016 |
Sarah | SPD card changed |
14 bit card replaced for DEED 9-12, to prevent issue with pulser arriving before gamma flash. |
62
|
Mon Aug 14 11:00:13 2023 |
TD | RAL108 +/-15V PSU test in ISOLDE hall |
This morning 2x RAL108 +/-15V PSUs were borrowed from the Edinburgh equipment in the ISOLDE hall to check whether the same transient noise is observed at the +/-15V PSU
outputs - this was confirmed. See https://elog.ph.ed.ac.uk/nToF/63
Following this test the same 2x RAL108 +/-15V PSUs were tested in the ISOLDE hall ( 19" rack adjacent to the HIE-ISOLDE GP scattering chamber ).
PSU #1 Coutant HSC15-3.0
Setup and PSU details - attachments 1-4
DSO ch#1 +15V AC/1M, ch#2 -15V AC/1M - y: 5mV/div x: 400ns, 4us & 40us/div - attachments 5-7
PSU #2 Farnell MX2
Setup and PSU details - attachments 8-10
DSO ch#1 +15V AC/1M, ch#2 -15V AC/1M - y: 5mV/div x: 400ns, 4us & 40us/div - attachments 11-13
Conclusion
The noise of the 2x RAL108 +/-15V PSUs differed somewhat ( frequency and structure of HF transients ) from each other in the ISOLDE test.
Compared to the EAR2, n_TOF test the amplitudes were c. 10x smaller and the HF transient frequency and structure differed.
This appears to confirm that the primary problem is the ac mains power in EAR2, n_TOF - input and/or output filtering is required. |
Attachment 1: 20230814_110402.jpg
|
|
Attachment 2: 20230814_111029.jpg
|
|
Attachment 3: 20230814_111128.jpg
|
|
Attachment 4: 20230814_111216.jpg
|
|
Attachment 5: 20230814_110410.jpg
|
|
Attachment 6: 20230814_110424.jpg
|
|
Attachment 7: 20230814_110516.jpg
|
|
Attachment 8: 20230814_110053.jpg
|
|
Attachment 9: 20230814_110723.jpg
|
|
Attachment 10: 20230814_110738.jpg
|
|
Attachment 11: 20230814_110158.jpg
|
|
Attachment 12: 20230814_110142.jpg
|
|
Attachment 13: 20230814_110105.jpg
|
|
63
|
Tue Aug 15 10:17:39 2023 |
TD, NS | RAL108 +/-15V PSU test at EAR2, n_TOF Monday 14 August |
On the morning of Monday 14 August 2x RAL108 +/-15V PSUs were borrowed from the Edinburgh equipment in the ISOLDE hall to check whether the same transient
noise is observed at the +/-15V PSU outputs.
PSU #2 Farnell MX2
Setup - attachment 1
DSO ch#1 +15V AC/1M, ch#2 -15V AC/1M - y: 50mV/div x: 1us, 500ns, 250ns & 25us/div - attachments 2-5
PSU #1 Coutant HSC15-3.0
Setup - attachment 6
DSO ch#1 +15V AC/1M, ch#2 -15V AC/1M - y: 50mV/div x: 25us/div - attachment 7
Conclusion
Observe same amplitude and HF structure with all 3x RAL108 +/-15V PSUs |
Attachment 1: 20230814_083448.jpg
|
|
Attachment 2: 20230814_083549.jpg
|
|
Attachment 3: 20230814_083556.jpg
|
|
Attachment 4: 20230814_083601.jpg
|
|
Attachment 5: 20230814_083445.jpg
|
|
Attachment 6: 20230814_083323.jpg
|
|
Attachment 7: 20230814_083319.jpg
|
|
67
|
Mon Aug 21 12:08:59 2023 |
TD | RAL108 +/-15V PSU test - JCMB 21.8.23 |
PSU Calex
Setup, PSU and ac mains filter - attachments 1-3
DSO ch#1 +15V AC/1M, ch#2 -15V AC/1M - y: 50mV/div x: 100ns, 200ns, 1us, 2us, 10us/div
Without ac mains filter - attachments 4-8
DSO ch#1 +15V AC/1M, ch#2 -15V AC/1M - y: 10mV/div x: 100ns, 200ns, 1us, 2us, 10us/div
With ac mains filter - attachments 9-13
Conclusion - Claud Lyons Ltd STF Series Surge & Transient Power Filter produces c. x 2 attenuation of HF noise transients |
Attachment 1: 20230821_115139.jpg
|
|
Attachment 2: 20230821_115314.jpg
|
|
Attachment 3: 20230821_115259.jpg
|
|
Attachment 4: 20230821_115144.jpg
|
|
Attachment 5: 20230821_115156.jpg
|
|
Attachment 6: 20230821_115206.jpg
|
|
Attachment 7: 20230821_115216.jpg
|
|
Attachment 8: 20230821_115229.jpg
|
|
Attachment 9: 20230821_115415.jpg
|
|
Attachment 10: 20230821_115424.jpg
|
|
Attachment 11: 20230821_115438.jpg
|
|
Attachment 12: 20230821_115447.jpg
|
|
Attachment 13: 20230821_115457.jpg
|
|
66
|
Sat Aug 19 14:14:26 2023 |
TD | RAL108 +/-15V PSU test - JCMB 18.8.23 |
PSU Calex
Setup and PSU details - attachments 1-3
DSO ch#1 +15V AC/1M, ch#2 -15V AC/1M - y: 20mV/div x: 100ns, 200ns, 1us, 2us, 10us, 20us & 100us/div - attachments 4-10 |
Attachment 1: 20230818_115256.jpg
|
|
Attachment 2: 20230818_120358.jpg
|
|
Attachment 3: 20230818_120127.jpg
|
|
Attachment 4: 20230818_115311.jpg
|
|
Attachment 5: 20230818_115329.jpg
|
|
Attachment 6: 20230818_115250.jpg
|
|
Attachment 7: 20230818_115421.jpg
|
|
Attachment 8: 20230818_115341.jpg
|
|
Attachment 9: 20230818_115409.jpg
|
|
Attachment 10: 20230818_115352.jpg
|
|
54
|
Fri Aug 11 09:11:04 2023 |
Annie | Pulse Settings |
|
Attachment 1: IMG_2908.JPG
|
|
Attachment 2: IMG_2909.JPG
|
|
Attachment 3: IMG_2910.JPG
|
|
Attachment 4: IMG_2911.JPG
|
|
57
|
Fri Aug 11 10:12:02 2023 |
Annie | Pressure, voltage and current check |
|
Attachment 1: IMG_2915.JPG
|
|
Attachment 2: IMG_2916.JPG
|
|
Attachment 3: IMG_2918.JPG
|
|
5
|
Tue Oct 13 21:04:49 2015 |
Claudia Lederer | Photos of Test Setup 5-10 October 2015 |
some photos in high resolution of the test setup 5-10 October 2015 |
Attachment 1: DSC00042.JPG
|
|
Attachment 2: DSC00048.JPG
|
|
Attachment 3: DSC00056.JPG
|
|
Attachment 4: DSC00065.JPG
|
|
47
|
Thu Aug 10 09:55:50 2023 |
CLW | Photos of Chamber, Al26 Run Aug23 |
|
Attachment 1: 20230809_120302.jpg
|
|
Attachment 2: 20230809_120309.jpg
|
|
Attachment 3: 20230809_153802.jpg
|
|
Attachment 4: 20230809_153809.jpg
|
|
Attachment 5: 20230809_153821.jpg
|
|
Attachment 6: Beamline_Chamber_Spacing.JPG
|
|
Attachment 7: Assembled_Setup_Back.JPG
|
|
Attachment 8: Assembled_Setup_Back_Zoom.JPG
|
|
Attachment 9: Final_Assembly_Front.JPG
|
|
Attachment 10: Mounting_Bolts.JPG
|
|
Attachment 11: Mounting_Clamps.JPG
|
|
Attachment 12: EAR2_Pillars_Mount_Side.JPG
|
|
Attachment 13: EAR2_Pillars_Mount_Front.JPG
|
|
48
|
Thu Aug 10 10:04:13 2023 |
CLW | Photos inside chamber Al26 run Aug2023 |
|
Attachment 1: 20230809_174847.jpg
|
|
Attachment 2: 20230809_174905.jpg
|
|
Attachment 3: 20230809_174943.jpg
|
|
Attachment 4: Empty_Frame_Inside_Front.JPG
|
|
Attachment 5: Empty_Frame_Inside_Sideview.JPG
|
|
Attachment 6: Empty_Frame_Inside_Back.JPG
|
|
Attachment 7: Assembly_Interior_Back.JPG
|
|
Attachment 8: Assembly_Interior_Front.JPG
|
|
52
|
Thu Aug 10 16:11:57 2023 |
TD, NS, AR | Noise |
Observe c. 2mV p to p noise with DSO ( Z_in = 50 Ohm ) c. 60us period with HF structure. DSO connected to junction box via 34-way IDC - 16x Lemo-00 adaptor.
Origin of noise upstream of 4x34-way to 8x16-way Junction Box. Not microphonics from Edwards RV5 Rotary Pump.
No change observed with simple ground connections between NIM bin/+/-15V PSU/Junction Box and MSL type W1 preamplifier units/vacuum chamber/support assembly.
Estimate of electronic noise
Pulser BNC PB-5
Amplitude 0.5V
Attenuation x1
Decay time 1ms
Frequency 50Hz
Preamplifier RAL108
Output impedance 100 Ohm
Sensitivity 20mV/MeV ( into high Z load ), 6.7mV/MeV ( into 50 Ohm load )
Amplifier EG&G Ortec 571
Input terminated by 50 Ohm
Gain x1 (internal) x 1.0 (fine gain) x 50 (coarse gain ) = 50
Shaping time 0.5us
MCA Amptek 8000D
Input FSR 10V
12 bit ADC
Nominal gain = 6.7mV/MeV x 50 = 335mV/MeV
12 bit ADC input FSR = 10V / 0.335V/MeV = 29.85MeV FSR or 7.3keV/channel
dE p+n junction strip # 4 ( of 0-15 )
pulser peak centroid = 799.8 ch
pulser peak width = 7.8 ch FWHM = 57 keV FWHM
E p+n junction strip # 4 ( of 0-15 )
pulser peak centroid = 864.8ch
pulser peak width = 3.5 ch FWHM = 26 keV FWHM
E n+n Ohmic strip # 4 ( of 0-15 )
pulser peak centroid = 913.0 ch
pulser peak width = 5.3 ch FWHM = 39 keV FWHM
Noise estimates are probably accurate to c. 10% level. |
Attachment 1: 20230810_162959.JPG
|
|
Attachment 2: IMG_2906.jpeg
|
|
Attachment 3: 20230810_164219.JPG
|
|
56
|
Fri Aug 11 10:02:08 2023 |
TD, NS, AR | Noise |
Check RAL108 +/-15V PSU
Measured output voltages +15.21V -15.18V - OK
Observe output voltages with DSO ( ch #1 AC/1M +15V, ch #2 AC/1M -15V ) - see attachments 1 & 2
What we should observe is c. 1mV rms ( white ) noise but we clearly observe similar noise transients ( c. 60us period with HF structure ) to those observed at RAL108
outputs. The RAL108 preamplifier units do have RC filters on the +/-15V - typically c. 100 Ohm and 4.7uF. Some additional, inline filtering with a lower rolloff
frequency may be required.
>
> Observe c. 2mV p to p noise with DSO ( Z_in = 50 Ohm ) c. 60us period with HF structure. DSO connected to junction box via 34-way IDC - 16x Lemo-00 adaptor.
>
> Origin of noise upstream of 4x34-way to 8x16-way Junction Box. Not microphonics from Edwards RV5 Rotary Pump.
> No change observed with simple ground connections between NIM bin/+/-15V PSU/Junction Box and MSL type W1 preamplifier units/vacuum chamber/support assembly.
>
>
> Estimate of electronic noise
>
> Pulser BNC PB-5
>
> Amplitude 0.5V
> Attenuation x1
> Decay time 1ms
> Frequency 50Hz
>
> Preamplifier RAL108
> Output impedance 100 Ohm
> Sensitivity 20mV/MeV ( into high Z load ), 6.7mV/MeV ( into 50 Ohm load )
>
> Amplifier EG&G Ortec 571
> Input terminated by 50 Ohm
> Gain x1 (internal) x 1.0 (fine gain) x 50 (coarse gain ) = 50
> Shaping time 0.5us
>
> MCA Amptek 8000D
> Input FSR 10V
> 12 bit ADC
>
>
> Nominal gain = 6.7mV/MeV x 50 = 335mV/MeV
>
> 12 bit ADC input FSR = 10V / 0.335V/MeV = 29.85MeV FSR or 7.3keV/channel
>
>
> dE p+n junction strip # 4 ( of 0-15 )
>
> pulser peak centroid = 799.8 ch
> pulser peak width = 7.8 ch FWHM = 57 keV FWHM
>
>
> E p+n junction strip # 4 ( of 0-15 )
>
> pulser peak centroid = 864.8ch
> pulser peak width = 3.5 ch FWHM = 26 keV FWHM
>
>
> E n+n Ohmic strip # 4 ( of 0-15 )
>
> pulser peak centroid = 913.0 ch
> pulser peak width = 5.3 ch FWHM = 39 keV FWHM
>
>
> Noise estimates are probably accurate to c. 10% level. |
Attachment 1: 20230811_104233.jpg
|
|
Attachment 2: 20230811_104253.jpg
|
|
64
|
Tue Aug 15 11:41:27 2023 |
TD, NS | Monday 14 August - vacuum chamber pressure |
08.35 Vacuum chamber pressure OK - see attachment 1 |
Attachment 1: 20230814_083514.jpg
|
|
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
|
|