I've encountered a few things when using the TQDefaultPlotter. Maybe some of them are intentional
'WARNING in TQROOTPlotter::stackHistograms(...) : stack is empty!', but that’s expected because I never try to stack any histograms. Can we make this WARN into a DEBUG message?
Is it possible to change the line width of histograms?
If I choose logScaleX, I see no no tick x labels. Maybe they are too infrequent (every 10^x?). See attached figure.
'WARNING in TQROOTPlotter::stackHistograms(...) : stack is empty!', but that’s expected because I never try to stack any histograms. Can we make this WARN into a DEBUG message?
the plotter in principle expects you to stack things, we never really defined what should happen if there is no stack present, and we used to even refuse to plot something that doesn't have a stack.
if what you see meets your expectations, I'm happy with making this a debug message.
Add tag documentation for normalize
Say if normalizeWithoutOverUnderflow needs to be used together with normalize.
Can you add support for normalizing to the integral of the absolute histogram? I wrote the necessary support methods here.
These would belong together to form an action item "make sure that the tags to normalize plots are understandable and usable".
As you have recently used them: Can you describe what appears to be the current behavior, such that we can discuss what we want to change exactly?
'WARNING in TQROOTPlotter::stackHistograms(...) : stack is empty!', but that’s expected because I never try to stack any histograms. Can we make this WARN into a DEBUG message?
the plotter in principle expects you to stack things, we never really defined what should happen if there is no stack present, and we used to even refuse to plot something that doesn't have a stack. if what you see meets your expectations, I'm happy with making this a debug message.
Add tag documentation for normalize
Say if normalizeWithoutOverUnderflow needs to be used together with normalize.
Can you add support for normalizing to the integral of the absolute histogram? I wrote the necessary support methods here.
These would belong together to form an action item "make sure that the tags to normalize plots are understandable and usable".
As you have recently used them: Can you describe what appears to be the current behavior, such that we can discuss what we want to change exactly?
Just from looking at the code (I haven't used it...), I think that normalizeWithoutOverUnderflow needs to be used together with normalize or else it has no effect.
Just from looking at the code (I haven't used it...), I think that normalizeWithoutOverUnderflow needs to be used together with normalize or else it has no effect.
Sounds like we should add this to our test suite - then we can judge from there if we need to change something.
Just from looking at the code (I haven't used it...), I think that normalizeWithoutOverUnderflow needs to be used together with normalize or else it has no effect.
Sounds like we should add this to our test suite - then we can judge from there if we need to change something.
I wasn't really talking about changing anything. Documenting would have been enough in my mind. But sure, we can also change the plotting test cases.
And I don't know if the other suggested change (about the normalization to the absolute histogram) is helpful to others, but I find it useful when looking at event weights. If you think that others might also want to use it, then we could maybe introduce another tag for this.
Can you add normalize and normalizeWithoutOverUnderflow to the test cases? Then we can look at the results to see how these interact with one another at the moment, and then we can decide if anything should be changed or if we just want to add a bit of documentation.
are already present in the test cases. The normalization seems to work fine (eyeballed it...) and when adding the normalizeWithoutOverUnderflow=true, the lowest bin grows slightly. It looks reasonable to me. I don't think that we need to test the fourth case if we explicitly state that the two tags go together.
On second thought, we could also automatically set normalize=true if normalizeWithoutOverUnderflow=true. Maybe that's more intuitive. I guess we'd also have to do the same thing with the normalizeToTotalBkg tag to be consistent.