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

Hi,
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

Lorenzo

Hi,

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.

Thanks

Hi,

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