Modifying PPV to use the DB for cuts on track selection

As a follow-up to achieve the request to modify PPV to improve efficieny in the Run 12 pp510 W data, the following actions have been taken...

Two sets of cuts have existed for the past several years. These are:

  1. Looser cuts used historically by the Minuit vertex finder
    • stored in the Calibrations_tracker / PrimaryVertexCuts database table
  2. Tighter cuts used historically by the PPV vertex finder
    • hardwired in the code since PPV was introduced in 2005

Here were the necessary modifications:

  • Codes (to work in SL13b):
    • StDb/idl/VertexCuts.idl (vers. 1.2)
      • add two fields used by PPV
    • StRoot/StGenericVertexMaker/Minuit/St_VertexCutsC.h (vers. 1.2)
      • accessors for two fields used by PPV
    • StRoot/StGenericVertexMaker/StiPPVertex/StPPVertexFinder.h (vers. 1.18)
    • StRoot/StGenericVertexMaker/StiPPVertex/StPPVertexFinder.cxx (vers. 1.44)
      • use the DB table in PPV
    • StRoot/StBFChain/StBFChain.cxx (vers. 1.600 [or 1.601, which includes an additional innocuous info statement from Victor])
      • implement DB flavors by file stream
  • Database (Calibrations_tracker / PrimaryVertexCuts):
    • Initialization for ideal simulations for Runs 12 & 13 using cuts A [2011-12-10 and 2012-12-10 "ofl"]
    • Runs 12 & 13 initial values set to cuts B [2011-12-20 and 2012-12-20 "ofl"]
    • Run 12 UU & CuAu set to cuts A [2012-04-23 18:00 "ofl"]
    • Run 12 UU & CuAu "upc" stream set to cuts B [2012-04-23 18:00 "upc"]
    • Run 12 pp510 "W" stream set to cuts B, with MinFracOfPossFitPointsOnTrack reduced to 0.51, RImpactMax reduced to 2.0 (historically 0.7 & 3.0) [2012-03-16 "W"]

NB: PPV has been modified to use the database table for track selection cuts (as well as use nFit/nPossible to weight tracks for their contribution to ranking) only in the cases of pure simulation (not embedding) and run numbers >= 13000000, and to continue using the hardwired cut values otherwise. This means that almost all past data reconstruction will behave as before with the exception of pure simulations. Anyone studying pure simulations should consider either...

  • using an "sdt" chain option to execute the production as if the data was taken during the period of the actual Run when such data was taken (e.g. using "sdt20120430" would consider the data as being during the AuAu operations), or...
  • using a local (StarDb) file of PrimaryVertexCuts.*.*.C as desired. (see the comment below)
I am expecting some of the DEV nightly tests which use pure simulation, the PPV vertex finder, and no "sdt" chain option to see a change in results when these modifications take effect at the next re-build of DEV.

-Gene