Test 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

15 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
Practice can be run by script pinatatask_practice.iqjs. The practice script is run with a fixed
target duration. The target duration used for the test can be calibrated using participants'
practice performance (see section Editable Parameters). In short: the practice script
categorizes participants' hit performance into 5 different categories which can be used by the
test script to adapt the target duration (see section Editable Parameters for more info).

The practice script can be run independently of the test script or via batch script pinatatask_batch.iqjs.
If run via the batch script, the practice performance category (1-5) is automatically shared with the test script.

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

● 6 blocks of 22 trials (132 trials total) (number of blocks as well as number of trials can be edited)

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

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

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


Duration Explanations
● Anticipatory Delay Duration:
The script run 3 anticipatory delays (1000, 1500, 2000 - editable parameters).
The delays are randomly assigned to each trial with the following constraints:
- each anticipatory delay is run equally often across the task (as much as possible given the number of trials to run
per block and blocks to run)

Default setup: 6 blocks run 22 trials => 3 blocks run 22 repetitions of each of the 3 itis.
After 6 blocks, each iti is run 44 times.

● Target Duration: presents the 'active' target
If the active target duration should be calibrated based on practice performance:
At the end of practice, participants are grouped into 5 practice performance categories based
on their hit performance:
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)

The performance category (1-5) can be entered at the start of the test script (optional).
In that case, different target durations are used for each of the 5 categories:
group5: 225ms
group4: 275ms
group3: 325ms
group2: 375ms
group1: 425ms
(see section Editable Parameters for adjustments)

● Feedback Delay Duration: presents the 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_test_instructions_inc.iqjs

Summary Data

File Name: pinatatask_test_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.
calibrateTargetDurations 1 = use practice performance to calibrate target duration
0 = do not use practice performance to calibrate target duration
practicePerformanceCategory The practice performance category used to calibrate target duration
targetDuration The duration (in ms) of the target used for the test trials
Performance Performance Metrics
totalStars The total number of stars collected collected across experiment
starCounter The total number of stars that could be collected across experiment
Overall
hitCounter The number of hits
propHits Proportion of hits relative to all trials
meanHitRT Mean hit response time (in ms)
missCounter The number of misses
anticipationCounter The number of 'too early' responses
noResponseCounter The number of 'no responses'
By Level (Incentive Condition): Level0, Level1, Level2, Level4
hitCounterLevel0 The number of hits for level0 trials
propHitsLevel0 Proportion of hits relative to all trials for level0 trials
meanHitRTLevel0 Mean hit response time (in ms) for level0 trials
missCounterLevel0 The number of misses for level0 trials
anticipationCounterLevel0 The number of 'too early' responses for level0 trials
noResponseCounterLevel0 The number of 'no responses' for level0 trials

Raw Data

File Name: pinatatask_test_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.
calibrateTargetDurations 1 = use practice performance to calibrate target duration
0 = do not use practice performance to calibrate target duration
practicePerformanceCategory The practice performance category used to calibrate target duration
participants are grouped into practice performance groups 1-5
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)
targetDuration The duration (in ms) of the target used for the test trials
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
totalStars 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)
22
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
Helfinstein et al (2013) ran 6 blocks with 22 trials in each block
which balances the trialtypes (across 2 consecutive blocks) and the itis/anticipatory values (across 3 consecutive blocks)
6
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
calibrateTargetDurations True = target durations are calibrated using participants' practice performance
false = the same target durations are used for each participant
participants are grouped into performance groups 1-5
group5: hit rate > 79%
group4: 54% < hit rate <= 79%
group3: 29% < hit rate <= 54%
group2: 4%< hit rate <= 29%
group1: hit rate <= 4%
(numbers from eprime script)
true
Only Relevant If The Target Duration Should Be Calibrated Based On Participants' Practice Performance Groups
maxTargetDurationMS The slowest target duration (in ms) assigned to group1425
stepsMS Each performance group's target duration is decreased by 'stepsMS' relative to the preceding group
there are 5 performance groups. The fastest group (group5) will run
maxTargetDurationMS - 4*stepsMS
By default this makes: 425-5*50 = 225ms
50
Only Relevant If 'Calibratetargetdurations' Is To 'False' Or No Practice Performance Is Available
targetDurationMS Sets a fixed target duration300
Sizing Parameters
fixationSize Sizes the fixation cross relative to canvas height15%