-
Notifications
You must be signed in to change notification settings - Fork 28
Utkscan Configuration
Utkscan requires a configuration file. This guide will walk you through all of the various nodes that can be present in the file.
This is the opening of the XML file. The configuration node is the root node for the file. If the configuration node is missing, then the entire thing goes belly up.
<?xml version="1.0" encoding="utf-8"?>
<Configuration>
<!-- All of the other nodes must go within this node -->
</Configuration>This node is not used by the software in any way. This node simply serves as a record of who to blame contact in
the event that you want to use this configuration file. The date, if kept current, can serve as a fingerprint for how
out of date you might be.
<Author>
<Name>T. T. King</Name>
<Email> email AT example DOT com </Email>
<Date>June 26, 2019</Date>
</Author>This node contains a description of your experiment. You can add all kinds of information into this node that you may want to keep associated with this configuration file.
<Description>
A timing setup to measure time difference between two pulser signals
</Description>The Global node contains only three options. The EventWidth nodes is the critical node, and the
program will throw an invalid_argument if it is are missing.
EventWidth has two attributes: unit and value. The unit can be s, ms, us or ns. value can
take any positive floating point value.
This will enable or disable plotting of the raw histograms 1-1900 in the DAMM histogram. You will still get most of
the 1800 IDs since they are always useful. It has a single attribute, value, which is a boolean.
This will enable or disable declaration and plotting of the DAMM histograms. This value will override the HasRaw. If using utkscan the histogram(.his) file will be size = 0; and if using utkscanor it will make a single small histogram to satisfy a sanity check in the FORTRAN code. For utkscan, setting this flag as false will result in an greatly improved scanning efficiency (i.e. it will scan the files faster); while for utkscanor this effect is smaller but still noticeable. It has a single attribute, value, which is a boolean.
<Global>
<EventWidth unit="s" value="1e-6"/>
<HasRaw value="true"/>
<DammPlots value="true"/>
</Global>The Reject node sets rejection regions for the data. More than one rejection region can be defined. The values are always provided in seconds. Any events that arrive within the specified time windows will be ignored and skipped by the analysis. They will still be unpacked.
<Reject>
<Time start="300" end="500"/>
<Time start="10000" end="16000"/>
</Reject>The DetectorDriver node setups the main trace analysis, detector processing, and experiment specific processing. It is one of the most important nodes if you want to do any complicated analysis. There are two children Processor and Analyzer. Analyzers are responsible for performing trace analysis. Processors perform detector specific analysis (ex. VANDLE or DSSD). A subset of processors are dedicated to experiment specific analysis.
This node is where we enable the system wide ROOT output, and set the maximum ROOT file size if applicable. The ROOT output is currently only supported on branches at or ahead of the dev branch. More information on the system wide ROOT output framework is here.
| Attribute | Default Value | Required? | Description |
|---|---|---|---|
| SysRoot | false | No | Enables the ROOT output |
| rFileSize | 20 | No | Sets the ROOT file rollover size in GB. Similar to the -1,-2, etc. mechanism in the ldfs |
<DetectorDriver SysRoot="false" rFileSize="20">This analyzer performs a CFD on the trace. Care should be taken when using this for timing since the CFD doesn't explicitly take into account non-linearities in the leading edge of the waveform.
If this analyzer is defined the WaveformAnalyzer must be declared before it.
| Attribute | Default Value | Required? | Description |
|---|---|---|---|
| type | poly | Y | The type of Cfd analysis : polynomial or traditional |
| ignored | " " | N | A CSV containing types, types:subtypes, types:subtypes:groups to ignore in the analyzer |
This is the main workhorse for the High Resolution Timing analysis. The recommended driver is gsl. The root based driver tends to be slow since there's a lot more complexity involved. The ignore list only supports increasing specificity, i.e. vandle:medium not just medium.
| Attribute | Default Value | Required? | Description |
|---|---|---|---|
| type | gsl | Y | The fitting driver : gsl or root |
| ignored | " " | N | A CSV containing types, types:subtypes, types:subtypes:groups to ignore in the analyzer |
If this analyzer is defined the WaveformAnalyzer must be declared before it.
This analyzer finds the decay constant of the trace. It may or may not work right.
This is a simple class that will plot traces as they are defined by the attributes listed below. Useful is you want to plot traces from only a specific type of detector.
| Attribute | Default Value | Required? | Description |
|---|---|---|---|
| type | None | N | |
| subtype | None | N | |
| tag | trace | N |
This analyzer provides an interface to the TraceFilter class, which performs trapezoidal filtering on the traces. It calculates both a trigger and energy filter. The method of this filter is identical to that on-board the Pixie-16 modules. Note that the energy calculated here will never match the on-board energy.
| Attribute | Default Value | Required? | Description |
|---|---|---|---|
| FindPileup | false | N | Tells the analyzer to look for pileups in the filters. |
This is a quick analyzer that simply finds the maximum based on a weighted average. This method is not recommended for signals that are not approximately Gaussian.
If this analyzer is defined the WaveformAnalyzer must be declared before it.
This is the main analyzer for any trace analysis. It finds the waveform, calculates QDCs, averages the baseline, calculates the standard deviation of the baseline, etc. The ignore list only supports increasing specificity, i.e. vandle:medium not just medium.
Define this before any other analyzer.
| Attribute | Default Value | Required? | Description |
|---|---|---|---|
| ignored | " " | N | A CSV containing types, types:subtypes, types:subtypes:groups to ignore in the analyzer |
This processor analyzes the beta_scint type. It is primarily used in LeRIBSS style experiments when we only had beta detectors that used one channel. This processor will be replaced by the SingleBetaProcessor.
| Attribute | Default Value | Required? | Description |
|---|---|---|---|
| gamma_beta_limit | 200.e-9 | N | Defines the limit of time between coincident betas and gammas |
| energy_contraction | 1.0 | N | Defines the energy contraction used to plot |
This processor is used to calibrate clovers. It only operates on the clover type.
| Attribute | Default Value | Required? | Description |
|---|---|---|---|
| gamma_threshold | 1.0 | N | Sets the threshold for the plots |
| low_ratio | 1.0 | N | Sets the low ratio for low and high gain matching |
| high_ratio | 3.0 | N | Sets the high ratio for low and high gain matching |
This processor is a slimmed down version of the CloverProcessor, intended for experiments at Fragmentation facilities where we do not have specific logic signals needed by the CloverProcessor. However, if the user is only interested in the Root Output of PAASS then the CloverProcessor and this processor are identical. Furthermore, this processor should be more efficient due to the significantly fewer DAMM histograms. The CloverFragProcessor and the CloverProcessor share a DAMM plot id range, and there for are mutually exclusive. This processor operates only on the clover type.
This processor is supported by the System Wide ROOT output.
This processor is exclusive with the CloverProcessor due to a shared DAMMID namespace
This processor is heavily modified for LeRIBSS style experiments. It will operate only on the clover type. It will provide addback spectra, and allow for gamma-gamma coincidences.
This processor is supported by the System Wide ROOT output.
This processor is exclusive with the CloverProcessor due to a shared DAMMID namespace
| Attribute | Default Value | Required? | Description |
|---|---|---|---|
| gamma_threshold | 1.0 | N | Sets the threshold for the plots |
| low_ratio | 1.0 | N | Sets the low ratio for low and high gain matching |
| high_ratio | 3.0 | N | Sets the high ratio for low and high gain matching |
| sub_event | 100e-9 | N | Sets the width of the sub event for narrowing correlations. |
| gamma_beta_limit | 200e-9 | N | Sets the time limit for beta-gamma coincidences |
| gamma_gamma_limit | 200e-9 | N | Sets the time limit for gamma-gamma coincidences |
| cycle_gate1_min | 0.0 | N | Sets the lower limit for cycle time plots. |
| cycle_gate1_max | 0.0 | N | Sets the upper limit for cycle time plots. |
| cycle_gate2_min | 0.0 | N | Sets the lower limit for cycle time plots. |
| cycle_gate2_max | 0.0 | N | Sets the upper limit for cycle time plots. |
This only analyzes the beta:double type/subtype. The corresponding channels must be tagged left or right. Additionally, if there is more than one DoubleBeta detector in the setup, they MUST be mapped for each detector in order. This order is either left/right or right/left and is the same as for the vandle type. These types of beta detectors were implemented for use with VANDLE. This class can provide a relatively simple way to look at any detector that has two signals. This processor is supported by the System Wide ROOT output.
Designed for DSSD detectors. Only works on the dssd_front and dssd_back types.
This processor is used for RIKEN experiments to check the timestamp synchronization between BigRIPS and Pixie. It broadcasts the current external timestamp over the network for difference plotting by the BigRIPS DAQ.
| Attribute | Default Value | Required? | Description |
|---|---|---|---|
| type | none | Yes | Channel Type which has the External Timestamp we want to broadcast |
| host | localhost | Yes | Hostname of BigRIPS DAQ to send the ExtTS to |
| slot | 0 | No | Module corresponding to the channel with the ExtTs |
| channel | 0 | No | Channel corresponding to the channel with the ExtTs |
| port | 12345 | No | Port to send the packets to |
| buffSize | 64 | No | Packet buffer size |
Processor for handling the high-efficency gamma-ray detectors used with VANDLE. It operates on the gscint type. This processor tries to replicate as much of the CloverProcessor as possible, while still remaining usable for Fragmentation type experiments. It does decay curves and addback spectra for each of the specified subtypes. The known subtypes are "smallhag", "bighag", "nai"; these correspond to the 2" HAGRiD, 3" HAGRiD, and the large volume NaI used at ORNl and the NSCL in 2016. Root ouput does NOT include the addback. In addition to the decay curves this processor creates spectra for monitoring drift in the scintillators. These plots use either the BunchingTime or the TreeCorelator's Cycle as the binning, and have a maximum of 2048 time bins; i.e. 2048 tape cycles, or ~17 hours with a 30 second BunchingTime. This processor also has medium resolution beta gating. The idea was to reduce the internal background from the HAGRiD by introducing a tighter gate on the beta; this is done on the level of the Pixie Event Time so trace fitting is not required.
This processor is supported by the System Wide ROOT output.
This processor is exclusive with the GammaScintFragProcessor, due to a shared DAMMID namespace
| Attribute | Default Value | Required? | Description |
|---|---|---|---|
| types | smallhag | No | CSV of used subtypes ("smallhag","bighag", or "nai") |
| timeScales | none | No | CSV of time binning for decay curve plots ( ** NOTE needs EvsT==true, also 10ms is always plotted if EvsT is enabled.)** |
| gsroot | DetectorDriver's SysRoot Option | No | Override PixieTree filling if DD SysRoot is enabled. if it is disabled this option does nothing |
| BunchingTime | 30 | No | Time in seconds for "fake" cycles at fragmentation facilities |
| EvsT | true | No | Bool, Do you want the Scint Energy vs time plots (both decay curve style and drift tracking style) These add a lot of bulk to the .his file |
| MRBWin | 0.5e-6 | No | Time in seconds for the medium resolution beta gating. |
| FacilityType | frag | No | "frag" or "ISOL" use the bunching time or the "Cycle" to mark the start of the EvsT plots. |
| NaIThresh | 10 | No | Addback Threshold for NaI |
| NaISubEvtWin | 0.5e-6 | No | Addback Sub Event Window in seconds for NaI |
| SmallHagThresh | 10 | No | Addback Threshold for SmallHag |
| SmallHagSubEvtWin | 0.5e-6 | No | Addback Sub Event Window in seconds for SmallHag |
| BigHagThresh | 10 | No | Addback Threshold for BigHag |
| BigHagSubEvtWin | 0.5e-6 | No | Addback Sub Event Window in seconds for BigHag |
This is a new, faster processor for the gscint type gamma-ray detectors. This version of the processor is the simplier version of the GammaScintProcessor. It does not do much in the way of DAMM plotting, as it is more geared towards speed and ROOT based post-analysis. It makes totals, BG totals, dynode totals (for the HAGRiDs, and if the channel is tagged with "dy"), dynode BG totals, and the long time scale drift tracking (See the GammaScintProcessor description for specifics).
This processor is supported by the System Wide ROOT output.
This processor is exclusive with the GammaScintProcessor, due to a shared DAMMID namespace
| Attribute | Default Value | Required? | Description |
|---|---|---|---|
| types | smallhag | No | CSV of used subtypes ("smallhag","bighag", or "nai") |
| gsroot | DetectorDriver's SysRoot Option | No | Override PixieTree filling if DD SysRoot is enabled. If it is disabled, this option does nothing |
| BunchingTime | 30 | No | Time in seconds for "fake" cycles at fragmentation facilities |
| FacilityType | frag | No | "frag" or "ISOL" use the bunching time or the "Cycle" to mark the start of the EvsT plots. |
A simple processor that handles only the ge type and plots only the calibrated energies.
A processor designed to work with detectors like 3Hen. Only works with the 3hen type.
Designed for the SHE experiments. Works on the ssd type.
Analyzes ion chambers. Works with the ion_chamber type
Processes data for liquid scintillators. Does some basic discrimination between particle types. Works with the liquid_scint type.
This processor is supported by the System Wide ROOT output. It should be noted that this processor uses the vandle_vec_ for its ROOT output. The structures are appended so the VandleProcessor and this processor can be run at the same time.
Works with the ssd type and provides some basic position functionality.
While this processor's constructor can take arguments we do not currently use them for anything. Use this to handle
beam pulsing, tape moves, and things like that. Works with the logic, timeclass, and mtc types.
This processor is supported by the System Wide ROOT output. Additionally, the status of the various Logic signals is filled into the TTree for each Pixie Event.
Works with the mcp class. Performs analysis on MCP signals.
Does some analysis of neutron detectors. Works with the neutron_scint type.
This processor operates on the pid type and is used with the Particle Identification detectors for FRIB where the full PID stack is in the Pixie Data stream. This is unlike at RIKEN, for example, where we only have a partial stack of the PID processors, and require data stream merging. This processor might be renamed to the "FribPidProcessor" given how specialized it is for FRIB, but this is to be decided
This processor is supported by the System Wide ROOT output.
| Attribute | Default Value | Required? | Description |
|---|---|---|---|
| yso_thresh | 10 | No | Threshold for the implant detector, low gain dynode to count as an Implant. (incase of overlap between the low and high gain branches) |
| fit_thresh | 10 | No | Threshold for the "Front Ion Trigger" to count as an implant in this detector. |
| rit_thresh | 10 | No | Threshold for the "Rear Ion Trigger" to count as an implant in this detector. |
| tofflip | false | No | Invert the time of flight (tof) calculation for PID plots. |
Works with the ssd type. Provides some pretty intensive position information for the SHE experiments.
Works with the pspmt type. Provides position information, for the PSPMT along with a hit pattern. The 1018 and 1730 Voltage Dividers use the corner type Anger Logic while the 0926 utilizes the side version. 1018 and 1730 are the square boards used for the JAEA and RIKEN experiments, and 0296 is the round boards used in the E14060 experiment at the NSCL in 2016. This processor also handles the light ion veto as well as the ion trigger (used in RIBF136) via the veto and ion subtypes. Due to RIBF136, it also takes some inbeam detectors (desi and f11) which are used for implant decay tagging. Eventually every detector that is not a true PSPMT implant detector will be removed and incorporated into a beamline/auxiliary implant detector processor.
This processor is supported by the System Wide ROOT output. With both a "Summary" and the standard PSPMT output
| Attribute | Default Value | Required? | Description |
|---|---|---|---|
| vd | "SIB062_026" | No | Can be "SIB064_1018" or "SIB064_1730" or "SIB064_0926". |
| yso_scale | 500.0 | No | Scale for DAMM anode position plots |
| yso_offset | 500 | No | Offet to center for DAMM anode position plots |
| yso_threshold | 50 | No | Threshold on the high gain ("beta") anode energy |
| front_scale | 500.0 | No | Scale for DAMM ion trigger position plots |
| front_offset | 500 | No | Offet to center for DAMM ion trigger position plots |
| front_threshold | 50 | No | Threshold on the ion trigger energy |
| rotation | 0 | No | Rotate the DAMM anode position plot (in degrees) |
This processor is intended to be used in the development of new detectors. It operates on the RD type, and outputs as much as possible from the ChanEvent into the standard ROOT output. This processor has one attribute "include" which is a comma separated list of extra "type" and / or "type:subtype" combinations to add to the root output. This minimizes the changes needed to swap to the "rootdev_vec_" output or if supplemental information about a channel is needed in addition to the standard output if any exists.
This list includes energy, rawEnergy, timeSansCfd, time, detNum, modNum, chanNum, subtype, group, pileup, saturation, trace, tqdc, maxPos, maxVal, highResTime, qdcSums. Some of these options require certain Analyzers or certain options to be enabled during acquisition. Users are encouraged to look at the ProcessorRootStruc.hpp for more information.
| Attribute | Default Value | Required? | Description |
|---|---|---|---|
| include | None | No | Extra type / type:subtype to include in the "rootdev_vec_" output |
This processor doesn't analyze any specific detector types. It was originally designed to provide some rudimentary ROOT output for the processors. This class has been replaced by the RootDevProcessor.
This processor operates on the beta:single type:subtype, for single ended beta detectors. It is a simple processor to provide a start for VANDLE. It has a few diagnostic DAMM plots, but thats about it. It is closely based on the DoubleBetaProcessor.
This Processor is currently undergoing final testing and will be merged in to the dev branch soon
Works with the tvandle class. Doesn't really do anything additional to the VANDLE processor.
Works with the template type.
This is the main processor for VANDLE analysis. Works on the vandle type. Detectors such as beta_scint or beta:double or beta:single that have the start tag will act as "start" signals for the ToF analysis.
This processor is supported by the System Wide ROOT output.
| Attribute | Default Value | Required? | Description |
|---|---|---|---|
| types | medium | N | CSV telling the processor what types of VANDLE to expect. |
| res | 2.0 | N | Sets the offset for DAMM histograms |
| offset | 1000 | N | Sets the resolution of DAMM histograms |
| NumStarts | 1 | N | Sets the number of starts to expect |
| compression | 1.0 | N | Sets the compression factor for the QDC plots. |
| idealfp | 100 | N | Ideal Flight Path in cm for CorTof (Geometry corrected ToF) |
| qdcmin | 0 | N | QDC cut for the root output (Does Not affect DAMM plotting). It was used to speed up near-line data merging for the RIBF136 experiment, by removing low QDC events. |
| tofcut | -1000 | N | Low ToF cut for the ROOT output (Does Not affect DAMM plotting). It was used to speed up near-line data merging for the RIBF136 experiment, by removing the gamma flash. |
These processors are specific to experiments. They often have several associated types depending on what needed to be accomplished.
This processor is for the ANL 1471 experiment conducted at Argonne National Lab in the beginning of 2015. Those data serve as the basis for the thesis of S. Z. Taylor.
This is the experiment processor for the (d,n) studies using MoNA-LISA and VANDLE that was headed up by W. A. Peters.
This experiment was carried out at ISOLDE in the summer of 2016. The spokesperson for that experiment was A. Gottardo and R. Grzywacz.
PidProcessor for RIBF168. Heavily based on the PidProcessor, but stripped down and specialized for the things we had for RIBF168.
This processor is supported by the System Wide ROOT output.
| Attribute | Default Value | Required? | Description |
|---|---|---|---|
| yso_thresh | 10 | No | Threshold for the implant detector, low gain dynode to count as an Implant. (incase of overlap between the low and high gain branches) |
| fit_thresh | 10 | No | Threshold for the "Front Ion Trigger" to count as an implant in this detector. |
| rit_thresh | 10 | No | Threshold for the "Rear Ion Trigger" to count as an implant in this detector. |
| tofflip | false | No | Invert the time of flight (tof) calculation for PID plots. |
This is a basic processor written by S. V. Paulauskas that can be used to do some basic timing analysis of just two channels.
This processor is used to analyze data from the VANDLE 2012 commissioning experiment at LeRIBSS in the HRIBF at ORNL. These data served as the thesis for S. V. Paulauskas
<DetectorDriver>
<Analyzer name="WaveformAnalyzer"/>
<Analyzer name="FittingAnalyzer" type="gsl"/>
<Processor name="TemplateProcessor"/>
<Processor name="GeProcessor"/>
<Processor name="TemplateExpProcessor"/>
</DetectorDriver>The map node is most likely the most important node contained in the configuration file. Use it to map Module/Channel combinations to a specific type/subtype of detector. There are quite a number of options here and this can be the biggest source of headaches for users. Read this section carefully and let us know if you find any errors. The Map node has four required and one optional attributes. For the four required attributes Module and/or Channel specific overrides are allowed (see the Module and Channel sections below) but we must still set a default. frequency is the module's sampling frequency, i.e. 250 MS/s; and firmware is the version of the firmware that was loaded into the module during acquisition, ex. 30474.
As of July 26th 2024 revision is also required to be here instead of the node. This change came about to enable mixed frequency event building, and because the frequency is not a unique enough identifier to convert PIXIE's 'EVTTIME' to ns anymore.
We are in the process of deprecating the option of setting these via the command line as we move towards full support of mixed systems (i.e. Rev F and Rev H or 250 MS/s and 500 MS/s in the same crate).
| Attribute | Default Value | Required? | Description |
|---|---|---|---|
| verbose | false | No | If "true" it will output all Modules/Channels defined in the Map node along with their calibrations and settings. |
| TraceDelay | None | Yes | This is the default Trace Delay. Units are ns. |
| firmware | None | Yes | This is the default firmware to be used. |
| frequency | None | Yes | This is the default frequency of the modules. |
| revision | None | Yes | This is the default revision of the modules. ("D","F","H") |
<Map verbose="true" TraceDelay="248" firmware="34300" frequency="250">
<!-- All of the Modules and channels will get defined in here. -->
</Map>There is one recognized child, Module. The Module node has three attributes : number, frequency,
and firmware. Number represents the number of the module in the system (zero counting). For example, the module in Slot 2 of the crate will be number="0". If firmware and frequency are omitted then the defaults from the <Map> parent are used. Every Module that was in the crate for acquisition must be defined with at least one channel; the ignore:ignore type:subtype combination is useful for this.
| Attribute | Default Value | Required? | Description |
|---|---|---|---|
| number | None | Y | Number of the module in the system. |
| firmware | Map Node: firmware | N | Firmware override loaded on the module |
| frequency | Map Node: frequency | N | Sampling ADC frequency override of the module |
| TraceDelay | Map Node: Trace Delay | N | Trace Delay override for this module. Units are ns. |
| revision | Map Node: revision | N | Pixie16 board revision override for this module |
<Module number="0" frequency="" firmware="" TraceDelay="" revision="">
<!-- All of the channels will go here. -->
</Module>Module has a single recognized child, Channel. Channel has five attributes: number, type,
subtype, group and tags. The first three attributes are required. tags is an optional attribute that can be used to enable special behavior. You can use any combination of type/subtype in the channel specifications, there is no restriction. Only certain types/subtypes are able to be processed by the predefined processors. Please see the Detector Driver section for more information on the types that the Processors can process. The group is intended to be a 3rd tier of specificity for a given channel. A clearer name for this option is being considered and user input is welcome. This wiki will be updated when/if a new name is chosen.
| Attribute | Default Value | Required? | Description |
|---|---|---|---|
| number | None | Y | The physical channel number. |
| type | None | Y | Detector type to use for analysis. |
| subtype | None | Y | Detector subtype to use for analysis. |
| group | None | N | Detector group to use for analysis. |
| tags | None | N | Tags for special processing. |
NOTE1: There is a special type/subtype combination ignore:ignore that will cause the channel to be ignored in the
analysis.
NOTE2: The start tag notifies the VandleProcessor that this channel will be used for ToF analysis.
NOTE3: There is an additional type called generic that provides a way to access information for detectors that may not fall into a specific processor category.
Energy calibrations are used to calibrate the on-board energy, which is stored in the private variable XiaData::energy_. Omitting this node assumes no calibration, and the calibration will return 0. The function coefficients must be input in ascending power order.
This node has three attributes: model, min, and max. Min and max are optional attributes. If the
limits are not provided a range of [0,inf] will be assumed. Multiple ranges can be defined, and they can overlap. If
ranges overlap then we use the first defined model.
| Attribute | Default Value | Required? | Description |
|---|---|---|---|
| model | None | Y | The calibration model that you want. Choose from the list below. |
| min | 0 | N | The low bound for the calibration. |
| max | inf | N | The upper bound for the calculation. |
| Name | Free Params | Equation | Notes |
|---|---|---|---|
| linear | 2 | ||
| quadratic | 3 | ||
| cubic | 4 | ||
| polynomial | n | Generalized version of first 3; can be slowwww | |
| hyplin | 3 | Suitable for low energy calibrations |
<Calibration model="quadratic" min="0" max="100">
-0.912 0.625 1.2390e-5
</Calibration>Walk calibrations adjust for time walk in the on-board trigger filter. If you are performing timing using the trigger filter or the high resolution timing then you should consider a walk correction. Omitting this node assumes no calibration, and the calibration will return 0. The function coefficients must be input in ascending power order.
These models expect times to be in pixie "natural" units, i.e. clock-ticks.
This node has three attributes: model, min, and max. Min and max are optional attributes. If the
limits are not provided a range of [0,inf] will be assumed. Multiple ranges can be defined, and they can overlap. If
ranges overlap then we use the first defined model.
| Attribute | Default Value | Required? | Description |
|---|---|---|---|
| model | None | Y | The calibration model that you want. Choose from the list below. |
| min | 0 | N | The low bound for the calibration. |
| max | inf | N | The upper bound for the calculation. |
| Name | Free Params | Equation | Notes |
|---|---|---|---|
| A | 5 | Derived for Clovers/Betas in 85,86Ga exp. | |
| B1 | 4 | For low energy Clovers/Beta in 93Br | |
| B2 | 3 | For mid-high energy Clovers/Beta in 93Br | |
| VS | 0 | For use with vandle/small w/ "default" fit parameters, Rev F | |
| VD | 0 | For use with vandle/small w/ "default" fit parameters, Rev D |
<Channel number="0" type="" subtype="" tags="">
<Walk model="A">
2.322 12487.727 432.257 19.268 140.189
</Walk>
</Channel>This node contains information related to trace analysis. The WaveformAnalyzer uses this information to perform its calculations. This node is always parsed for the vandle type and the values are set to the vandle:medium by default. So even if it is not here we set the correct values for VANDLE.
| Attribute | Default Value | Required? | Description |
|---|---|---|---|
| delay | Module specific or Default | No | Tells us where we should start looking for the waveform. Units are ns. |
| DiscriminationStart | 3 | N | Where we should start our secondary sum of the waveform for discrimination. |
| baselineThreshold | 3 | N | The threshold for the standard deviation of the baseline for trace rejection. |
| RangeLow | 5 | N | This is the low range for the waveform measured from the maximum. |
| RangeHigh | 10 | N | This is the high range for the waveform measured from the maximum. |
NOTE : The waveform range is defined as [MaxPosition - Low, MaxPosition + High].
<Channel number="0" type="" subtype="" tags="">
<Trace delay="" baselineThreshold="" RangeLow="" RangeHigh=""/>
</Channel>This node contains information necessary for the high resolution fitting of traces. This node is always parsed for the vandle type and the values are set to the vandle:medium by default. So even if it is not here we set the correct values for VANDLE. I recommend only the Vandle Timing Function.
| Attribute | Default Value | Required? | Description |
|---|---|---|---|
| beta | 0.254373 | N | The first parameter for the fitting function. |
| gamma | 0.208072 | N | The second parameter for the fitting function. |
<Channel number="0" type="" subtype="" tags="">
<Fit beta="0.254373" gamma="0.208072"/>
</Channel>This node provides the arguments necessary for CFD analysis of traces. You can learn more about how CFDs work here.
| Attribute | Default Value | Required? | Description |
|---|---|---|---|
| f | 0.8 | N | The fraction for scaling the CFD. |
| d | 1 | N | The delay of the CFD |
| l | 0 | N | Not currently used. |
<Channel number="0" type="" subtype="" tags="">
<Cfd f="125" d="125" l="10"/>
</Channel>This node provides information necessary for trace filtering. The two children Trigger and Energy must be defined.
They each have the same arguments l, g, and t. These arguments must be provided in units of ns.
| Attribute | Default Value | Required? | Description |
|---|---|---|---|
| l | 100 | Y | Risetime to use for the filter. |
| g | 100 | Y | Flattop for the filter. |
| t | 1 | Y | Threshold (Trigger) or Tau (Energy) of the filter. |
| unit | ns | N | Used just to remind the user of the units. |
<Channel number="0" type="" subtype="" tags="">
<Filter>
<Trigger l="125" g="125" t="10" unit="ns"/>
<Energy l="300" g="300" t="50" unit="ns"/>
</Filter>
</Channel><Map verbose_map="True" verbose_calibration="True" verbose_walk="True">
<Module number="0" frequency="250" firmware="30474">
<Channel number="0" type="ge" subtype="clover_high">
<Calibration model="quadratic" min="0" max="100"> -0.912 0.625 1.2390e-5 </Calibration>
<Calibration model="linear" min="100"> 0.1 0.515 </Calibration>
<Walk model="A"> 2.322 12487.727 432.257 19.268 140.189 </Walk>
<Filter>
<Trigger l="125" g="125" t="10" unit="ns"/>
<Energy l="300" g="300" t="50" unit="ns"/>
</Filter>
</Channel>
<Channel number="1" type="beta_scint" subtype="beta" tags="start">
<Trace delay="85" baselineThreshold="3.0" RangeLow="5" RangeHigh="10"/>
<Cfd f="0.8" d="1" l="0"/>
</Channel>
<Channel number="2" type="vandle" subtype="medium" tags="left">
<Trace delay="85" baselineThreshold="3.0" RangeLow="5" RangeHigh="10"/>
<Fit beta="0.254373" gamma="0.208072"/>
</Channel>
<Channel number="3" type="vandle" subtype="medium" tags="right">
<Trace delay="85" baselineThreshold="3.0" RangeLow="5" RangeHigh="10"/>
<Fit beta="0.254373" gamma="0.208072"/>
You can also add notes like this, that the program will ignore.
</Channel>
</Module>
</Map>We use time calibrations to calibrate the VANDLE ToF spectra. These calibrations are discussed in more detail on the Time Calibrations page. If there is a request for a bar that doesn't have a calibration the calibration will return 0.
<TimeCalibration verbose_timing="False">
<Vandle>
<small>
<Bar number="25" lroffset="" z0="" xoffset="" zoffset="">
<TofOffset location="" offset=""/>
</Bar>
</small>
</Vandle>
</TimeCalibration>This node contains information that's only useful to the VandleProcessor. These values are always set weather or not the node exists in the xml. This node is there for used to override one or more of the parameters if necessary.
NOTE: There is currently no error checking on the units for these parameters.
- SpeedOfLightSmall - Speed of light in a small VANDLE module in cm/ns
- SpeedOfLightMedium - Speed of light in a medium VANDLE module in cm/ns
- SpeedOfLightBig - Speed of light in a big VANDLE module in cm/ns
<Vandle>
<SpeedOfLightBig unit="cm/ns" value="15.22998"/>
<SpeedOfLightMedium unit="cm/ns" value="15.5"/>
<SpeedOfLightSmall unit="cm/ns" value="12.65822"/>
</Vandle>Editor's note: This section needs to be updated and expanded for clarity.
Create here tree of correlations for the experiment. The root element of . Basic places are created automatically from entries in the Map section using type_subtype_location pattern.
Each element has a following attributes:
| Attribute | Default Value | Required? | Description |
|---|---|---|---|
| name | None | Y | Tokens are separated by '_'. The last token is an int (X) or a range (Y-Z) |
| type | See Notes | N | A type from the following table. Missing or empty ("") type assumes it exists. |
| replace | false | N | Will replace an existing place with the one defined here. |
| fifo | 2 | N | Depth of the place's FIFO. |
| low_limit | ns | N | Required for PlaceThreshold and PlaceThresholdOR, defines lower threshold limit. |
| high_limit | ns | N | Required for PlaceThreshold and PlaceThresholdOR, defines upper threshold limit. |
| coincidence | true | N | Defines what type of relationship with the parent node. |
| init | false | N | |
| coincidence | true | N | |
| reset | true | N |
| Type | Description |
|---|---|
| PlaceDetector | A place that defines either a physical or virtual detector type. |
| PlaceThreshold | A place whose children are only added to the FIFO if they fall in the threshold range. |
| PlaceOR | A place that is a logical OR between all children. |
| PlaceAND | A place that is a logical AND between all children. |
| PlacePlaceThresholdOR | A place that is a combination of an OR and Threshold. |
| PlaceCounter | A place that simply counts when the children are present. |
NOTE: There may be places missing from this list.
<TreeCorrelator name="root" verbose="False">
<Place type="PlaceOR" name="Beta" fifo="10">
<Place type="PlaceThreshold" name="template_start_0" low_limit="10.0" high_limit="16382" fifo="5" replace="true"/>
</Place>
<Place type="PlaceOR" name="Gamma">
<Place type="PlaceOR" name="Clover0">
<Place type="PlaceThreshold" name="ge_clover_high_0-3" low_limit="20.0" high_limit="99999" replace="true"/>
</Place>
</Place>
<Place type="PlaceAND" name="GammaWOBeta">
<Place type="" name="Gamma" coincidence="true"/>
<Place type="" name="Beta" fifo="10" coincidence="false"/>
</Place>
<Place type="PlaceDetector" name="TapeMove" reset="false"/>
<Place type="PlaceDetector" name="Beam" reset="false"/>
<Place type="PlaceDetector" name="Cycle" reset="false"/>
</TreeCorrelator>Configuration of Notebook object that saves handy notes (things that are not easy to present on graph e.g. single event details).
| Attribute | Default Value | Required? | Description |
|---|---|---|---|
| file | None | Y | File name that you want to write to. |
| mode | a | N | 'a' for append, 'r' for replace |
<NoteBook file='notes.txt' mode='a'/>Pixie Acquisition and Analysis Software Suite
- Home
- Quick Start
- FAQ
- Installation
- Configuration
- Acquisition
- Analysis
- Troubleshooting
- Developers
- How To