# define general settings for BerryPy

# comments need to be preceded by a #-sign

# what are the relevant column headers in the output file? (make sure to put quotes around column names)
# the participant code is in a column called...?
participantColumn = None  # set to None (without quotes) if column does not exist

# is there information not related to performance in the input file that you would like to be present in the output file?
# e.g., from the startup dialogue (age, gender, etc.)
# if there are columns to keep, use this format: keepColumns = ["age", "gender"]
# if there are none, use this: keepColumns = []
keepColumns = []

# are there participants whose data should be excluded from the output file?
# make sure participant codes are strings, even if the code is a number
# e.g.: rejectSubj = ["3", "18"]
rejectSubj = []

# do you want to compute mean or median RTs, or sums?
# note that this requires a config file called config_errors.txt
# 0 = no
# 1 = yes
computeRts = 1

# do you want to compute error rates?
# note that this requires a config file called config_errors.txt
# 0 = no
# 1 = yes
computeErrorRates = 1

# what is the loop around your main trials called?
trialsLoop = None  # set to "None" (without quotes) if column does not exist

# exclude conditions with too few trials?
# e.g., you could exclude a condition if there are fewer than, say, 10 trials
# exclusion will be done for each condition and subject separately (and after the removal of extreme values)
# 0 = no
# 1 = yes
tooFewTrials = 1
# how many is too few?
tooFewTrialsNr = 4

# should RTs be converted to ms (instead of s)?
# 0 = no
# 1 = yes
convertToMs = 1

################################
# Info for basic sanity checks #
################################

# the RTs are in a column called...?
rtColumn = "rt"  # set to None (without quotes) if column does not exist

# accuracy is coded in a column called...? -> only used for basic sanity check
accColumn = None  # set to None (without quotes) if column does not exist
# what is the code for a correct response?
correct = 1
# what is the code for an incorrect response?
incorrect = 0

# plot RT histograms in Markdown report file?
# 0 = no
# 1 = yes
# note: not plotting is considerably faster
plotting = 0

# range for plotting RTs in output figures (in seconds)
fromRT = 0.2
toRT = 4
# nr of bins to plot
nrOfBins = 20

##################
# Extreme values #
##################

# trials with extreme values are excluded before any other calculations
# thus, they do not contribute to error rates

# should RTs below a specific threshold be rejected? (this will be done before rejecting outliers or computing measures of central tendency)
# 0 = no
# 1 = yes
rejectBelow = 1
# what is the threshold? (please specify in *seconds*)
rejectBelowTime = 0.1

# should RTs above a specific threshold be rejected? (this will be done before rejecting outliers or computing measures of central tendency)
# 0 = no
# 1 = yes
rejectAbove = 1
# what is the threshold? (please specify in *seconds*)
rejectAboveTime = 1.5

##################
# Outlier values #
##################

# outlier trials are rejected for RT analyses only
# the accuracy for these trials is taken into account for error rate calculations

# define outlier rejection for mean computation
# note that this will reject outlier RTs per condition per subject
# 0 = none
# 1 = based on standard deviations
# 2 = based on percentage of extreme values ("trimmed mean", e.g. http://www.oswego.edu/~srp/stats/tr_mean.htm)
#     - e.g., reject the 20% lowest and highest values
# 3 = median absolute deviation (MAD; e.g., Leys et al., 2013, J Exp Soc Psychol)
rejType = 3

# if rejType is 1, 2 or 3, also specify the threshold
# note that the value will be interpreted based on the setting for rejType
# for rejType = 1: rejValue is a multiplier for the SD
#   typical values: 2 or 3 SDs
# for rejType = 2: rejValue is % (e.g., 20 will remove 20% of the values *on each side* of the distribution)
#   typical value: 20%
# for rejType = 3: rejValue is a multiplier for the MAD
#   typical values: 3 (very conservative), 2.5 (moderately conservative) or 2 (poorly conservative)
rejValue = 2.5



