___________________________________________________________________________________________________________________ ERROR AWARENESS TASK (EAT) ___________________________________________________________________________________________________________________ Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC Date: 10-24-2013 last updated: 02-22-2022 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC Script Copyright © 02-22-2022 Millisecond Software Millisecond Software thanks Dr. Hester et al for generously providing assistance with script development/clarifications! ___________________________________________________________________________________________________________________ BACKGROUND INFO ___________________________________________________________________________________________________________________ This script implements the Error Awareness Task (EAT), a specialized motor Go/NoGo response inhibition task to study error awareness of commission errors. The EAT uses competing rules for Go-Nogo Responses to increase the likelihood of commission errors. The implemented procedure is based on: Hester, R, Simões-Franklin, C., & Garavan, H. (2007). Post-error behavior in active cocaine users: poor awareness of errors in the presence of intact performance adjustments. Neuropsychopharmacology, 32, 1974–1984. ___________________________________________________________________________________________________________________ TASK DESCRIPTION ___________________________________________________________________________________________________________________ Participants are presented with a stream of words (one at a time) in different colors at a constant pace. They are instructed to press the Go-response button if word meaning and color font match AND if the combo (word/font color) is different than the one preceding it (GO trials). They are instructed to withhold the response if word meaning and color font do NOT match (Stroop NOGO) OR if the presented combo (word/font color) repeats the one preceding it (Repeat NOGO). To indicate error awareness participants are asked to press the Go button twice during the Go trials following any commission errors done during the NoGo trials (Note: a pregenerated sequence of trialtypes is used in which there are at least 2-15 Go trials in between NoGo trials) ___________________________________________________________________________________________________________________ DURATION ___________________________________________________________________________________________________________________ the default set-up of the script takes appr. 30 minutes to complete ___________________________________________________________________________________________________________________ DATA FILE INFORMATION ___________________________________________________________________________________________________________________ The default data stored in the data files are: (1) Raw data file: 'errorawarenesstask_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. practice: 1 = practiceA; 2= PracticeB; 0 = test nexttrial: stores the trialtype of the next trial 1 = Go trial; 2 = Stroop; 3 = Repeat trialtype: 1 = Go trial; 2 = Stroop; 3 = Repeat stores the name of the trialtype "Go", "Go afterNoGo", "Stroop NoGo", "Repeat NoGo" counttrials: counts the trials in a given block stimulusitem: the presented stimuli in order of trial presentation response: the participant's first response (scancode) 57: spacebar 0: no response ACC: stores the accuracy of the given response 1 = correct response for Go-trial (response key was pressed) and NoGo trial (response was suppressed) 0 = incorrect response for Go-trial (no response key was pressed) and NoGo trial (response key was pressed) latency: stores the response latency in ms (if no response: it's empty) Note: in error awareness response trials, it's the latency of the first response variables to track error awareness response: go_response1: stores the first response in a "Go afterNoGo" trial (scancode of response; 57 = spacebar) go_response1rt: stores the latency of the first response in a "Go afterNoGo" trial go_response2: stores the second response in a "Go afterNoGo" trial (scancode of response; 57 = spacebar) go_response2rt: stores the latency of the second response in a "Go afterNoGo" trial prevcorrect: accuracy of the preceding trial errorawarenessresponse: stores whether an error awareness response (aka double response) has been given 0 = no double response 1 = error awareness after NoGo trial (given in Go trial) 2 = error awareness after Go trial (given in Go trial) 3 = double response given in NoGo trial correct_errorawareness: 1 = the given error awareness response was correct (participant err-ed on the previous trial) 0 = the given awareness response was incorrect (no error awareness response was indicated during the current trial) empty = N/A as no error awareness response was given count_failedsuppression: counts the number of NoGo failed suppression errors across all test blocks count_nogoerrorawareness: counts the number of correct error awareness responses for commission errors across all test blocks count_omission: counts the number of omission errors in Go trials across all test blocks count_go: go trial count count_nogo: nogo trial count (2) Summary data file: 'errorawarenesstask_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) percent_failedsuppression: percent failed suppressions in NoGo trials (=commission errors) across test blocks percent_nogoerrorawareness: percent correct error awareness responses after failed suppression in NoGo trials (=commission errors) across all test blocks percent_omission: percent omissions in Go trials across test blocks ___________________________________________________________________________________________________________________ EXPERIMENTAL SET-UP ___________________________________________________________________________________________________________________ * 3 different types of trials Go trials: congruent word and font color; combination does not repeat previous target => require response Stroop NoGo: incongruent word and font color => require suppression of response Repeat NoGo: repeat of previous word and font color => require suppression of response Note: words can never be repeated unless by Repeat NoGo trials. Colors are chosen randomly in Stroop trials and could therefore repeat the color of the previous Go trial (but not the word). Similarly, Go trials could repeat the color of the preceding Stroop trial (but not the word). * Error Awareness Response: double clicking the response button in the Go trial following the commission error in NoGo trials * 900 trials total => In this script: 700 Go trials 50 Stroop trials (followed by 50 Go_afternogo trials) 50 Repeat trials (followed by 50 Go_afternogo trials) * 4 blocks of 225 trials: the sequence of Go and NoGo trials is predetermined and the same for each participant. (EDITABLE CODE -> Editable Lists -> list.trialsequence) - Each block contains roughly the same number of NoGo trials (odd blocks contain 12 Stroop/13 Repeat NoGo trials, even blocks contain 13 Stroop/12 Repeat NoGo trials) and 200 Go trials - there are 2-15 Go trials in between 2 NoGo trials in each block PRACTICE A practice block is provided (not original to Hester et al, 2007): 70 trials (controlled by list.trialsequence_practice) Participants receive errorfeedback a) after incorrect suppression of responses in Go trials and b) after incorrectly responding to NoGo trials. This feedback further includes a reminder to press the response key twice during the next trial to practice the error awareness response ___________________________________________________________________________________________________________________ INSTRUCTIONS ___________________________________________________________________________________________________________________ are not original. Edit under EDITABLE CODE -> Editable Instructions ___________________________________________________________________________________________________________________ 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: /responsekey: the response key (default: " " -> spacebar) /fontsize_target: fontsize of the targets in screen height percentages (default: 10%) /fontsize_fixation: fontsize of the fixation mark in screen height percentages (default: 3%) /stimulusduration: presentation duration of the targets (default: 900ms) /ISIduration: interstimulus interval (default: 600ms) Note: in this script participants have stimulusduration + ISIduration to respond /skippractice: true = practice block is skipped false = practice block is run /trialsperblock: the number of trials in a block; computer uses this value to stop each block (default: 225) Note: if this number is changed, list.trialsequence might need to get updated accordingly