Updates on FinalPIDSvc
Dear Experts,
This MR mainly regards updates on PID:
- A new service: Service/FinalPIDSvc. It performs currently most updated PID, including lepton ID, charged hadron ID, and photon ID, at the PFO level.
- The algorithm Reconstruction/ParticleID/src/FinalPIDAlg is changed, such that FinalPIDSvc is implemented and used. What it does is to process all PFOs, perform PID, and save the results in a new ReconstructedParticle collection named CyberPFOPID, as well as a ParticleID collection named ParticleID. Besides, the mass of charged PFOs are changed accordingly.
- The script rec.py is modified accordingly, such that the PID algorithm will be performed during reconstruction.
With this updates, one have the tools to implement PID. For future sample generation, we hope to directly get PFOs with PID (CyberPFOPID) such that analyzers won't need to process PID themselves. In CyberPFOPID, you can directly get the PID with lepton working points set as "Best" by pfo.getType(), or get the probabilities to be a certain flavor i by pfo.getParticleIDs(i).getLikelihood().
For detailed tutorials on FinalPIDSvc, please check the repository https://code.ihep.ac.cn/glliu/FinalPIDSvc.
Thanks!
Yours Sincerely, Geliang