The following are extracted from the nodes with the red horizontal bars in Bill's worksheet "BKG_Rejection_DC1"
This is actually done in a special cut node prceding the above.
AcdActiveDist < -10 &
AcdRibbonActDist < -10
Category | additional rejection | |
---|---|---|
Vertex | High Cal | Tkr1ToTFirst > 200 | EvtCalETrackDoca > 3.25 | Tkr1ToTTrAve > 93 | (AcdDoca < 100 & Tkr1SSDVeto == 0) |
Med Cal | Tkr1ToTFirst > 200 | EvtCalETrackDoca > 3.25 | Tkr1ToTTrAve > 93 | (AcdDoca < 100 & Tkr1SSDVeto == 0) |
|
Low Cal | Tkr1ToTFirst > 4.5 | Tkr1ToTAve > 3.5 | AcdTotalEnergy > .25 | VtxAngle > .4 |
|
1 track | High Cal | CalLRmsRatio > 5 |
Med Cal | Tkr1ToTAve > 3 | AcdTotalEnergy > 5 | EvtTkrComptonRatio < 1. |
|
Low Cal | Tkr1ToTAve > 3 | AcdTileCount > 0. | AcdRibbonActDist > -300 | EvtTkrComptonRatio < 1.05 | FilterStatus_HI > 3 |
The definitions of the calorimeter categories are from the post-Rome PSF,
defined by the IM string:
ifelse((CalEnergySum< 3500. |
CalTotRLn < 2), ifelse((CalTotRLn < 2 | CalEnergySum < 350),ifelse((CalTotRLn <
2 | CalEnergySum < 5), "NoCal", "LowCal"),"MedCal"),"HighCal")
Category | Acceptance expression (IM) | (equivalent C) |
---|---|---|
High Cal | not[CalEnergySum< 3500. | CalTotRLn < 2] | CalEnergySum>= 3500. && CalTotRLn >= 2 |
Med Cal | not[ CalTotRLn < 2 | CalEnergySum < 350 ] | CalEnergySum>= 350. && CalTotRLn >= 2 |
Low Cal | not[CalTotRLn < 2 | CalEnergySum < 5] | CalEnergySum>= 5. && CalTotRLn >= 2 |
NOCAL |
CalEnergySum < 5 | CalEnergySum < 5 || CalTotRLn <2 |
The VTX/1TKR split is defined by the expression VtxAngle>0
For DC1 only, we are able to avoid evaluating the CT's, since there is little further rejection for photons.
This the above has been implemented in C++ by Luis Reyes, the following code from irfAnalysis/src/PSF.cxx 1.13.(tag v5)
And finally, code in merit/ClassificationTree that sets IMgammaProb in the merit tuple:
bool veto=false; // default no veto if(VtxAngle>0.0){ // VERTEX if(EvtEnergySumOpt<=350.0) { // LOCAL veto= Tkr1ToTFirst > 4.5 || Tkr1ToTAve > 3.5 || AcdTotalEnergy > 0.25 || VtxAngle>0.4 ; } // MEDCAL, HICAL: pass } else{ // 1 TRACK if(EvtEnergySumOpt <= 350.0) { // LOCAL veto = Tkr1ToTAve > 3.0 || AcdTileCount > 0.0 || AcdRibbonActDist >-300.0 || EvtTkrComptonRatio <1.05 || FilterStatus_HI >3.0 ; }else if( EvtEnergySumOpt <= 3500.0){ // MEDCAL veto = Tkr1ToTAve >3.0 || AcdTotalEnergy >5.0 || EvtTkrComptonRatio <1.0 ; } // HICAL: pass } return veto;