TEFFICIENCY conditions

I have 3 histograms and I would calculate the efficiency using TEFFICEICNY. and I got the error that the histograms do not meet the requirement ( [CheckConsistency])
My question How to make sure that my histograms meet the 3 conditions of TEFFICIENCY when they are being filled ?

Thanks a lot

The conditions for TEfficiency is that :

  • histogram have the same axis
  • the passed histogram is a subset of the total histogram, i.e. all the entries of the passed histograms are also entries of the total one


1 Like


Let me rephrase that. for example, to determine the efficiency I took the number of clusters that pass my selections and divide it over the total number of generated event. I’ve got two histograms contain different entries(one for the clusters and the second for truth).My question now is how to make sure that my 2 histograms have the same entries when I fill them, in order to use TEfficiency class.



I never said the two histograms must have the same entries. The total histogram has to contained all the entries of the passed one (i.e. the events that passed the selection) plus the events that do not pass the selection.
So you can ensure this , by for example the TEfficiency class from the beginning and fill it using
TEfficiency::Fill( passed, x) here passed is a bool flag saying if the event passed or not the selection.
See https://root.cern.ch/doc/master/classTEfficiency.html#ac76f07d7362606a4a46574f02cd738ae

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.