%% Check Confirmation of Score-Based Logic
% Create a score-based logic, specifying the confirmation threshold. The logic uses the default deletion threshold.

scoreLogic = trackScoreLogic('ConfirmationThreshold',8);

% Specify the probability of detection (pd), the probability of false alarm (pfa), the volume of a sensor detection bin (volume), and the new target rate in a unit volume (beta).

pd = 0.8;
pfa = 1e-3;
volume = 1.3;
beta = 0.1;

% Initialize the logic using these parameters. The first update to the logic is a hit.

init(scoreLogic,volume,beta,pd,pfa);
disp(['Score and MaxScore: ', num2str(output(scoreLogic))]);

% The confirmation flag is false because the score is less than the confirmation threshold.

confirmationFlag = checkConfirmation(scoreLogic)

% Specify the likelihood that the detection is assigned to the track. Then, update the logic with a hit. The current score and maximum score increase.

likelihood = 0.05 + 0.05*rand(1);
hit(scoreLogic,volume,likelihood,pd,pfa)
disp(['Score and MaxScore: ', num2str(output(scoreLogic))])

% The confirmation flag is now true because the score is greater than the confirmation threshold.

confirmationFlag = checkConfirmation(scoreLogic)

% Copyright 2018 The MathWorks, Inc.