Update on Trigger Efficiency

Last week, it was noticed the procedure to estimate the trigger efficiency neglected the effect of the BFC filter.  This is an update on including this effect.  Severl methods are introduced--the first one being the intended method, and the others are for cross checks.  The following assumes the BFC filter cuts everything the Pythia filter cuts, plus possibly more, and that the trigger cut cuts everything the BFC filter cuts, plus possibly more.

Efficency Decomposition

One can decompose the trigger efficiency as

( conditional probability of passing Pythia filter, given event with pi^0 of certain pT) x ( conditional probability same event passes BFC filter, given passed Pythia filter ) x (  conditional probability event passes trigger, given passed both filters)

It shall be implicitly assumed that the BFC filter is stricter than the Pythia filter, i.e. no events which failed the Pythia filter filter would pass the BFC filter.  Thus the efficiency from the BFC filter along is the same as the product of the efficiency form the BFC run on Pythia filtered data, times the efficiency of the Pythia filtered data.

I'll abreviated the three parts of the total trigger efficiency as (pFilt) x (bFilt) x (trig).  It is possible to calculate each individually, or compute two or three simultainiously.  The possibilities (and associated data samples) considered herein are
  • (pFilt) alone: unofficial Pythia production using ROOT, no GEANT, implemented a copy of the Pythia filter
    • compare number of pi0 per pT bin passing filter vs total number pi0 per pT bin.
  • (bFilt) alone: unofficial Pythia production using STARSIM/GEANT and BFC, using official code, both filters on
    • compare number of pi0 per pT bin in .fzd file (after converting it to .geant.root) vs pi0 per pT bin in .geant.root file from the BFC
  • (trig) alone: the official Pythia production + official trigger simulator
    • compare number of pi0 per pT bin in events passing trigger vs. all events in the MuDst/geant file
  • [(pFilt) x (bFilt)]: unofficial Pythia production using STARSIM/GEANT and BFC, using official code, Pythia filter off, BFC filter on
    • compare number of pi0 per pT bin in .fzd file (after converting it to .geant.root) vs pi0 per pT bin in .geant.root file from the BFC
  • [(bFilt) x (trig)]: unofficial Pythia production using STARSIM/GEANT and BFC, using official code, both filters on, simulated trigger applied
    • compare number of pi0 per pT bin in .fzd file (after converting it to .geant.root) vs pi0 per pT bin in events passing simu trigger from MuDst/geant files.
  • [(pFilt) x (bFilt) x (trig)]: unofficial Pythia production using STARSIM/GEANT and BFC, using official code, Pythia filters off, BFC filter on, simulated trigger applied
    • compare number of pi0 per pT bin in .fzd file (after converting it to .geant.root) vs pi0 per pT bin in events passing simu trigger from MuDst/geant files.
There are then several checks than can be performed.  Note: [ ] will indicate which are estimated simultainiously, as was done in the above list.
  1. (pFilt) x (bFilt) = [(pFilt) x (bFilt)]  (checks if unofficial Pythia filter copied correctly)
  2. (bFilt) x (trig) = [(bFilt) x (trig)] (checks if BFC filter used the same way in official vs unofficial productions)
  3. [(pFilt) x (bFilt)] x (trig) = (pFilt) x (bFilt) x (trig) (numerically redundant)
  4. (pFilt) x [(bFilt) x (trig)] = (pFilt) x (bFilt) x (trig) (numerically redundant)
  5. [(pFilt) x (bFilt) x (trig)] = (pFilt) x (bFilt) x (trig) (checks combined effect of both filters)
There are also some event level checks that can be performed
  1. Compare percentage of events generated vs thrown in Pythia, official vs. unofficial -- Pythia filter off (checks if Pythia settings match)
  2. Compare percentage of events generated vs thrown in Pythia, official vs. unofficial -- Pythia filter on (checks if filter code and settings match)
  3. Compare percentage of events cut by BFC filter, official vs unofficial -- BFC filter on (checks if filter settings match)
It is computationally advantageous to compute each part seperately, but the checks help rule out many possible bugs.


(pFilt)



(bFilt)


Note: the BFC filter seems to plateau about the same place as the Pythia filter, around 6 GeV.

[(pFilt) x (bFilt)]


The statistics are low, but the product of (bFilt) and (pFilt) suggest the first bin of the above plot be around 0.084 and a plateau after 6 GeV of about 0.6 to 0.65.  Given the statistics, this looks reasonable.

(trig)


[(bfilt) x (trig)]


From the product of the individual (bFilt) and (trig) plots, one would have expected the first four bins to be about 0.03, 0.16, 0.27, and 0.38, and one would expect the plot to plateau at 0.67 in the 10-12 GeV bin.  The agreement is consistant within the uncertainties.


[(pFilt) x (bFilt) x (trig)]


The statistics are poor, as running without the Pythia filter decreases the ratio of events passing over the number of events processed.  However, from multiplying each (pFilt), (bFilt) and (trig) seperately, one would expect the first four bins to be 0.01, 0.1, 0.2 and 0.3.  One would expect the plot to plateau around 10-12 GeV at a value near 0.5.  The plot is consistent within uncertainties, but the uncertainties are large.

Event Level Checks:

Pythia Level:

Cross section (official on the left, unofficial on the right, each line is a partonic pT bin, in increasing pT)
0.413697        0.41374
0.0601221       0.06023
0.00773463      0.0077024
0.00039945      0.00040013
Number passing Pythia filter over number "Generated" (official on the left, unofficial on the right, each line is a partonic pT bin, in increasing pT)
0.0154422    0.0156772
0.0741092    0.0739243
0.203957     0.202371
0.273928     0.27558

BFC Level:

Number of events passing BFC filter divided by number of events input to filter, i.e. having passed the Pythia filter, (official on the left, unofficial on the right, each line is a partonic pT bin, in increasing pT)
0.0626103 0.0616368
0.0943462 0.0967442
0.167509  0.171272
0.326228  0.327155
All checks look OK.


Conclusions

So far, it looks like the multiple ways of computing the trigger (considered herein) are consistant.  The studies could be repeated with increasted statistics to draw even stronger conclusions, but there is no indication of troubles thus far.

Note: the inclusion of the BFC filter in the trigger efficiency estimate increases the cross section by a flat (since the filter has already past the saturation level at 6 GeV) factor of about 1/0.75 = 1.3.  Note, this will move the 6-7 GeV bin from being 0.4 of the theory to about 0.5 of the theory.  This correction does not resolve the continued discrepancy between the theory and data.