ATLAS Offline Software
Loading...
Searching...
No Matches
ParticleScaleFactorTool::Hists Struct Reference
Collaboration diagram for ParticleScaleFactorTool::Hists:

Public Member Functions

const std::pair< CP::SystematicVariation, TH1 * > getHist (const CP::SystematicVariation &set) const

Public Attributes

std::map< CP::SystematicVariation, TH1 * > hists
std::vector< std::function< double(const xAOD::IParticle &)> > axisFuncs

Detailed Description

Definition at line 72 of file ParticleScaleFactorTool.h.

Member Function Documentation

◆ getHist()

const std::pair< CP::SystematicVariation, TH1 * > ParticleScaleFactorTool::Hists::getHist ( const CP::SystematicVariation & set) const

Definition at line 224 of file ParticleScaleFactorTool.cxx.

224 {
225 //find hist that matches basename and take the one that has the closest parameter value
226 std::pair<CP::SystematicVariation,TH1*> result(CP::SystematicVariation(""),0);
227 for(auto& s : hists) {
228 if(s.first.basename()!=set.basename()) continue;
229 if(!result.second) {result = s;}
230 else {
231 if(set.parameter()*s.first.parameter()>0) result = s;
232 }
233 }
234 if(result.second) return result;
235 //return nominal
236 auto it = hists.find(CP::SystematicVariation(""));
237 if (it != hists.end()){
238 result = *it;
239 } else {
240 throw std::runtime_error("ParticleScaleFactorTool::Hists::getHist: hist not found!");
241 }
242 return result;
243}
constexpr std::enable_if_t< is_bitmask_v< E >, E & > set(E &lhs, E rhs)
Convenience function to set bits in a class enum bitmask.
Definition bitmask.h:232
std::map< CP::SystematicVariation, TH1 * > hists

Member Data Documentation

◆ axisFuncs

std::vector<std::function<double(const xAOD::IParticle&)> > ParticleScaleFactorTool::Hists::axisFuncs

Definition at line 75 of file ParticleScaleFactorTool.h.

◆ hists

std::map<CP::SystematicVariation,TH1*> ParticleScaleFactorTool::Hists::hists

Definition at line 73 of file ParticleScaleFactorTool.h.


The documentation for this struct was generated from the following files: