GSI Forum
GSI Helmholtzzentrum für Schwerionenforschung

Home » NUSTAR » NUSTAR PRESPEC » prespec git updates (Post here if you pushed your changes to the agatagsi@lx-pool.gsi.de:git/prespec repository and you want to make everybody aware of the new features you added)
prespec git updates [message #17158] Mon, 11 August 2014 19:51 Go to next message
miree is currently offline  miree
Messages: 71
Registered: June 2014
continuous participant
From: *ikp.physik.tu-darmstadt.de
I've done some slight changes (updates, correction of mistakes) to the prespec-tutorial that you can find in the prespec/doc/PreSPEC_Tutorial directory of the package. Some while ago, I also added a FAQ section, describing things like: making logical AND/OR of different conditions and how to define and use gates.

Michael
Re: prespec git updates [message #17182 is a reply to message #17158] Thu, 14 August 2014 13:43 Go to previous messageGo to next message
mlcortes is currently offline  mlcortes
Messages: 41
Registered: July 2014
Location: Darmstadt
continuous participant
From: *ikp.physik.tu-darmstadt.de
I pushed the following changes in Frs Id processor

- Calculation of AoQ without correcting the Rho included
- A new way to get charged states based on P. Mayet PhD thesis and J. Benlliure, Nucl. Phys A660 87 (1999)
- A parameter to indicate if there is S1 degrader in the settings. This is useful when calculating the BRho of the first half of FRS and charged states



Li^2
Re: prespec git updates [message #17185 is a reply to message #17158] Mon, 18 August 2014 11:21 Go to previous messageGo to next message
mlcortes is currently offline  mlcortes
Messages: 41
Registered: July 2014
Location: Darmstadt
continuous participant
From: *ikp.physik.tu-darmstadt.de
I have pushed a change in the position correction of the musics.
Instead of

dE=dE+x*value/dE

i take

dE=dE-x*value

Where value is the slope of the line one fits to the dE_geo vs position in the musics plot.


Li^2
Re: prespec git updates [message #17194 is a reply to message #17158] Tue, 19 August 2014 17:18 Go to previous messageGo to next message
miree is currently offline  miree
Messages: 71
Registered: June 2014
continuous participant
From: *gsi.de
Added two small programs to the repository.
They extract the first and last GTS timestamp in an lmd file (written by MBS system) or from the set of all psa_*.adf files in a NARVAL run folder. These tools can be used to verify if you're pairing the correct lmd file with a given NARVAL run.

they are located in the prespec/tools subdirectory and are installed when typing "make install" together with the preplay program.

use like this (for lmd files)
gts_timestamps_mbs /d/rising02/feb_14/data/Fe56_coulex_ar3_0106.lmd > /dev/null

outputs:
/d/.../Fe56_coulex_ar3_0106.lmd    < Mon Feb 24 07:12:56 2014>        23270254723987       23375015876804


use like this (for adf files)
gts_timestamps_adf /SAT/hera/gamma/AGATAdata/040414_bentley/run_0011_46Ti_coulex/Data/

outputs:
/SAT/../Data/                       <Sat Apr  5 03:50:07 2014 >        5630037697086        7425940419075



The first/last number is the first/last GTS timestamp in the file/folder.
Yes, these numbers are large! They count the number of 10ns GTS time-ticks since the start of the GTS system.
By looking at them you can see if time ranges of two event sources do overlap or not.
Re: prespec git updates [message #17520 is a reply to message #17158] Fri, 14 November 2014 14:53 Go to previous messageGo to next message
miree is currently offline  miree
Messages: 71
Registered: June 2014
continuous participant
From: *ikp.physik.tu-darmstadt.de
Recent, notable additions to the prespec package:

1) A new preplay option to change the name of the TTree in the root file
2) simplification of the MGT tracking processor
3) some new processors in the UTILS plugin (see git for details)
Re: prespec git updates [message #17592 is a reply to message #17158] Thu, 27 November 2014 21:26 Go to previous messageGo to next message
miree is currently offline  miree
Messages: 71
Registered: June 2014
continuous participant
From: *188.107.pools.vodafone-ip.de
There is a new processor for the mutual alignment of correlated signals. It can determine a set of offsets, such that all differences between pairs of signals will be zero.

One possible application of this: Consider the time signals of a LYCCA ToF detector. These signals have an offset with respect to each other, because of slightly different cable length (and maybe other reasons). As a consequence, if a particle hits the detector, Then signal from PMT_a will come not exactly at the same time as the signal from PMT_b, even if both signals were induced by the same particle. This offset is of course the same for each event. The processor CircularMembraneScintillator takes these offsets into account. But in practice, these offsets tend to induce difficulties in the calibration. Therefore, it might make sense to align the time signals before feeding them into the final processing.


processor ToFstart/SignalAlignment UTILS.InterSignalAlignment
	INPUT[0:15]     <-   LyccaTargetTofCrate.mhtdc0[0:15]
	INPUT[16:31]    <-   LyccaTargetTofCrate.mhtdc1[16:31]
	
	display INPUT_DIFFERENCES  10000,-5000,5000
	display OUTPUT_DIFFERENCES 10000,-5000,5000
end

# use output of the time alignment instead of the raw data
processor Lycca/ToFStart/Preproc   UTILS.MhTdcPreprocessor
	input[0:31]     <-   ToFstart/SignalAlignment.OUTPUT[0:31]
end


The parameter file for the InterSignalAlignment might look like this:
NUM_SIGNALS              		32
NUM_BINS                 		8000
BIN_WIDTH                 		1
CALIBRATE                		1
WRITE_INTERVAL             		1000

Where the most important parameter is NUM_SIGNALS (32 PMTs in this case). The other parameters are for tuning the automatic determination of the offsets. Look into the header file for detailed description.

I've tried out a new style of writing the processor code: I wrote every in/output,parameter,etc. in CAPITAL letters. The reasoning behind this: Trying to avoid the common mistake, that one accidentally writes
num_signals
when actually
parameter(num_signals)
would be correct. The capitals are clearly enums and no normal variables.

Re: prespec git updates [message #17645 is a reply to message #17158] Fri, 12 December 2014 13:39 Go to previous messageGo to next message
miree is currently offline  miree
Messages: 71
Registered: June 2014
continuous participant
From: *ikp.physik.tu-darmstadt.de
Hello,

A severe problem in the so called "Core Tracking" algorithm was discovered by Liliana
(the name of the processor is "GammaTrackingCore" in the AGATA plugin) .
First, the algorithm was throwing out all events with only one PSA hit the full array. That reduces the statistics.
Second, it produced one additional "nonsense gamma". The second point increases the gamma multiplicity by one, but does not affect the gamma spectra.

I have rewritten the algorithm and copied the old one to "GammaTrackingCoreWithBug", in case you want to quantify the losses you had in your spectra. The changes are already pushed to the git repository.

I did the comparison for one of the 80Kr Coulex runs (everything else in the analysis is identical).
The counts in the 80Kr peak (at 616 keV):
old: 569.95 +- 45.1105
new: 688.684 +- 48.2208

index.php?t=getfile&id=8213&private=0
(the histograms are background subtracted. That is why some of the bins may contain fewer counts after correcting the mistake.)

So 20% of the counts were lost because of that mistake.
I don't know if under different conditions (higher/lower rate, heavier particles, etc.) the loss is bigger or smaller.

I'm sorry for that mistake!
Michael



  • Attachment: old_new.png
    (Size: 10.05KB, Downloaded 463 times)
Re: prespec git updates [message #17777 is a reply to message #17158] Wed, 21 January 2015 11:49 Go to previous messageGo to next message
miree is currently offline  miree
Messages: 71
Registered: June 2014
continuous participant
From: *ikp.physik.tu-darmstadt.de
Fixed the uncorrected A/Q output "AoQ_uncorrected" of FRS Id Processor.
(The uncorrected A/Q does not depend on the x-coordinates at S2 and S4.)
Re: prespec git updates [message #17782 is a reply to message #17158] Thu, 22 January 2015 14:42 Go to previous messageGo to next message
mlcortes is currently offline  mlcortes
Messages: 41
Registered: July 2014
Location: Darmstadt
continuous participant
From: *ikp.physik.tu-darmstadt.de
I included a new processor to get the ToF from the MhTDCs. Is called TofSystemMhTDCSc and is in the UTILS plugin.
It calculates differences between hits for ToF left and Tof right and takes the first combination which gives ToF inside a window.
Using this hits time left - right for each scintillator is also given


Li^2
Re: prespec git updates [message #19401 is a reply to message #17158] Mon, 01 August 2016 13:35 Go to previous message
Michael Reese is currently offline  Michael Reese
Messages: 9
Registered: August 2016
occasional visitor
From: 140.181.14*
There is a new feature in the config file parser.
It can evaluate integer expressions now.
If it finds curly braces, it will evaluate the expression inside and replace the complete string (including the curly braces) with the result of that expression. It supports common operator priority ('^' binds more than '*' or '/' which bind more than '+' and '-') and parentheses '(' and ')'.
Example:

"{2+2*3}" -> "8"
"{(2+2)*3}" -> "12"

It is in particular meant to be used in for loops, for example:
processor even_channels UTILS.SingleArray
  for $i in [0:15]
    array[$i] <- AdcCrate.adc[{2*$i}]
  end
end

processor odd_channels UTILS.SingleArray
  for $i in [0:15]
    array[$i] <- AdcCrate.adc[{2*$i+1}]
  end
end

[Updated on: Tue, 02 August 2016 18:27]

Report message to a moderator

Previous Topic: Multihit TDCs in the PreSPEC setup (CAENv1290)
Next Topic: LYCCA ToF scintillators
Goto Forum:
  


Current Time: Mon Nov 11 05:27:01 CET 2024

Total time taken to generate the page: 0.00766 seconds