The current code does not apply tau trigger SF. If we want to keep the changes to the code minimal, we'd need a base class for the data/MC classes that apply the tau trigger SF, create setters for taus and leptons that take a vector of those particles as input (instead of reading their pt and eta explicitly like it's done right now), and then load the instances of said classes dynamically based on the nominal number of leptons and taus requested by the user. Given this information it's possible to instruct EvtWeightWriter to save the weights and corresponding systematic shifts to the output Ntuple.
The current code does not apply tau trigger SF. If we want to keep the changes to the code minimal, we'd need a base class for the data/MC classes that apply the tau trigger SF, create setters for taus and leptons that take a vector of those particles as input (instead of reading their pt and eta explicitly like it's done right now), and then load the instances of said classes dynamically based on the nominal number of leptons and taus requested by the user. Given this information it's possible to instruct
EvtWeightWriter
to save the weights and corresponding systematic shifts to the output Ntuple.