ATLAS Offline Software
Loading...
Searching...
No Matches
UncertaintySet.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef JETUNCERTAINTIES_UNCERTAINTYSET_H
6#define JETUNCERTAINTIES_UNCERTAINTYSET_H
7
8#include "JetUncertainties/UncertaintyEnum.h" //CompScaleVar
9#include "xAODJet/Jet.h" //typedef
10#include "xAODEventInfo/EventInfo.h" //typedef
11
13#include "AsgTools/AsgToolMacros.h" //ASG_TOOL_CLASS0
14
15#include <string>
16#include <vector>
17#include <utility>
18class StatusCode;
19
20namespace CP{
21 class SystematicSet;
22}
23
24
25namespace jet
26{
27 class UncertaintyGroup;
28 class UncertaintySet : virtual public asg::AsgMessaging
29 {
31
32 public:
33 // Constructor/destructor/initialization
34 UncertaintySet(const std::string& name = "");
35 virtual ~UncertaintySet();
36 virtual StatusCode initialize(const CP::SystematicSet& systConfig, const std::vector<UncertaintyGroup*>& groups);
37
38 virtual std::string getName() const;
39
40 // Uncertainty retrieval methods
41 // These only work when the user is asking for a single CompScaleVar (unknown is fine if there's only one type)
42 virtual bool getValidity(const xAOD::Jet& jet, const xAOD::EventInfo& eInfo, const CompScaleVar::TypeEnum scaleVar = CompScaleVar::UNKNOWN) const;
43 virtual double getUncertainty(const xAOD::Jet& jet, const xAOD::EventInfo& eInfo, const CompScaleVar::TypeEnum scaleVar = CompScaleVar::UNKNOWN) const;
44 virtual bool getValidUncertainty(double& unc, const xAOD::Jet& jet, const xAOD::EventInfo& eInfo, const CompScaleVar::TypeEnum scaleVar = CompScaleVar::UNKNOWN) const;
45
46 // More advanced retrieval methods for generic sets
47 virtual std::vector<CompScaleVar::TypeEnum> getScaleVars() const;
48 virtual std::vector< std::pair<CompScaleVar::TypeEnum,bool> > getValiditySet(const xAOD::Jet& jet, const xAOD::EventInfo& eInfo) const;
49 virtual std::vector< std::pair<CompScaleVar::TypeEnum,double> > getUncertaintySet(const xAOD::Jet& jet, const xAOD::EventInfo& eInfo) const;
50 virtual std::vector< std::pair<CompScaleVar::TypeEnum,bool> > getValidUncertaintySet(std::vector< std::pair<CompScaleVar::TypeEnum,double> >& unc, const xAOD::Jet& jet, const xAOD::EventInfo& eInfo) const;
51
52 // Specialty methods
54
55 private:
56 // Private members
57 const std::string m_name;
59 std::vector<UncertaintyGroup*> m_groups;
60 std::vector<float> m_shiftWeights;
61
62
63 // Helper methods
65
66 };
67
68} // end jet namespace
69
70#endif
#define ASG_TOOL_CLASS0(CLASSNAME)
Class to wrap a set of SystematicVariations.
Class mimicking the AthMessaging class from the offline software.
virtual std::vector< std::pair< CompScaleVar::TypeEnum, bool > > getValiditySet(const xAOD::Jet &jet, const xAOD::EventInfo &eInfo) const
virtual std::vector< std::pair< CompScaleVar::TypeEnum, bool > > getValidUncertaintySet(std::vector< std::pair< CompScaleVar::TypeEnum, double > > &unc, const xAOD::Jet &jet, const xAOD::EventInfo &eInfo) const
virtual double getUncertainty(const xAOD::Jet &jet, const xAOD::EventInfo &eInfo, const CompScaleVar::TypeEnum scaleVar=CompScaleVar::UNKNOWN) const
std::vector< float > m_shiftWeights
virtual bool getValidity(const xAOD::Jet &jet, const xAOD::EventInfo &eInfo, const CompScaleVar::TypeEnum scaleVar=CompScaleVar::UNKNOWN) const
const std::string m_name
UncertaintySet(const std::string &name="")
JetTopology::TypeEnum getTopology(const CompScaleVar::TypeEnum scaleVar=CompScaleVar::UNKNOWN) const
virtual bool getValidUncertainty(double &unc, const xAOD::Jet &jet, const xAOD::EventInfo &eInfo, const CompScaleVar::TypeEnum scaleVar=CompScaleVar::UNKNOWN) const
virtual ~UncertaintySet()
virtual std::string getName() const
virtual std::vector< CompScaleVar::TypeEnum > getScaleVars() const
virtual std::vector< std::pair< CompScaleVar::TypeEnum, double > > getUncertaintySet(const xAOD::Jet &jet, const xAOD::EventInfo &eInfo) const
CompScaleVar::TypeEnum getSingleVar() const
std::vector< UncertaintyGroup * > m_groups
Select isolated Photons, Electrons and Muons.
Jet_v1 Jet
Definition of the current "jet version".
EventInfo_v1 EventInfo
Definition of the latest event info version.
void initialize()