37 ATH_MSG_ERROR(
"Wrong initialisation of eta bins. Check the eta bin values in " << name() );
38 return StatusCode::FAILURE;
43 ATH_MSG_ERROR(
"Wrong initialisation of eta bins in " << name() <<
". Values are not sorted!" );
44 return StatusCode::FAILURE;
47 using setOfCuts = std::variant< std::reference_wrapper<std::vector <double>>, std::reference_wrapper<std::vector <int>> >;
75 for (setOfCuts&
cuts : allCuts) {
76 auto sCode = std::visit([noOfEtaBins] (
auto & testingCuts) -> StatusCode {
78 if (testingCuts.get().size() == noOfEtaBins)
79 return StatusCode::SUCCESS;
81 if (testingCuts.get().size() > noOfEtaBins)
82 return StatusCode::FAILURE;
84 if (testingCuts.get().size() < noOfEtaBins)
85 testingCuts.get().resize(noOfEtaBins, testingCuts.get().back());
87 return StatusCode::SUCCESS;
90 if (sCode.isFailure()) {
148 return StatusCode::SUCCESS;
155 return StatusCode::SUCCESS;
160 double absEta = std::abs(
eta);
162 ATH_MSG_INFO(
"Requesting cut value outside of configured eta range: clamping eta="
163 << absEta <<
" to eta="
167 const auto pVal = std::lower_bound(
m_etaBins.value().begin(),
m_etaBins.value().end(), absEta);
168 const int bin = std::distance(
m_etaBins.value().begin(), pVal) - 1;
169 ATH_MSG_DEBUG(
"Checking (abs(eta)/bin) = (" << absEta <<
"," <<
bin <<
")");
179 cuts.resize(noOfEtaBins);
184 else ATH_MSG_ERROR(
"CutName not recognized. Cuts will remain unchanged.");
194 cuts.resize(noOfEtaBins);
199 else ATH_MSG_ERROR(
"CutName not recognized. Cuts will remain unchanged.");
Scalar eta() const
pseudorapidity method
IntegerArrayProperty m_minClusters
IntegerArrayProperty m_nWeightedClustersMin
std::unordered_map< InDet::CutName, std::vector< int > > m_mapIntCuts
T getValueAtEta(const std::vector< T > &cuts, const double eta) const
int getMinSiNotSharedAtEta(const double eta) const override final
IntegerArrayProperty m_maxHoles
IntegerArrayProperty m_minInPixelHits
std::unordered_map< InDet::CutName, std::vector< double > > m_mapDoubleCuts
int getMinSiHitsAtEta(const double eta) const override final
int getMaxSharedAtEta(const double eta) const override final
IntegerArrayProperty m_maxDoubleHoles
DoubleArrayProperty m_etaBins
IntegerArrayProperty m_maxHolesPattern
int getMaxSctHolesAtEta(const double eta) const override final
void getValue(const InDet::CutName cutName, std::vector< double > &cut) override final
DoubleArrayProperty m_maxZImpact
StatusCode finalize() override final
double getMaxChi2AtEta(const double eta) const override final
double getMaxEta() const override final
IntegerArrayProperty m_maxPixelHoles
virtual ~InDetEtaDependentCutsSvc() override final
Destructor:
double getMaxZImpactAtEta(const double eta) const override final
int getMinPixelHitsAtEta(const double eta) const override final
int getIndexByEta(const double eta) const
int getMinInnermostPixelHitsAtEta(const double eta) const override final
int getMinStripHitsAtEta(const double eta) const override final
DoubleArrayProperty m_maxPrimaryImpact
IntegerArrayProperty m_minStripHits
IntegerArrayProperty m_maxHolesGapPattern
IntegerArrayProperty m_minPixelHits
DoubleArrayProperty m_minPT
StatusCode initialize() override final
double getMinPtAtEta(const double eta) const override final
DoubleArrayProperty m_phiWidthBrem
int getMaxPixelHolesAtEta(const double eta) const override final
IntegerArrayProperty m_maxSctHoles
IntegerArrayProperty m_minSiNotShared
InDetEtaDependentCutsSvc(const std::string &name, ISvcLocator *sl)
Constructor with parameters:
DoubleArrayProperty m_Xi2maxNoAdd
DoubleArrayProperty m_maxdImpactSSSSeeds
DoubleArrayProperty m_Xi2max
int getMaxSiHolesAtEta(const double eta) const override final
int getMaxDoubleHolesAtEta(const double eta) const override final
double getMaxPrimaryImpactAtEta(const double eta) const override final
IntegerArrayProperty m_maxShared
DoubleArrayProperty m_etaWidthBrem
DoubleArrayProperty m_minPTBrem