ATLAS Offline Software
PerJetFlavourUncertaintyComponent.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef JETUNCERTAINTIES_PERJETFLAVOURUNCERTAINTYCOMPONENT_H
6 #define JETUNCERTAINTIES_PERJETFLAVOURUNCERTAINTYCOMPONENT_H
7 
9 //#include "TF1.h"
10 class TF1;
11 
12 namespace jet
13 {
14 
16 {
17  public:
18  // Constructor/destructor
23  virtual StatusCode initialize(TFile* histFile);
24 
25  // Extra information retrieval methods
26  virtual std::vector<int> getRelevantLabels() const { return m_labels; }
27 
28  protected:
29 
30  // Uncertainty/validity retrieval helper methods
31  virtual bool getValidityImpl(const xAOD::Jet& jet, const xAOD::EventInfo& eInfo) const;
32  virtual double getUncertaintyImpl(const xAOD::Jet& jet, const xAOD::EventInfo& eInfo) const;
33 
34  private:
35  // Default constructor is forbidden
36  PerJetFlavourUncertaintyComponent(const std::string& name = "");
37 
38  // Additional private members
39  const bool m_absEta{};
40  const std::vector<int> m_labels;
42  const bool m_constrainZresponse{};
43  const TString m_constrainZresponseFunc{};
44  const TF1* m_ZjetQuarkFrac{};
45 
46  // Wrappers for special flavour histograms
47  double getFlavourResponseUncertainty(const xAOD::Jet& jet, const xAOD::EventInfo& eInfo) const;
48  bool isSupportedLabel(const int label) const;
49  bool checkTruthLabel(const xAOD::Jet& jet) const;
50 
51 };
52 
53 } // end jet namespace
54 
55 
56 #endif
57 
jet::PerJetFlavourUncertaintyComponent::clone
virtual PerJetFlavourUncertaintyComponent * clone() const
Definition: PerJetFlavourUncertaintyComponent.cxx:51
jet::PerJetFlavourUncertaintyComponent::PerJetFlavourUncertaintyComponent
PerJetFlavourUncertaintyComponent(const ComponentHelper &component)
Definition: PerJetFlavourUncertaintyComponent.cxx:29
PlotCalibFromCool.label
label
Definition: PlotCalibFromCool.py:78
jet::PerJetFlavourUncertaintyComponent::initialize
virtual StatusCode initialize(TFile *histFile)
Definition: PerJetFlavourUncertaintyComponent.cxx:56
jet::PerJetFlavourUncertaintyComponent::m_constrainZresponse
const bool m_constrainZresponse
Definition: PerJetFlavourUncertaintyComponent.h:42
jet::ComponentHelper
Definition: ConfigHelper.h:24
jet::PerJetFlavourUncertaintyComponent
Definition: PerJetFlavourUncertaintyComponent.h:16
jet::PerJetFlavourUncertaintyComponent::m_ZjetQuarkFrac
const TF1 * m_ZjetQuarkFrac
Definition: PerJetFlavourUncertaintyComponent.h:44
jet::PerJetFlavourUncertaintyComponent::getValidityImpl
virtual bool getValidityImpl(const xAOD::Jet &jet, const xAOD::EventInfo &eInfo) const
Definition: PerJetFlavourUncertaintyComponent.cxx:107
jet::PerJetFlavourUncertaintyComponent::m_flavourType
const FlavourComp::TypeEnum m_flavourType
Definition: PerJetFlavourUncertaintyComponent.h:41
jet::UncertaintyComponent
Definition: UncertaintyComponent.h:25
jet::PerJetFlavourUncertaintyComponent::getFlavourResponseUncertainty
double getFlavourResponseUncertainty(const xAOD::Jet &jet, const xAOD::EventInfo &eInfo) const
Definition: PerJetFlavourUncertaintyComponent.cxx:117
jet::PerJetFlavourUncertaintyComponent::~PerJetFlavourUncertaintyComponent
virtual ~PerJetFlavourUncertaintyComponent()
Definition: PerJetFlavourUncertaintyComponent.h:22
jet::PerJetFlavourUncertaintyComponent::getUncertaintyImpl
virtual double getUncertaintyImpl(const xAOD::Jet &jet, const xAOD::EventInfo &eInfo) const
Definition: PerJetFlavourUncertaintyComponent.cxx:112
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
jet::PerJetFlavourUncertaintyComponent::getRelevantLabels
virtual std::vector< int > getRelevantLabels() const
Definition: PerJetFlavourUncertaintyComponent.h:26
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
jet::PerJetFlavourUncertaintyComponent::isSupportedLabel
bool isSupportedLabel(const int label) const
Definition: PerJetFlavourUncertaintyComponent.cxx:156
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
xAOD::EventInfo_v1
Class describing the basic event information.
Definition: EventInfo_v1.h:43
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
jet::PerJetFlavourUncertaintyComponent::m_absEta
const bool m_absEta
Definition: PerJetFlavourUncertaintyComponent.h:39
UncertaintyComponent.h
jet::PerJetFlavourUncertaintyComponent::m_constrainZresponseFunc
const TString m_constrainZresponseFunc
Definition: PerJetFlavourUncertaintyComponent.h:43
jet::PerJetFlavourUncertaintyComponent::m_labels
const std::vector< int > m_labels
Definition: PerJetFlavourUncertaintyComponent.h:40
jet::FlavourComp::TypeEnum
TypeEnum
Definition: UncertaintyEnum.h:177
jet::PerJetFlavourUncertaintyComponent::checkTruthLabel
bool checkTruthLabel(const xAOD::Jet &jet) const
Definition: PerJetFlavourUncertaintyComponent.cxx:173