Applying PMT maximal quantum efficiency before tracking

From Daya Bay

Jump to: navigation, search

Why is it needed?

The maximal quantum efficiency of the PMT's in DayaBay is ~0.32. This means that only 32% of the tracked photons can make hits on the PMTs. One can save the simulation time avoiding tracking these photons.

How does it work?

If turned on the maximal PMT QE is applied to the mean number of photons generated in Cerenkov and Scintillation processes on each step.

After tracking the photons to the PMT, the actual PMT QE is divided by the maximal PMT QE. Finally there is no effect on the PMT quantum efficiency itself, just a speed up of the photon simulation.


The maximal QE of 0.32 is applied by the default. One can use the following options in order to turn max. QE off or to change it. Notice that the options are applied twice: to the optical processes constructor and to the PMT sensitive detector.

from DetSim.DetSimConf import DsPhysConsOptical
optical = DsPhysConsOptical("GiGa.GiGaPhysListModular.DsPhysConsOptical")
optical.ApplyPreQE = applyPreQE
optical.PreQE = preQE

from DetSim.DetSimConf import DsPmtSensDet
pmtsd = DsPmtSensDet("GiGaGeo.DsPmtSensDet")
pmtsd.PreQE = preQE
pmtsd.ApplyPreQE = applyPreQE

Deprecated options

1. The next options that did the same thing are deprecated:

  • optical.ScintPhotonScaleWeight
  • optical.CerenPhotonScaleWeight
  • pmtsd.PreserveWeight

The connection between PhotonScaleWeight and PreQE is simple: PreQE=1/PhotonScaleWeight. PreQE is applied to the both processes.

2. The next options and methods are deprecated:

  • cerenkov.ApplyWaterQe
  • pmtsd.ApplyWaterQe

3. For now PreQE doesn't affect the weight anymore. DsPmtSensDet preserves the weight and sets it to the hits.

Explicit migration instructions

Delete the code for setting ApplyWaterQe and PreserveWeight.

If you did not set the PhotonScaleWeight options, then you do not need to set them now. The default behavior is the same.

If you've used you your own PhotonScaleWeight then you need to set ApplyPreQE=true and PreQE=1/PhotonScaleWeight. Be careful here, PreQE should be higher then any possible value of PMT quantum efficiency. This can lead to deviations in final result. According to this document, it is 0.31.

Personal tools