Return to the Test of Variables of Attention - Auditory Presentation page
___________________________________________________________________________________________________________________	

							T.O.V.A. (Test of Variables of Attention) - auditory stimuli
___________________________________________________________________________________________________________________	

last updated:  03-12-2020 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC
Script Copyright © 03-12-2020 Millisecond Software
___________________________________________________________________________________________________________________
BACKGROUND INFO 	
___________________________________________________________________________________________________________________
This script implements and administers: T.O.V.A. (Test of Variables of Attention), 
a computerized test of sustained attention and impulsivity with auditory stimuli.
The T.o.V.A. is a Continuous Performance Test (CPT) with two simple tones
(high/low).

Reference:
Greenberg, L.M., & Waldman, I.D. (1993). Developmental normative data on the Test of Variable of
Attention (T.O.V.A.™). Journal of Child Psychology and Psychiatry, 34, 1019–1030.

Greenberg, L.M., Kindschi, C.L., Dupuy, T.R., Hughes, S.J. (2016). TOVA:
Test of Variable Attention. Clinical Manual. 
http://files.tovatest.com/documentation/8/Clinical%20Manual.pdf

___________________________________________________________________________________________________________________
TASK DESCRIPTION	
___________________________________________________________________________________________________________________	
Participants are presented 2 different tones (each 100ms) at a constant pace (every 2s). 
If the stimulus is a target (aka high tone), they are asked to press the Spacebar. 
If it's not a target (aka low tone), they are asked to simply wait for the
next stimulus.									  

___________________________________________________________________________________________________________________	
DURATION 
___________________________________________________________________________________________________________________	
the default set-up of the script takes appr. 24 minutes to complete

___________________________________________________________________________________________________________________	
DATA FILE INFORMATION 
___________________________________________________________________________________________________________________	
The default data stored in the data files are:

(1) Raw data file: 'tova_auditory_raw*.iqdat' (a separate file for each participant)

build:								The specific Inquisit version used (the 'build') that was run
computer.platform:					the platform the script was run on (win/mac/ios/android)
date, time, 						date and time script was run 
subject, group, 					with the current subject/groupnumber
script.sessionid:					with the current session id

blockcode, blocknum:				the name and number of the current block (built-in Inquisit variable)
trialcode, trialnum: 				the name and number of the currently recorded trial (built-in Inquisit variable)
										Note: trialnum is a built-in Inquisit variable; it counts all trials run; even those
										that do not store data to the data file such as feedback trials. Thus, trialnum 
										may not reflect the number of main trials run per block.
									
values.frequency:					1 = low frequency condition; 
									2 = high frequency condition; 
									0 = practice
									
response:							the participant's key response (scancodes: 57 = Spacebar; 0 = noresponse)
correct:							the correctness of the response (1 = correct; 0 = incorrect)
latency: 							the response latency (in ms); measured from onset of target/nontarget

values.anticipatoryResponse:		1 = response is anticipatory (latency < parameters.minValidLatency; default: 200ms); 
									0 = response is not anticipatory
									
values.commissionerror:				1 = valid commission error (excludes anticipatory responses); 
									0 = no valid commission error 
									
values.postCommissionHit:			1 = valid hit (excludes anticipatory responses) immediately after a commission error; 
									0 = not a valid hit immediately after a commission error
									

(2) Summary data file: 'tova_auditory_summary*.iqdat' (a separate file for each participant)

computer.platform:					the platform the script was run on (win/mac/ios/android)
script.startdate:					date script was run
script.starttime:					time script was started
script.subjectid:					assigned subject id number
script.groupid:						assigned group id number
script.sessionid:					assigned session id number
script.elapsedtime:					time it took to run script (in ms); measured from onset to offset of script
script.completed:					0 = script was not completed (prematurely aborted); 
									1 = script was completed (all conditions run)
									
parameters.minValidLatency:						minimum latency in ms that is considered valid and not anticipatory (default: 200)
values.sum_anticipatoryResponses:				sums up number of anticipatory responses across all test trials
expressions.percentAnticipatoryResponses:		percentage of anticipatory response during test trials


Notes:
(a) the following summary statistic exclude all anticipatory responses (default: responses with latencies < 200ms)
(b) z-scores were adjusted according to Gregg & Sedikides (2010, p.148)
If the hit rate / FA rate is 0 => 0.005 is used instead
IF the hit rate / FA rate is 1.0 => 0.995 is used instead


values.propcorrect_practice:					overall proportion correct of practice trials
expressions.overallproportioncorrect:			overall proportion correct of all experimental trials (across all test blocks)
expressions.meanPostCommissionRT:				mean correct hit latencies (in ms) committed immediately after a commission error (across all test blocks)
expressions.meanHitRT:							mean hit latency (in ms) of all experimental trials (across all test blocks)
expressions.SDHitRT:							standard deviation of all hit latencies (across all test blocks)
expressions.hitRate:							mean hit rate (across all test blocks)
expressions.omissionsRate:						mean omissions rate (across all test blocks)
expressions.commissionRate:						mean false alarm rate (across all test blocks)
expressions.z_hr:								z-value of mean hit rate (across all test blocks)
expressions.z_FAr:								z-value of mean False Alarm rate (across all test blocks)
expressions.dprime:								d' (parametric measure of discriminability). (across all test blocks)

expressions.meanHitRT_LF:						mean hit latency (in ms) in low frequency condition (across both low frequency blocks)
expressions.SDHitRT_LF:							standard deviation of all hit latencies in low frequency condition (across both low frequency blocks)
expressions.hitRate_LF:							mean hit rate in low frequency condition (across both low frequency blocks)
expressions.omissionsRate_LF:					mean omissions rate in low frequency condition (across both low frequency blocks)
expressions.commissionRate_LF:					mean false alarm rate in low frequency condition (across both low frequency blocks)
expressions.z_hr_LF:							z-value of mean hit rate in low frequency condition (across both low frequency blocks)
expressions.z_FAr_LF:							z-value of mean False Alarm rate in low frequency condition (across both low frequency blocks)
expressions.dprime_LF:							d' (parametric measure of discriminability) in low frequency condition (across both low frequency blocks)

expressions.meanHitRT_HF:						mean hit latency (in ms) in high frequency condition (across both high frequency blocks)
expressions.SDHitRT_HF:							standard deviation of all hit latencies in high frequency condition (across both high frequency blocks)
expressions.hitRate_HF:							mean hit rate in high frequency condition (across both high frequency blocks)
expressions.omissionsRate_HF:					mean omissions rate in high frequency condition (across both high frequency blocks)
expressions.commissionRate_HF:					mean false alarm rate in high frequency condition (across both high frequency blocks)
expressions.z_hr_HF:							z-value of mean hit rate in high frequency condition (across both high frequency blocks)
expressions.z_FAr_HF:							z-value of mean False Alarm rate in high frequency condition (across both high frequency blocks)
expressions.dprime_HF:							d' (parametric measure of discriminability) in high frequency condition (across both high frequency blocks)

expressions.meanHitRT_LF1:						mean hit latency (in ms) in first low frequency block
expressions.SDHitRT_LF1:						standard deviation of all hit latencies in first low frequency block
expressions.hitRate_LF1:						mean hit rate in first low frequency block
expressions.omissionsRate_LF1:					mean omissions rate in first low frequency block
expressions.commissionRate_LF1:					mean false alarm rate in first low frequency block
expressions.z_hr_LF1:							z-value of mean hit rate in first low frequency block
expressions.z_FAr_LF1:							z-value of mean False Alarm rate in first low frequency block
expressions.dprime_LF1:							d' (parametric measure of discriminability) in first low frequency block

expressions.meanHitRT_LF2:						mean hit latency (in ms) in second low frequency block
expressions.SDHitRT_LF2:						standard deviation of all hit latencies in second low frequency block
expressions.hitRate_LF2:						mean hit rate in second low frequency block
expressions.omissionsRate_LF2:					mean omissions rate in second low frequency block
expressions.commissionRate_LF2:					mean false alarm rate in second low frequency block
expressions.z_hr_LF2:							z-value of mean hit rate in second low frequency block
expressions.z_FAr_LF2:							z-value of mean False Alarm rate in second low frequency block
expressions.dprime_LF2:							d' (parametric measure of discriminability) in second low frequency block

expressions.meanHitRT_HF1:						mean hit latency (in ms) in first high frequency block
expressions.SDHitRT_HF1:						standard deviation of all hit latencies in first high frequency block
expressions.hitRate_HF1:						mean hit rate in first high frequency block
expressions.omissionsRate_HF1:					mean omissions rate in first high frequency block
expressions.commissionRate_HF1:					mean false alarm rate in first high frequency block
expressions.z_hr_HF1:							z-value of mean hit rate in first high frequency block
expressions.z_FAr_HF1:							z-value of mean False Alarm rate in first high frequency block
expressions.dprime_HF1:							d' (parametric measure of discriminability) in first high frequency block

expressions.meanHitRT_HF2:						mean hit latency (in ms) in second high frequency block
expressions.SDHitRT_HF2:						standard deviation of all hit latencies in second high frequency block
expressions.hitRate_HF2:						mean hit rate in second high frequency block
expressions.omissionsRate_HF2:					mean omissions rate in second high frequency block
expressions.commissionRate_HF2:					mean false alarm rate in second high frequency block
expressions.z_hr_HF2:							z-value of mean hit rate in second high frequency block
expressions.z_FAr_HF2:							z-value of mean False Alarm rate in second high frequency block
expressions.dprime_HF2:							d' (parametric measure of discriminability) in second high frequency block

___________________________________________________________________________________________________________________	
EXPERIMENTAL SET-UP 
___________________________________________________________________________________________________________________	
5 blocks: total of 698 trials (648 test trials and 50 practice trials); takes ~24 minutes
(errorfeedback is optional, see section Editable Parameters)

Practice: 50 trials with target:nontarget frequency = 1:1 (lasts ~2 minutes)

Test Blocks:
1. Low Frequency1: 162 trials with 36 targets, 126 nontargets (1:3.5)(lasts ~5.5 minutes) => ~11 min on Low Frequency condition
2. Low Frequency1: 162 trials with 36 targets, 126 nontargets (1:3.5)(lasts ~5.5 minutes) => ~11 min on Low Frequency condition
3. High Frequency1: 162 trials with 126 targets, 36 nontargets (3.5:1)(lasts ~5.5 minutes) => ~11 min on Low Frequency condition
4. High Frequency1: 162 trials with 126 targets, 36 nontargets (3.5:1)(lasts ~5.5 minutes) => ~11 min on Low Frequency condition

Test Procedures: 
1.   Test purpose and instructions displayed.
1b.  2-min Practice Session begins
2.   First half of the test begins.
2a.  target/Non-target stimulus presented briefly for 100ms (~22.2% of the stimuli are targets). 
2b.  Awaits for user response (space bar) or terminates after 2000ms.
2c.  Go to 2a until half time is reached.
3.   Second half of the test begins (unannounced).
3a.  target/Non-target stimulus presented briefly for 100ms (~77.8% of the stimuli are targets).
3b.  Awaits for user response (space bar) or terminates after 2000ms.
3c.  Go to 3a until half time is reached
4.   End of test (w/ thank you page). 		

___________________________________________________________________________________________________________________	
STIMULI
___________________________________________________________________________________________________________________
see Greenberg et al (2016, p.16)
target tone: 392hz with 0.8amplitude for 100ms; generated in Audacity
non-target tone: 261.6hz with 1.0 amplitude for 100ms; generated in Audacity

___________________________________________________________________________________________________________________	
INSTRUCTIONS 
___________________________________________________________________________________________________________________	
see section Editable Instructions
(adapted from Greenberg & Waldman, 1993)

___________________________________________________________________________________________________________________	
EDITABLE CODE 
___________________________________________________________________________________________________________________	
check below for (relatively) easily editable parameters, stimuli, instructions etc. 
Keep in mind that you can use this script as a template and therefore always "mess" with the entire code 
to further customize your experiment.

The parameters you can change are:

SOA:							Time interval between onsets of target/non-target stimulus (in ms) (here: 2000ms)
squaresize:						the size of the target/nontarget shape in canvas height percentage (default: 5%)
backgroundsize:					the size of the white background in canvas height percentage (default: 50%)
/minValidLatency:				minimum latency in ms that is considered valid and not anticipatory (default: 200)

/showPracticeFeedback:			true (1): error feedback is presented during practice (default)
								false (0): no feedback is provided during practice