• Transformations

Transform setup (Setup button)
   - transformation
   - forward mapping and filter
   - triggering
Input list (left ">>" button)
Output list (right ">>" button)

Transform block applies a transformation to the input vectors of the events from DataSet blocks connected to the input (left ">>" button) and sends resulting data to the DataSet blocks connected do the output (right ">>" button). Events in the input DataSets (input, output, target and not-used vectors) remain unchanged. Events in the output DataSets are constructed according to the forward mapping and filter rules.

To add the Transform block to the project choose menu:

  • Edit - Add Component - Transform
Transform setup (Setup button)

Setup has only one independent control - block's name. Name should not contain white spaces nor "\" symbols - these characters may lead to mistakes in some cases.
Other controls are grouped in three tabs: transformation setup, forward mapping and filter setup and triggering setup.
Apply button saves all parameters but doesn't start the calculations; Go! button saves parameters and starts calculations, it is enabled only in Manual trigger mode.

   - transformation setup

Linear Transformations
Note:
DataSet connected to the input of the Transform block may be used as a Data Source (reference set used to calculate transformation parameters) simultaneously in all cases.

None: Doesn't perform any calculations. Useful when only some mixing of the vector elements is required. May be used as a buffer for delaying data in loops.

N(0,1): Normalization to zero-mean and unitary standard deviation. Uses reference
DataSet selected in the Data Source list to calculate mean values and standard deviations for each position in the event input vector. Obtained values are used to normalize input vectors of the processed events: outputi=(inputi - mi)/si.

SVD: Quotient Singular Value Decomposition. Uses reference
DataSet selected in the Data Source list to calculate mixing matrix that transforms event's input vector from the original space to the QSVD space. This is an orthogonal transformation. Axes of the QSVD space show the directions where e=ssignal/sbackground have the largest values. In this implementation axes are ordered in the descending order of max(e,e-1). Parameter nComponents selects how many most informative dimensions you need in the resulting space (note: there will be equal number of outputs accessible in forwarding tab). Transformation needs to know if the reference event is a signal or a background - this is recognized by the target value (target vector must contain only one element in this case): following values are considered as a signal: 1.0, 0.95 and 0.9; and for a background it is: 0.1, 0.05, 0.0, -0.9, -0.95, -1.0.

ICA: Independent Component Analysis. Uses reference
DataSet selected in the Data Source list to calculate mixing matrix that transforms event's input vector from the original space to the ICA space.  This is a non-orthogonal transformation. Axes of the ICA space show the directions where a measure of non-gausianity have the largest values. Data distributions in the directions of ICA axes are forced to be uncorrelated one to each other, if this condition cannot be met - transformation will be stopped and message window will inform you about the reason. No information about signal/background is required and there are no restrictions on the target vector length. Axes are ordered in the descending order of kurtosis value k=EX4 - 3(EX2)2 and you can select the number of the most "independent" dimensions (nComponents parameter).

TItem: Transformation based on the reference
Transform block selected in the Data Source list. Does exactly the same calculations as the reference.

lock: Locks the transformation's parameters. If checked when QSVD or ICA is selected - mixing matrix is calculated only once (if it was ready before locking, the existing matrix will be preserved). When project is saved to the file with locked mixing matrix - this matrix is written to the project file and it will be used next time the file is opened. This is particularly useful for ICA decomposition, which may give different results on each run.

Fourier Transformation

FFTspace: Transformation of the event's input vector to the frequency domain. Resulting vector consists of an amplitude spectrum followed by a phase spectrum.

FFTflt: FFT filter, event's input vector is filtered in the frequency domain and then inverse FFT is performed. Frequencies below the
LoBound and above the HiBound threshold are removed.


clear input: Input
DataSets will be cleared after processing.
clear output: Output
DataSets will be cleared before processing. If unchecked - new events will be attached to the existing ones.

   - forward mapping and filter setup

When transformation is applied to an event, its input vector is processed. Resulting output vector is used only to compose vectors of the destination events and it is not stored in the source event's output vector. Destination events in each output DataSet may be composed in a different way. Select a DataSet in the Output Data Set list and put desired formatting strings for destination event vectors. In the image above there is a simple example:
- destination event input vector will be composed of the first and second element of the source event (temporary) output vector;
- destination event output vector will be created with the length=1 and it will be initialized to 0.0 (not-used entry "
n" without the index);
- destination event target vector will be created from the first element of the source event target vector;
- destination event not-used vector will not be allocated.
Events stored in the output
DataSets can be filtered (in the example from the image above filter is turned off).

   - triggering setup

If Manual mode is selected, Go! button is enabled and it releases calculations. If Internal mode is chosen - Source button is enabled and it allows to select source of the trigger through the common Connection Add dialog window (Go! button is disabled); processing starts when one of the selected sources finished its own task.

--top--   --up--

Input list (left ">>" button)

Left button ">>" holds the list of the source DataSets; opens Connection Add dialog window. Double-click on the item from the Available list adds new connection. Double-click on the item from the Added list removes the connection.

--top--   --up--

Output list (right ">>" button)

Connects the output of the Transform block to the destination DataSets. When pushed, it opens common Connection Add dialog window.

--top--   --up--