update_CaloHypoEff
When looping MCParticles, electron hypo is not checked for true photons, photon hypo is not checked for true charged particles. This will not influence the default efficiency and bkg fraction checker, where we check bkg fraction when looping ECAL clusters with e/photon hypothesis. But if one wants to use the information in CaloHypoEff/MCParts
to estimate how many electrons are misID as photons, and how many photons are misID as electrons. For example, before this update we have:
root [5] MCParts->GetEntries("MCP_trueID==11 && photon_hypo ==1")
(Long64_t) 0
root [2] MCParts->GetEntries("MCP_trueID==22 && electron_hypo ==1")
(Long64_t) 0
and after the update we have
root [8] MCParts->GetEntries("MCP_trueID==11 && photon_hypo ==1")
(Long64_t) 3
root [8] MCParts->GetEntries("MCP_trueID==22 && electron_hypo ==1")
(Long64_t) 83
Also propose to add more branches to output of https://gitlab.cern.ch/lhcb/Moore/-/blob/master/Hlt/RecoConf/tests/qmtest/hlt2_reco_calo_efficiency.qmt. Dump the true origin vertex x,y,z info of the major contributor of a cluster. Dump the true info for all MC particles associated with a cluster. For each cluster, we will save at most 150 associated MCParticles. The average particle number per cluster is roughly 10 in a local test, so 150 should be large enough and can also help to prevent a buggy event generating too huge output.