16 InclusiveTrackFilterTool::InclusiveTrackFilterTool(
const std::string&
name) :
17 InDetTrackSystematicsTool(
name)
19 #ifndef XAOD_STANDALONE
20 declareInterface<IInclusiveTrackFilterTool>(
this);
27 m_rnd = std::make_unique<TRandom3>(m_seed);
29 TH2* trkLRTEff_tmp =
nullptr;
30 ATH_CHECK( initObject<TH2>( trkLRTEff_tmp,
34 m_trkLRTEff = std::unique_ptr<TH2>(trkLRTEff_tmp);
38 return StatusCode::SUCCESS;
42 InclusiveTrackFilterTool::~InclusiveTrackFilterTool()
49 if (
track ==
nullptr) {
56 const std::bitset<xAOD::NumberOfTrackRecoInfo> patternReco =
track->patternRecoInfo();
57 if(not patternReco.test(49)) {
58 ATH_MSG_DEBUG(
"Applying LRT uncertainties to non-LRT track! Skipping" );
63 if ( isActive( TRK_EFF_LARGED0_GLOBAL ) ) {
64 float probDrop = std::abs(m_trkEffSystScale);
65 probDrop *= std::abs(getTrackUncertainty(
track ));
67 if ( m_rnd->Uniform(0, 1) < probDrop )
return false;
75 if (m_trkLRTEff ==
nullptr) {
76 ATH_MSG_ERROR(
"LRT track efficiency histogram is not property initialized!" );
79 return m_trkLRTEff->GetBinContent(std::as_const(m_trkLRTEff)->
FindBin(
track->radiusOfFirstHit(),
track->eta()));
84 return InDetTrackSystematicsTool::isAffectedBySystematic( syst );
89 return FilterSystematics;
94 return InDetTrackSystematicsTool::recommendedSystematics();
99 return InDetTrackSystematicsTool::applySystematicVariation(systs);