5#ifndef JETUNCERTAINTIES_FLAVOURUNCERTAINTYCOMPONENT_H
6#define JETUNCERTAINTIES_FLAVOURUNCERTAINTYCOMPONENT_H
18 const TString& jetType,
19 const TString& analysisRootFileName,
20 const TString& defaultAnalysisRootFileName,
22 const TString& calibArea,
23 const bool absEtaGluonFraction,
24 const TString& analysisHistPattern=
"",
25 const TString& NjetAccessorName=
"Njet"
30 virtual StatusCode
initialize(TFile* histFile);
87 StatusCode
readNjetsHistograms(std::vector<UncertaintyHistogram*>& hists,
const std::vector<TString>& histKeys);
91 void getGluonKeys(TFile* analysisFile, std::vector<TString>& gluonFractionKeys, std::vector<TString>& gluonFractionErrorKeys)
const;
Scalar eta() const
pseudorapidity method
SG::Accessor< T, ALLOC > Accessor
StatusCode checkNjetsInput(int &nJets) const
FlavourRespType m_secondRespType
const TString m_analysisFileName
SG::AuxElement::Accessor< int > m_largeRJetTruthLabelAccessor
SG::AuxElement::Accessor< char > m_BjetAccessor
SG::AuxElement::Accessor< int > m_NjetAccessor
std::vector< UncertaintyHistogram * > m_gluonFractionErrorHists
const FlavourComp::TypeEnum m_flavourType
double getGluonFractionError(const double pT, const double eta, const int nJets) const
StatusCode getNjetFromKey(const TString &key, int &nJets) const
double getBJESUncertainty(const xAOD::Jet &jet, const xAOD::EventInfo &eInfo) const
const TString m_defAnaFileName
virtual FlavourUncertaintyComponent * clone() const
std::string m_largeRJetTruthLabelName
double getGluonFraction(const double pT, const double eta, const int nJets) const
double getGluonResponseBaseline(const double pT, const double eta) const
const TString m_secondUncName
FlavourRespType m_respType
std::vector< UncertaintyHistogram * > m_gluonFractionHists
const TString m_analysisHistPattern
const TString m_calibArea
virtual ~FlavourUncertaintyComponent()
UncertaintyHistogram * m_secondUncHist
std::vector< LargeRJetTruthLabel::TypeEnum > m_largeRJetTruthLabels
void getGluonKeys(TFile *analysisFile, std::vector< TString > &gluonFractionKeys, std::vector< TString > &gluonFractionErrorKeys) const
virtual FlavourComp::TypeEnum getFlavourType() const
double getQuarkResponseBaseline(const double pT, const double eta) const
FlavourUncertaintyComponent(const ComponentHelper &component, const TString &jetType, const TString &analysisRootFileName, const TString &defaultAnalysisRootFileName, const TString &path, const TString &calibArea, const bool absEtaGluonFraction, const TString &analysisHistPattern="", const TString &NjetAccessorName="Njet")
StatusCode readNjetsHistograms(std::vector< UncertaintyHistogram * > &hists, const std::vector< TString > &histKeys)
double getFlavourResponseUncertainty(const xAOD::Jet &jet, const xAOD::EventInfo &eInfo) const
double getGluonResponseDifference(const double pT, const double eta) const
virtual double getUncertaintyImpl(const xAOD::Jet &jet, const xAOD::EventInfo &eInfo) const
virtual bool getValidityImpl(const xAOD::Jet &jet, const xAOD::EventInfo &eInfo) const
bool isBjet(const xAOD::Jet &jet) const
const bool m_absEtaGluonFraction
double getFlavourCompositionUncertainty(const xAOD::Jet &jet, const xAOD::EventInfo &eInfo) const
UncertaintyComponent(const ComponentHelper &component, const size_t numHist=1)
Jet_v1 Jet
Definition of the current "jet version".
EventInfo_v1 EventInfo
Definition of the latest event info version.