ATLAS Offline Software
PerJetFlavourUncertaintyComponent.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2018 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 
11 namespace jet
12 {
13 
15 {
16  public:
17  // Constructor/destructor
22  virtual StatusCode initialize(TFile* histFile);
23 
24  // Extra information retrieval methods
25  virtual std::vector<int> getRelevantLabels() const { return m_labels; }
26 
27  protected:
28 
29  // Uncertainty/validity retrieval helper methods
30  virtual bool getValidityImpl(const xAOD::Jet& jet, const xAOD::EventInfo& eInfo) const;
31  virtual double getUncertaintyImpl(const xAOD::Jet& jet, const xAOD::EventInfo& eInfo) const;
32 
33  private:
34  // Default constructor is forbidden
35  PerJetFlavourUncertaintyComponent(const std::string& name = "");
36 
37  // Additional private members
38  const bool m_absEta;
39  const std::vector<int> m_labels;
42  const TString m_constrainZresponseFunc;
43  const TF1* m_ZjetQuarkFrac;
44 
45  // Wrappers for special flavour histograms
46  double getFlavourResponseUncertainty(const xAOD::Jet& jet, const xAOD::EventInfo& eInfo) const;
47  bool isSupportedLabel(const int label) const;
48  bool checkTruthLabel(const xAOD::Jet& jet) const;
49 
50 };
51 
52 } // end jet namespace
53 
54 
55 #endif
56 
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:41
jet::ComponentHelper
Definition: ConfigHelper.h:24
jet::PerJetFlavourUncertaintyComponent
Definition: PerJetFlavourUncertaintyComponent.h:15
jet::PerJetFlavourUncertaintyComponent::m_ZjetQuarkFrac
const TF1 * m_ZjetQuarkFrac
Definition: PerJetFlavourUncertaintyComponent.h:43
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:40
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:21
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:25
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:192
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:38
UncertaintyComponent.h
jet::PerJetFlavourUncertaintyComponent::m_constrainZresponseFunc
const TString m_constrainZresponseFunc
Definition: PerJetFlavourUncertaintyComponent.h:42
jet::PerJetFlavourUncertaintyComponent::m_labels
const std::vector< int > m_labels
Definition: PerJetFlavourUncertaintyComponent.h:39
jet::FlavourComp::TypeEnum
TypeEnum
Definition: UncertaintyEnum.h:177
jet::PerJetFlavourUncertaintyComponent::checkTruthLabel
bool checkTruthLabel(const xAOD::Jet &jet) const
Definition: PerJetFlavourUncertaintyComponent.cxx:173