Include Jet energy calibration option in FastJetBuilder
Include Jet Energy Calibration in FastJetBuilder.
Code is similar to Run2, using a TH1D
from a root file in ParamFiles
.
Moore!1586 (merged) depends on this MR.
Merge request reports
Activity
added Jets label
mentioned in merge request Moore!1586 (merged)
added RTA label
added 50 commits
-
a45a5d5e...ee8bc5c3 - 48 commits from branch
master
- 450306be - Change FastJetBuilder.cpp to include jet energy correction (JEC)
- 8bd9e49e - FastJetBuilder.cpp formatting
-
a45a5d5e...ee8bc5c3 - 48 commits from branch
assigned to @fsouzade
- [2022-06-04 12:38] Validation started with lhcb-master-mr#4638
- [2022-06-08 13:05] Validation started with lhcb-master-mr#4673
- [2022-06-11 09:36] Validation started with lhcb-master-mr#4715
Edited by Software for LHCbadded 12 commits
-
d29aa1d0...4831a132 - 8 commits from branch
master
- f30d3e11 - Change FastJetBuilder.cpp to include jet energy correction (JEC)
- dc173ed3 - FastJetBuilder.cpp formatting
- 349aa975 - updated TODO list and reorganized print
- a5d5cc47 - removing jets reconstructed as only one photon
Toggle commit list-
d29aa1d0...4831a132 - 8 commits from branch
- Resolved by Murilo Santana Rangel
added 1 commit
- ea1a169e - removed mutable for TH1D map, use FindFixBin for const TH1
- Resolved by Sebastien Ponce
/ci-test Moore!1586 (merged)
added ci-test-triggered label
mentioned in commit 34f205fa
mentioned in issue Moore#444 (closed)
592 void FastJetBuilder::jec( LHCb::Particle* prt, int nPVs ) const { 593 Gaudi::LorentzVector vec = prt->momentum(); 594 double pt( vec.Pt() / Gaudi::Units::GeV ), eta( vec.Eta() ), phi( vec.Phi() ), 595 cpf( prt->info( LHCb::JetIDInfo::CPF, 0 ) ); 596 std::size_t iPvs( 0 ), iEta( 0 ), iCpf( 0 ), iPhi( 0 ); 597 phi = abs( abs( phi ) - M_PI / 2.0 ); 598 599 for (; iPvs<m_jecLimNPvs.size()-2;++iPvs) if (nPVs < m_jecLimNPvs[iPvs+1]) break; 600 for (; iEta<m_jecLimEta.size()-2;++iEta) if (eta < m_jecLimEta[iEta+1]) break; 601 for (; iCpf<m_jecLimCpf.size()-2;++iCpf) if (cpf < m_jecLimCpf[iCpf+1]) break; 602 for (; iPhi<m_jecLimPhi.size()-2;++iPhi) if (phi < m_jecLimPhi[iPhi+1]) break; 603 604 if ( pt < m_jecLimPt[0] ) pt = m_jecLimPt[0]; 605 if ( pt > m_jecLimPt[m_jecLimPt.size()-1] ) pt = m_jecLimPt[m_jecLimPt.size()-1]; 606 607 int hkey = iPvs+100*iEta+1000*iCpf+10000*iPhi; computing the histogram key using a configurable discretization is intrinsically dangerous -- there is no way to know here whether the configured discretization is compatible with the one used when deriving these histograms. This information should be stored with the histograms, and not be configured independently as there is no free choice here, and it only increases the chances of mistakes.