ATLAS Offline Software
eFexTauRoIThresholdsTool.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
5 
7  const RoIThresholdsTool::ThrVec& menuThresholds,
8  const TrigConf::L1ThrExtraInfoBase& /*menuExtraInfo*/) const {
9  // Get RoI properties (once, rather than for every threshold in the menu)
10  unsigned int et = roi.etTOB();
11  unsigned int rcore = roi.tauOneThresholds(); // eTau algorithm agnostic version corresponding to rCoreThresholds or bdtThresholds
12  unsigned int rhad = roi.tauTwoThresholds(); // a.k.a. rHad
13  int ieta = roi.iEta();
14 
15  uint64_t thresholdMask = 0;
16  // Iterate through thresholds and see which ones are passed
17  for (const std::shared_ptr<TrigConf::L1Threshold>& thrBase : menuThresholds) {
18 
19  std::shared_ptr<TrigConf::L1Threshold_eTAU> thr = std::static_pointer_cast<TrigConf::L1Threshold_eTAU>(thrBase);
20 
21  // Test ET threshold and core and hadronic ratio codes, set bit in threshold word if conditions met
22  if (et > thr->thrValueCounts(ieta) && rcore >= static_cast<unsigned int>(thr->rCore()) && rhad >= static_cast<unsigned int>(thr->rHad()) ) {
23  thresholdMask |= (1<<thr->mapping());
24  }
25  }
26  return thresholdMask;
27 }
28 
29 
TrigConf::L1Threshold::mapping
unsigned int mapping() const
Accessor to the mapping number The mapping is unique within a type.
Definition: L1ThresholdBase.h:163
et
Extra patterns decribing particle interation process.
eFexTauRoIThresholdsTool::getPattern
virtual uint64_t getPattern(const xAOD::eFexTauRoI &roi, const ThrVec &menuThresholds, const TrigConf::L1ThrExtraInfoBase &menuExtraInfo) const override
Definition: eFexTauRoIThresholdsTool.cxx:6
xAOD::eFexTauRoI_v1::tauTwoThresholds
unsigned int tauTwoThresholds() const
Tau Condition 2 (generic) results.
Definition: eFexTauRoI_v1.cxx:205
TrigConf::L1ThrExtraInfoBase
L1 extra information for certain threshold types.
Definition: L1ThresholdBase.h:72
xAOD::eFexTauRoI_v1::tauOneThresholds
unsigned int tauOneThresholds() const
Tau Condition 1 (generic) results.
Definition: eFexTauRoI_v1.cxx:201
TrigConf::L1Threshold_Calo::thrValueCounts
virtual unsigned int thrValueCounts(int eta=0) const
Definition: L1ThresholdBase.cxx:278
xAOD::eFexTauRoI_v1
Class describing a LVL1 eFEX tau region of interest.
Definition: eFexTauRoI_v1.h:29
xAOD::uint64_t
uint64_t
Definition: EventInfo_v1.cxx:123
RoIThresholdsTool::ThrVec
std::vector< std::shared_ptr< TrigConf::L1Threshold > > ThrVec
Definition: IRoIThresholdsTool.h:24
TrigConf::L1Threshold_eTAU::rCore
Selection::WP rCore() const
Definition: L1Threshold.h:219
eFexTauRoIThresholdsTool.h
xAOD::rcore
rcore
Definition: TrigPhoton_v1.cxx:79
xAOD::eFexTauRoI_v1::etTOB
unsigned int etTOB() const
Cluster ET (TOB ET scale, 100 MeV/count)
Definition: eFexTauRoI_v1.cxx:155
xAOD::eFexTauRoI_v1::iEta
int iEta() const
setter for the above
Definition: eFexTauRoI_v1.cxx:261
TrigConf::L1Threshold_eTAU::rHad
Selection::WP rHad() const
Definition: L1Threshold.h:220