Yes. Raster objects have a maximum property. Just make sure statistics have been calculated for the raster or maximum will return None.
Con("my_raster.tif" > "other_raster.tif".maximum, value_if_true, value_if_false)
If you want to set pixels to null when "MyRaster" >= 2800 and set everything else to the values of "MyRaster" all in one step, use this expression:
Con("MyRaster" < 2800, "MyRaster")
or this expression:
SetNull("MyRaster" >= 2800, "MyRaster")
in the raster calculator, the symbol "^" is a boolean operator, not the power function.
For the square values, you should either use the Power() function or the equivalent operator **
"prec_1" ** 2
In addition, make sure that you work in float, before your percentages could be rounded to zero before you multiply by 100.
You can use GRASS processing algorithms from withing QGIS. v.rast.stats should do what you require.
You could also probably use QGIS' native Zonal histogram but then you'd have to process the output yourself to find the quartiles from the unique value counts.
If you have only one polygon, or want it done over all of the raster which is covered by the ...
At Arc Desktop 10.7.1, this works for me (note that it requires the Spatial Analyst extension):
Open the Raster Calculator and enter the following in the Map Algebra Expression pane:
Con("your_raster" == "your_raster".maximum, "your_raster")
[Note: this selects the cell with the maximum value from your_raster.]
Enter the name of the output raster that ...