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 225 of file ParticleScaleFactorTool.cxx.

225 {
226 //find hist that matches basename and take the one that has the closest parameter value
227 std::pair<CP::SystematicVariation,TH1*> result(CP::SystematicVariation(""),0);
228 for(auto& s : hists) {
229 if(s.first.basename()!=set.basename()) continue;
230 if(!result.second) {result = s;}
231 else {
232 if(set.parameter()*s.first.parameter()>0) result = s;
233 }
234 }
235 if(result.second) return result;
236 //return nominal
237 auto it = hists.find(CP::SystematicVariation(""));
238 if (it != hists.end()){
239 result = *it;
240 } else {
241 throw std::runtime_error("ParticleScaleFactorTool::Hists::getHist: hist not found!");
242 }
243 return result;
244}
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: