Conditional calculation using QGIS

I want to apply an algorithm to calculate the clorophyll-a concentration of a reservoir using Sentinel 2.

To do this I need to create a mask using Sentinel's 2 band 11(infrared) to separate the water pixels from pixels with larger reflectance values than the water.

This is the algorithm:

(If B11 <=0.05 then 109.17*((1/B4-1/B5)*B6+ 19.03 else 0)

but I can't use if and else in QGIS.

Since it is a raster layer you should use the Raster Calculator. It is a bit different then the Field Calculator described by the other answer and comments. The expression should be something like this one:

("raster@11" <=0.05) * (109.17*((1/"raster@4"-1/"raster@5")*"raster@6"+ 19.03) + ("raster@11" >0.05) * 0

where "raster" is the name of your sentinel raster layer and @11 or @5 is the band number. The principe is as follows:

(condition) * value_if_true + (Else condition) * ElseValue

You can use CASE...WHEN in an expression:

CASE
WHEN B11 <=0.05 THEN (109.17*((1/B4-1/B5)*B6+ 19.03
ELSE 0
END