Introduction
I've gone back to Eric's old page with the hope of picking up where he left off. Of course, this leads to the always enjoyable task of replicating the work that he has already done. The working directory for the previous analysis is:
/afs/slac/u/ek/echarles/vol2/glast_workdirs/GR_v15r50p3
From there, I have been able to more or less reconstruct the analysis that Eric was performing. Building my own version of GR v15r50p3, I used the runme.csh and runme_ag.csh scripts (with minor modifications) in order to generate a set of background and allGamma MC. Key points about these MC simulations:
- The bkg sims are on orbit using a mix of particle types...
- Other ???
Looking in gamma_ana.txt, I found the exact cuts that Eric was using. Namely, the prefilters that were being applied before the cut efficiencies were evaluated. I've listed them here for completeness. One slightly troubling detail is the dependence on CTBCore > 0.1 (which has not yet been defined in the Pass8 analysis).
nSig |
nBkg |
---|---|
~9x10^5 |
~4x10^6 |
Name |
Purpose |
Gamma Efficiency |
Bkg Efficiency |
Cut |
---|---|---|---|---|
IrrFilter |
Remove irreducible bkg events |
0% |
13% |
((McZDir < -.2 && McId < 20) | (McZDir < .1 & McId > 20)) && McAcdZEnter > 100 && McCharge !=0 && McTHPosHitOthers < 6 |
TkrCalCore |
Take only "good" events |
6.2% |
2.2% |
TkrNumTracks>0 && CalEnergyRaw > 5 && CalCsIRLn>4 && CTBCORE>0.1 |
AcdEngFilter |
Only events with moderate signal in the ACD |
0% |
47% |
(AcdTotalEnergy+AcdRibbonEnergy<0.05) && McZDir > 0 |
Prefilter |
Only select relevant events |
6.2% |
1.2% |
(TkrCalCore && !(IrrFilter) && !(AcdEngFilter) |
|
nSig |
nBkg |
---|---|---|
Before Prefilters |
~9x10^5 |
~4x10^6 |
After Prefilters |
55015 |
48614 |
Pass 6 Performance
After applying the prefilters (which cut out a large portion of un-reconstructable events, I apply the ACD background rejection cuts, omitting the CT analysis to the files that I generated with Eric's scripts.
Name |
Purpose |
Gamma Efficiency |
Bkg Efficiency |
Cut |
---|---|---|---|---|
BasicTileCut |
Reject events with track pointing at struck tile. |
95.2% |
7.85% |
(Tkr1SSDVeto == 0 && AcdTkr1ActiveDist > -16 && AcdTkr1ActDistTileEnergy > .4) |
RibbonCut |
Reject events with track pointing at struck ribbon. |
94.9% |
7.43% |
(AcdRibbonActDist > -(2 +350/sqrt(max(20,CTBBestEnergy))) && Tkr1SSDVeto < 3 && AcdRibbonEnergy > .05 ) |
TotalTileEnergyCut |
Reject events with excess ACD total energy. |
89.3% |
1.17% |
(AcdTotalTileEventEnergyRatio > .8 || (AcdTkr1ActiveDistENorm > -300 && AcdTotalTileEventEnergyRatio > max(.005, .1 - .0001*AcdTkr1ActiveDistENorm))) |
CornerCut |
Reject events in the corner gap of the ACD. |
88.4% |
1.15% |
((Tkr1LATEdge/1.5) ^ 2 + (AcdCornerDocaENorm - 10)^ 2 < 3800 || (Tkr1LATEdge < 80 && abs(AcdCornerDocaENorm-2) < 4)) && Tkr1SSDVeto < 3 |
TileEdgeCut |
Reject events at tile edges with decreased signal. |
88.3% |
1.15% |
(abs(AcdTkr1ActiveDistENorm) < 15 && AcdTotalTileEventEnergyRatio > .005) |
These numbers seem to agree well with Eric's results. However, it naively seems like there are still some photons sneaking into the bkg sample. This is because selecting !(IrrFilter) will return True if McCharge == 0 (leaving about ~50 gamma events out of ~550). Putting a cut on McCharge, we now get a background rejection of 1.03%.
Pass 7 Performance
Moving on to Pass7, the ACD analysis has be modified a fair amount. I rebuilt GR v17r35p10 and generated roughly the same number of signal and background events (again using Eric allGamma.txt and background.txt scripts).
The efficiency for the prefilters is effectively the same (13% Irreducibles, 47% AcdEngCut, 2.2% TkrCalCore) leaving a total of 1.3% of the bkg and XX% of the gamma-ray events.
Name |
Purpose |
Gamma Efficiency |
Bkg Efficiency |
Cut |
---|---|---|---|---|
BasicTileCut |
Reject events with track pointing at struck tile. |
|
6.18% |
Tkr1SSDVeto< 5 && AcdTkr1ActDistTileEnergy > .7 && AcdTkr1ActiveDistENorm> -350 |
RibbonCut |
Reject events with track pointing at struck ribbon. |
|
5.85% |
(AcdTkr1RibbonActDistENorm > -40 && Tkr1SSDVeto < 3 && AcdTkr1RibbonActDistMaxTileEnergy > .04) || (AcdTkr1RibbonDist > -1/(CTBBestEnergy/100) && Tkr1SSDVeto < 2) |
TotalTileEnergyCut |
Reject events with excess ACD total energy. |
|
|
AcdTotalTileEventEnergyRatio > .8 || AcdTkr1ActiveDistENorm > -200 && AcdTotalTileEventEnergyRatio > max(.005, .1 - .0001*AcdTkr1ActiveDistENorm) * max(1., CTBBestLogEnergy/2.5) |
CornerCut |
Reject events in the corner gap of the ACD. |
|
2.08% |
((Tkr1LATEdge/1.5)^2 + (AcdCornerDocaENorm - 10)^2 < 6400 && Tkr1SSDVeto < 3) || (Tkr1LATEdge < 300 && abs(AcdCornerDocaENorm-2) < 4) |
TileEdgeCut |
Reject events at tile edges with decreased signal. |
|
2.06% |
Tkr1SSDVeto == 0 & abs(AcdTkr1ActiveDistENorm) < 10 & AcdTkr1ActDistTileEnergy > .025 |
VetoTileCut |
Reject events with ... |
|
1.71% |
(AcdTkrVActiveDistENorm > -100 && AcdActDistTileEnergy / sqrt(max(1., CTBBestLogEnergy-3.5)) > .9 +.15* TkrVSSDVeto) || (abs(AcdTkrVActiveDistENorm) < 15 && AcdActDistTileEnergy > .25 && TkrVSSDVeto < 2) |