Return to the Error Awareness Task page
						
									ERROR AWARENESS TASK (EAT)
SCRIPT INFO

Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC
Date: 10-24-2013
last updated: 01-11-2016 by K.Borchert (katjab@millisecond.com) for Millisecond Software LLC

Copyright © 01-11-2016 Millisecond Software


BACKGROUND INFO

											*Purpose*
This script implements the Error Awareness Task (EAT: a motor Go/NoGo response inhibition
task) in as described in:

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.

The EAT uses competing NoGo inhibition rules to vary the strength of stimulus–response relationships.

Millisecond Software thanks Dr. Hester et al for generously providing assistance with script development/clarifications!


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


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:								Inquisit build
computer.platform:					the platform the script was run on
date, time, subject, group:			date and time script was run with the current subject/groupnumber 
blockcode, blocknum:				the name and number of the current block
/practice:							1 = practiceA; 2= PracticeB; 0 = test
trialcode, trialnum: 				the name and number of the currently recorded trial
										(Note: not all trials that are run might record data) 
									1 = Go trial; 2 = Stroop; 3 = Repeat
/trialtype:							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
/values.response:					the participant's first response (scancode)
										57: spacebar
										0: no response
/correct:							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
/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
/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 during a Go trial
									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_omission:					counts the number of omission errors in Go trials across all test blocks
/count_NoGoerrorawareness:			counts the number of correct error awareness responses for failed suppressions across all test blocks


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

script.startdate:					date script was run
script.starttime:					time script was started
script.subjectid:					subject id number
script.groupid:						group id number
script.elapsedtime:					time it took to run script (in ms)
computer.platform:					the platform the script was run on
/completed:							0 = script was not completed; 1 = script was completed (all conditions run)

/percent_failedsuppression: 		percent failed suppressions in NoGo trials across test blocks
/percent_omission:					percent omissions in Go trials across test blocks
/percent_NoGoerrorawareness:		percent correct error awareness responses after failed suppression in NoGo trials 
									across all 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:							scancode of the response key
											Note: scancodes under Tools -> Keyboard Scancodes (default: 57)
/responsekey_label:						label of the response key (default: )
/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


Copyright © Millisecond Software. All rights reserved.
Contact | Terms of Service | Security Statement | Employment