Currently, the Elo score of a participant is only based on the Elo score of the driver. This needs to be calculated based on the Elo scores of the driver, constructor and engine.
This change includes at least the following changes:
Add EloConstructor and EloEngine classes, in the fashion of EloDriver. The originals (Engine, Constructor) are implemented in f1Models.py. Replace usages of these old classes in the Elo model with the new classes. Instead of "pwr", the Elo classes have a variable named "rating".
In EloRaceModel, getGaElo() needs to include the engine and constructor ratings in the calculation. Add static weights for each of their contribution for now (for example, 20% driver, 70% constructor, 10% engine)
A method similar to adjustEloRating() must be made for engines and constructors. Furthermore, the Elo adjustments need to be calculated for engines and constructors (see _calculateEloAdjustments())
Currently, the Elo score of a participant is only based on the Elo score of the driver. This needs to be calculated based on the Elo scores of the driver, constructor and engine.
This change includes at least the following changes:
f1Models.py
. Replace usages of these old classes in the Elo model with the new classes. Instead of "pwr", the Elo classes have a variable named "rating".getGaElo()
needs to include the engine and constructor ratings in the calculation. Add static weights for each of their contribution for now (for example, 20% driver, 70% constructor, 10% engine)adjustEloRating()
must be made for engines and constructors. Furthermore, the Elo adjustments need to be calculated for engines and constructors (see_calculateEloAdjustments()
)