previous next Up Title Contents Index

Test file.TST

The test command file contains the description of actions to be applied to the acquired data on an event by event basis. Using the names assigned in file.ACQ for each CAMAC word, it is possible to generate test or condition flags for further data treatment. At that point one can perform not only statistical tests, but computations based on the incoming data through user callable routines within the test definition file. Three groups of commands are available in the test file:
Test condition commands: A condition flag in SusiQ is created by each test condition, with the exception of PASSALL which is a predefined condition always set to .TRUE. by Susiq for each event read in. For each newly created test condition, a scalar is associated with it to keep track of the statistic of the success of that test.
Computation commands: Some basic data manipulations are provided directly within the test file. These commands provide some common functions and avoid the necessity of writing user-specific routines in FORTRAN for simple operations.
Branching commands: The structure of the test file is built on blocks. The block delimiter is the '*'. This allows jumps on condition from one block to another. Histogram incrementation will always be performed after the exit of the test section.

Test commands table

Syntax

Description

Test Conditions


GATE flag ACQvar ll hl mask

flag = .TRUE. if ll<=ACQvar.AND.mask<=hl

GATE flag EQUvar ll hl

flag = TRUE. if ll<=EQUvar<=hl

ANYB flag ACQvar mask

flag = TRUE. if (ACQvar .AND. mask) # 0

ALLB flag ACQvar mask

flag = TRUE. if (ACQvar .AND. mask) = mask

AND flag flag1 flag2 ...

flag = .TRUE. if (flag1 .AND. flag2 .AND. ...)

OR flag flag1 flag2 ...

flag = .TRUE. if (flag1 .OR. flag2 .OR. ...)

XOR flag flag1 flag2 ...

flag = .TRUE. if (flag1 .XOR. flag2 .XOR. ...)

BOX flag ACQvar1/EQUvar1 (xvar) ACQvar2/EQUvar2 (yvar) Box_file

flag = .TRUE. if (xvar,yvar) circonscribed by defined shape stored in Box_file

Computation commands


USER1

Call user routine

USER2

Call user routine

USER3

Call user routine

PION

Call user routine

PROT

Call user routine

USER4 EQUvar ACQvar I[alpha]

Call user routine, passing EQUvar, ACQvar, I[alpha] as parameters

USER5 EQUvar ACQvar [alpha]

Call user routine, passing EQUvar, ACQvar, [alpha] as parameters

SCAL EQUvar ACQ/EQUvar [alpha] [beta]

EQUvar = [alpha]*AQC/EQUvar + [beta]

DELY [Sigma] [Delta] ACQvar1 ACQvar2 [alpha]1 [alpha]2 [beta]

[Sigma] = ACQvar1 + ACQvar2, [Delta] = ([alpha]1*ACQvar1 - [alpha]2*ACQvar2) + [beta]

Branching commands


*

End block descriptor. This delimits the block number.The block number 1 is delimited by the "=" sign in the first column and the first "*" or the "**". It always has to be put after a JUMP or REJE command

JUMP flag block#

Jump to block# if flag=.TRUE.

REJE flag

reject (disregard) further test commands
if flag=.TRUE. ð go to end_of_test descriptor.

**

End_of_test descriptor. This close the test file and must always be present as the last line of the file.

Glossary


ACQvar...

Predefined variable name from file.ACQ

EQUvar..

.

Page: 15
In place of EQUvar, an newly defined name can be used under the restriction that this name will be used ONLY WITHIN the test file. i.e. NOT usedin ANY user routine. ex:
SCAL nlyvar ADC0 10. 20.
GORE goodnly nlyvar 100.
:

(Pre)defined variable name from file.EQU


flag

new condition name

flagx

previously define flag. No more than 18 flags per line

I[alpha]

Integer*4 parameter

[alpha]... [beta]...

Real*4 parameters

mask

Integer*4 parameter. The mask can be specified either in decimal (ex: 511), in octal (ex: "777) or in hexadecimal (ex: #FFF or |FFF). The value 0 can be entered as full mask value (see example)

LL

Low limit parameter

HL

High limit parameter

[Sigma]

Sum

[Delta]

Difference

Boxfile

file.BOX box definition (see BOX)

minus sign placed in front of input flagx for negation



previous next Up Title Contents Index