___________________________________________________________________________________________________________________ T.O.V.A. (Test of Variables of Attention) - auditory stimuli ___________________________________________________________________________________________________________________ last updated: 10-04-2024 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC Script Copyright © 10-04-2024 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. Participant work through blocks with low frequency and high frequency targets. ___________________________________________________________________________________________________________________ DURATION ___________________________________________________________________________________________________________________ the default set-up of the script takes appr. 24 minutes to complete ___________________________________________________________________________________________________________________ DATA OUTPUT DICTIONARY ___________________________________________________________________________________________________________________ The fields 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 session: 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. 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 anticipatoryResponse: 1 = response is anticipatory (latency < parameters.minValidLatency; default: 200ms); 0 = response is not anticipatory commissionError: 1 = valid commission error (excludes anticipatory responses); 0 = no valid commission error 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) inquisit.version: Inquisit version run computer.platform: the platform the script was run on (win/mac/ios/android) startDate: date script was run startTime: time script was started subjectId: assigned subject id number groupId: assigned group id number sessionId: assigned session id number elapsedTime: time it took to run script (in ms); measured from onset to offset of script completed: 0 = script was not completed (prematurely aborted); 1 = script was completed (all conditions run) (parameter) minValidLatency: minimum latency in ms that is considered valid and not anticipatory (default: 200) sumAnticipatoryResponses: sums up number of anticipatory responses across all test trials 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 propCorrectPractice: overall proportion correct of practice trials overallProportionCorrect: overall proportion correct of all experimental trials (across all test blocks) meanPostCommissionRT: mean correct hit latencies (in ms) committed immediately after a commission error (across all test blocks) meanHitRT: mean hit latency (in ms) of all experimental trials (across all test blocks) sdHitRT: standard deviation of all hit latencies (across all test blocks) hitRate: hit rate (across all test blocks) omissionsRate: omission rate (miss rate) (across all test blocks) commissionRate: false alarm rate (across all test blocks) crRate: correct rejection rate (across all test blocks) zHr: z-value of hit rate (across all test blocks) zFAr: z-value of false alarm rate (across all test blocks) dPrime: d' (parametric measure of discriminability). (across all test blocks) c: c-criterion in signal detection:The absolute value of c provides an indication of the strength of the response bias/response style negative: participant more likely to report that signal (go stims) is present (liberal response style); may favor faster responding in speed-accuracy trade-off response paradigms positive: favoring caution (conservative response style) ////////////////////////////////////////// low frequency targets: across both blocks ////////////////////////////////////////// meanHitRTLF: mean hit latency (in ms) in low frequency condition (across both low frequency blocks) sdHitRTLF: standard deviation of all hit latencies in low frequency condition (across both low frequency blocks) hitRateLF: hit rate in low frequency condition (across both low frequency blocks) omissionsRateLF: omission rate (miss rate) in low frequency condition (across both low frequency blocks) commissionRateLF: false alarm rate in low frequency condition (across both low frequency blocks) crRateLF: correct rejection rate in low frequency condition (across both low frequency blocks) zHrLF: z-value of hit rate in low frequency condition (across both low frequency blocks) zFArLF: z-value of false alarm rate in low frequency condition (across both low frequency blocks) dPrimeLF: d' (parametric measure of discriminability) in low frequency condition (across both low frequency blocks) cLF: c-criterium in low frequency condition ////////////////////////////////////////// high frequency targets: across both blocks ////////////////////////////////////////// meanHitRTHF: mean hit latency (in ms) in high frequency condition (across both high frequency blocks) sdHitRTHF: standard deviation of all hit latencies in high frequency condition (across both high frequency blocks) hitRateHF: hit rate in high frequency condition (across both high frequency blocks) omissionsRateHF: omission rate (miss rate) in high frequency condition (across both high frequency blocks) commissionRateHF: false alarm rate in high frequency condition (across both high frequency blocks) crRateHF: correct rejection rate in high frequency condition (across both high frequency blocks) zHrHF: z-value of hit rate in high frequency condition (across both high frequency blocks) zFArHF: z-value of false alarm rate in high frequency condition (across both high frequency blocks) dPrimeHF: d' (parametric measure of discriminability) in high frequency condition (across both high frequency blocks) cLH: c-criterium in high frequency condition and separate summary variables for each block of LF and HF: lf1: first block with low frequency targets lf2: second block with low frequency targets hf1: first block with high frequency targets hf2: second block with high frequency targets ___________________________________________________________________________________________________________________ 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. LF ('low frequency') blocks: total of 2 blocks 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. HF ('high frequency') blocks: total of 2 blocks 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 ___________________________________________________________________________________________________________________ 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