In order to calculate global significances, I’m trying to fit multiple models (different signal mass hypotheses) to a single set of toy datasets generated (by AsymptoticCalculator) using one of these models with signal strength set to 0.
I have some mass hypotheses that channel A is sensitive to, some that channel B is sensitive to, and some that both are sensitive to (where each of these contain two or three sub-channels). I’m trying to deal with this by generating the toy datasets using one of the models that use both channels then selecting the appropriate subset for the other two kinds of models by translating a RooCategory using a RooMappedCategory in RooDataSet::addColumn, then reducing the dataset using RooDataSet::reduce.
I’m running into two problems:
The RooMappedCategory always returns the index corresponding to one particular original category name (“resolved_4b_2018”, or “NotMapped” if I don’t add that category to the map list) regardless of the original category for each “event” (really, histogram bin since this is a HistFactory analysis)
Once I run reduce I lose the weights on the dataset (so in this case, the histogram bin values)
On further investigation, I think the first problem is because RooMappedCategory's _inputCat isn’t being updated for each event (which I think should be done by redirectServers).