Practice Session

Technical Manual

Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond

Created: September 26, 2022

Last Modified: September 18, 2026 by K. Borchert (katjab@millisecond.com), Millisecond

Script Copyright © Millisecond Software, LLC

Background

This script implements Millisecond's version of the 'Pinatatask' (Helfinstein et al, 2013), a child friendly monetary incentive delay task to induce anticipation of reward (and punishment) within a simple reaction time task.

The Inquisit implementation is based on the publicly available eprime script published at: https://osf.io/43hfq/ Disclaimer: While we try to stay as faithful as possible to the original eprime script, the Inquisit implementation of the Pinata Task may still differ from it.

References

Helfinstein SM, Kirwan ML, Benson BE, Hardin MG, Pine DS, Ernst M, Fox NA. Validation of a child-friendly version of the monetary incentive delay task. Soc Cogn Affect Neurosci. 2013 Aug;8(6):720-6. doi: 10.1093/scan/nss057. Epub 2012 May 7. PMID: 22569186; PMCID: PMC3739918.

Dennison MJ, Rosen ML, Sambrook KA, Jenness JL, Sheridan MA, McLaughlin KA. Differential Associations of Distinct Forms of Childhood Adversity With Neurobehavioral Measures of Reward Processing: A Developmental Pathway to Depression. Child Dev. 2019 Jan;90(1):e96-e113. doi: 10.1111/cdev.13011. Epub 2017 Dec 21. PMID: 29266223; PMCID: PMC6013316.

Duration

5 minutes

Description

Participants are asked to whack a Pinata as fast as they can to 'open' it and win its content (here: a varying number of stars: 0,1,2, or 4). Before they can hit the Pinata, only half the Pinata is revealed to the participant to show how many stars they can win ('cue'). Once the entire Pinata is revealed, participants have to be very fast to press the spacebar to whack the pinata. If they succeed, they win the stars. If they don't succeed, no starts are won.

Procedure

Practice
Default setup (check section Editable Parameters for changes you can make to the default setup)

● 4 blocks of 10 trials (40 trials total) (number of blocks as well as number of trials can be edited)

● Across 4 blocks: (40 trials)*
- 10 animals presented with 4 levels of reward (0, 1, 2, 4)
- the resulting 40 trials are presented in a random order

● Trial Sequence:
1. Cue - part of animal that shows the number of stars that can be won (cue duration: fixed at 1500ms - editable parameter)
2. Anticipatory Delay - cue removed, shows a basket (see info below for duration of anticipatory delay)
3. (active )Target - the entire animal is presented in the center (practice target duration: fixed at 275ms - editable parameter)
4. inactive Target during Feedback Delay - (see info below for delay duration)
5. Feedback (feedback duration: fixed at 1500 - editable parameter)
6. Intertrialinterval (iti) - shows a fixation cross (see info below for iti duration)


● each block starts with a 'getReady' trial and ends with a rest trial (except for last block)

● repeat of practice session optional (editable parameters)

Duration Explanations
● Anticipatory Delay Duration:
The script run 3 anticipatory delays (1000, 1500, 2000 - editable parameters).
The delays are randomly assigned to each trial
If the total number of trials is divisible by 3, all three delays should be run equally often

● Target Duration: 'active' target
active Target Duration set at 275ms (editable parameter)
the target image is presented for a total of 990ms (parameters.combinedTargetDelayDurationMS) total
for each participant but it's an active target only for 275ms of that period

● Feedback Delay Duration: 'inactive' target
The feedback delay duration is calculated based on:
too early: 1500ms (parameters.combinedTargetDelayDurationMS)
hits: 1500ms (parameters.combinedTargetDelayDurationMS) - values.RT (hitRT)
miss: 1500ms (parameters.combinedTargetDelayDurationMS) - values.targetDuration

The target picture is presented the same duration for each participant (here: 1500ms)
but it's only the 'active' target for values.targetDuration (hits can only occur when the target
is still 'active')

● ITI Duration:
The iti durations are calculated the same way the anticipatory delays are calculated

Stimuli

E-prime task as well as stimuli downloaded from:
https://osf.io/43hfq/

Instructions

Instructions are based on the instructions provided by the original eprime script.
See script pinatatask_practice_instructions_inc.iqjs

Summary Data

File Name: pinatatask_practice_summary*.iqdat

Data Fields

NameDescription
inquisit.version Inquisit version number
computer.platform Device platform: win | mac |ios | android
computer.touch 0 = device has no touchscreen capabilities; 1 = device has touchscreen capabilities
computer.hasKeyboard 0 = no external keyboard detected; 1 = external keyboard detected
startDate Date the session was run
startTime Time the session was run
subjectId Participant ID
groupId Group number
sessionId Session number
elapsedTime Session duration in ms
completed 0 = Test was not completed
1 = Test was completed
Parameter Settings
numberOfBlocks The number of blocks to run
trialsPerBlock The number of trials per block
totalTrials The total number of trials to run based on parameters.trialsPerBlock x parameters.numberOfBlocks
numberStimuli The number of different animal stimuli used for this experimental setup (10, 11, or 12)
depends on number of trialsPerBlock (see section Editable Parameters for more info)
numberTrialTypes The number of different trialtypes to run (= 4 levels * number of stimuli)
either 40, 44, or 48
balancedDesignTrialTypes 1 = the chosen number of trialsPerBlock and numberOfBlocks results in a balanced design
that runs each of the (40/44/48)trialtypes equally often
0 = the chosen number of trialsPerBlock and numberOfBlocks does not result in a balanced design
in regard to trialtypes. The (40/44/48) trialtypes are not run equally often.
targetDuration The duration (in ms) of the target used for practice trials
practicePerformanceCategory: the practice performance category (based on practice hit rate)
used to calibrate target duration during the test
participants are grouped into practice performance groups 1-5 at the end of practice
group5: practice hit rate > 79%
group4: 54% < practice hit rate <= 79%
group3: 29% < practice hit rate <= 54%
group2: 4%< practice hit rate <= 29%
group1: practice hit rate <= 4%
(hit rates from eprime script)

Raw Data

File Name: pinatatask_practice_raw*.iqdat

Data Fields

NameDescription
build Inquisit version number
computer.platform Device platform: win | mac |ios | android
computer.touch 0 = device has no touchscreen capabilities; 1 = device has touchscreen capabilities
computer.hasKeyboard 0 = no external keyboard detected; 1 = external keyboard detected
date Date the session was run
time Time the session was run
subject Participant ID
group Group number
session Session number
Parameter Settings
numberOfBlocks The number of blocks to run
trialsPerBlock The number of trials per block
totalTrials The total number of trials to run based on parameters.trialsPerBlock x parameters.numberOfBlocks
numberStimuli The number of different animal stimuli used for this experimental setup (10, 11, or 12)
depends on number of trialsPerBlock (see section Editable Parameters for more info)
numberTrialTypes The number of different trialtypes to run (= 4 levels * number of stimuli)
either 40, 44, or 48
balancedDesignTrialTypes 1 = the chosen number of trialsPerBlock and numberOfBlocks results in a balanced design
that runs each of the (40/44/48)trialtypes equally often
0 = the chosen number of trialsPerBlock and numberOfBlocks does not result in a balanced design
in regard to trialtypes. The (40/44/48) trialtypes are not run equally often.
targetDuration The duration (in ms) of the target used for practice trials
practicePerformanceCategory: the practice performance category (based on practice hit rate)
used to calibrate target duration during the test
participants are grouped into practice performance groups 1-5 at the end of practice
group5: practice hit rate > 79%
group4: 54% < practice hit rate <= 79%
group3: 29% < practice hit rate <= 54%
group2: 4%< practice hit rate <= 29%
group1: practice hit rate <= 4%
(hit rates from eprime script)
blockcode The name the current block (built-in Inquisit variable)
blocknum The number of the current block (built-in Inquisit variable)
trialcode The name of the currently recorded trial (built-in Inquisit variable)
the final/complete trial outcome variables are stored in trial.feedbackDelay
trialnum The number of the currently recorded trial (built-in Inquisit variable)
trialnum is a built-in Inquisit variable; it counts all trials run
even those that do not store data to the data file.
blockCounter Tracks the number of blocks run
trialCounterPerBlock Tracks the trial count per block
trialCounterTotal Tracks the trial count across entire task
cueAnimal The itemnumber of the current cue animal
level The level (number of stars that can be won) of the current trial (0,1,2,4)
anticipatoryDelay The duration (in ms) of the current anticipatory delay
itiDuration The duration (in ms) of the current iti
image The current target image presented
Custom Dvs
responseCategory the accurate responseCategory will only be known in trial.feedbackDelay
if the responseCategory is empty during trial.pinata, a response can still be made
during the feedbackdelay trial which is counted as a 'miss' - if no response is given at all,
it's a 'no response'
hit: spacebar was pressed during target duration
miss: spacebar was pressed after target duration
too early: spacebar was pressed during cue presentation OR anticipatory delay (before target was presented)
no response: spacebar was not pressed at all
acc 1 = spacebar was pressed during target duration; 0 = otherwise
targetDuration The duration (in ms) of the target
rt The response time (in ms) relative to target onset
negative values: spacebar was pressed before target appeared
feedbackDelay The duration (in ms) assigned to the feedback delay period based on previous responses
total The total number of stars collected across experiment
starCounter The total number of stars that could be collected across experiment
Built-In Dvs
response The response of participant (scancode of response button)
latency Response latency (in ms); measured from: onset of trial
picture.target.stimulusOnset The stimulusonset time (in ms) of the last target in trial.pinata

Parameters

The procedure can be adjusted by setting the following parameters.

NameDescriptionDefault
Design
trialsPerBlock Choose from multiples of 10, 11, 12 (others result in the script choosing 12 by default)
If multiple of 10 => the script uses animal itemnumbers 1-10 (and runs 10*4 = 40 different trialtypes)
If multiple of 11 => the script uses animal itemnumber 1-11 (and runs 11*4 = 44 different trialtypes)
If multiple of 12 => the script uses animal itemnumber 1-12 (and runs 12*4 = 48 different trialtypes)
10
numberOfBlocks Choose a number of blocks that balances the number of trialtypes to run
Example: trialsPerBlock = 22 (multiple of 11) => the numberOfBlocks need to be even to balance the 44 different trialtypes
Example: trialsPerBlock = 33 (multiple of 11) => the number of Blocks need to be multiples of 4 to balance out the 44 different trialtypes
Example: trialsPerBlock = 24 (multiple of 12) => the numberOfBlocks need to be even to balance the 48 different trialtypes
Example: trialsPerBlock = 36 (multiple of 12) => the number of Blocks need to be multiples of 4 to balance out the 48 different trialtypes
Bonus: if the total trial number ('numberOfBlocks * trialsPerBlock') can be evenly divided by 3, the 3 itis/3 anticipatory delay values will be balanced across all blocks
4
allowPracticeRepeats True = practice can be repeated as often as indicated
false = practice is run only once
true
startCapital The start amount allocated to participant0
penalizeIncorrectResponses True = incorrect responses (no responses, anticipatory responses, misses) get
penalized by subtracting the number of stars from the total
false = incorrect responses do not get penalized by subtracting from the total
false
Timing Parameters
getReadyDurationMS The duration (in ms) of the get-ready-trial2000
cueDurationMS The duration (in ms) of the cue1500
feedbackDurationMS The duration (in ms) of the feedback animation1500
combinedTargetDelayDurationMS The combined duration (in ms) of the target and the feedback delay period1500
iti1Duration Intertrial interval 1 (in ms)1000
iti2Duration Intertrial interval 2 (in ms)1500
iti3Duration Intertrial interval 3 (in ms)
the 3 iti values get randomly assigned to each trial in a block (script attempts to balance their frequency across the experiment)
2000
anticipatory1Duration AnticipatoryDuration 1 (in ms) - anticipatory delay: time (in ms) between offset of cue and onset of target1000
anticipatory2Duration AnticipatoryDuration 2 (in ms)1500
anticipatory3Duration AnticipatoryDuration 3 (in ms)
the 3 values get randomly assigned to each trial in a block (script attempts to balance their frequency across the experiment)
2000
Target Settings
targetDurationMS Sets a fixed target duration275
Sizing Parameters
fixationSize Sizes the fixation cross relative to canvas height15%
Performance Categories
group5MinPropCorrect Group5: 0.79 < hit rate0.79
group4MinPropCorrect Group4: 0.54 < hit rate <= 0.790.54
group3MinPropCorrect Group3: 0.29 < hit rate <= 0.540.29
group2MinPropCorrect Group2: 0.04 < hit rate <= 0.29
by default: group1: hitrate <= 0.04
hit rates from eprime script
0.04