User Manual for Inquisit's Error Awareness Task



Script Author: Katja Borchert, Ph.D. ( for Millisecond Software, LLC
Date: 10-24-2013
last updated:  02-22-2022 by K. Borchert ( 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!
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.

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)

the default set-up of the script takes appr. 30 minutes to complete

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

* 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
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

are not original. Edit under EDITABLE CODE -> Editable Instructions

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