ATLAS Offline Software
Loading...
Searching...
No Matches
CombinedMassUncertaintyComponent.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef JETUNCERTAINTIES_COMBINEDMASSUNCERTAINTYCOMPONENT_H
6#define JETUNCERTAINTIES_COMBINEDMASSUNCERTAINTYCOMPONENT_H
7
11
12namespace jet
13{
14
16
18{
19 public:
20 // Constructor/destructor
25 virtual StatusCode setCaloTerm(UncertaintyGroup* caloComp);
26 virtual StatusCode setTATerm( UncertaintyGroup* TAComp);
27 virtual StatusCode setCaloWeights(const UncertaintyHistogram* caloWeights);
28 virtual StatusCode setTAWeights( const UncertaintyHistogram* TAWeights);
29 virtual StatusCode setCombWeightMassDefs(const CompMassDef::TypeEnum caloMassDef, const CompMassDef::TypeEnum TAMassDef);
30 virtual StatusCode setCombWeightParam(const CompParametrization::TypeEnum param);
31 virtual StatusCode initialize(TFile* histFile);
32
33 // Extra information retrieval methods
35
36 // Methods for calo-only and TA-only uncertainty and weight retrieval
37 virtual bool getValidityCalo(const xAOD::Jet& jet, const xAOD::EventInfo& eInfo) const;
38 virtual bool getValidityTA( const xAOD::Jet& jet, const xAOD::EventInfo& eInfo) const;
39 virtual double getUncertaintyCalo(const xAOD::Jet& jet, const xAOD::EventInfo& eInfo) const;
40 virtual double getUncertaintyTA( const xAOD::Jet& jet, const xAOD::EventInfo& eInfo) const;
41 virtual bool getValidUncertaintyCalo(double& unc, const xAOD::Jet& jet, const xAOD::EventInfo& eInfo) const;
42 virtual bool getValidUncertaintyTA( double& unc, const xAOD::Jet& jet, const xAOD::EventInfo& eInfo) const;
43
44 // Method overrides
45 virtual bool isAlwaysZero() const;
46
47 protected:
48 // Uncertainty/validity retrieval helper methods
49 virtual bool getValidityImpl(const xAOD::Jet& jet, const xAOD::EventInfo& eInfo) const;
50 virtual double getUncertaintyImpl(const xAOD::Jet& jet, const xAOD::EventInfo& eInfo) const;
51
52 private:
53 // Default constructor is forbidden
54 CombinedMassUncertaintyComponent(const std::string& name = "");
55
56 // Additional private members
59
60 // The two possible sub-components/groups
63 // The two possible weight histograms
66 // The two possible scale helpers
69 // The weight parametrization
71
72 // In rare cases, this may only be applied for a given truth label
73 std::string m_truthLabelName;
74 std::vector<LargeRJetTruthLabel::TypeEnum> m_truthLabels;
75
76 // Helper functions
77 double readHistoFromParam(const xAOD::JetFourMom_t& jet4vec, const UncertaintyHistogram& histo, const CompParametrization::TypeEnum param, const double massShiftFactor) const;
78 virtual double getWeightFactorCalo(const xAOD::Jet& jet, const double shiftFactor) const;
79 virtual double getWeightFactorTA( const xAOD::Jet& jet, const double shiftFactor) const;
80 StatusCode calculateCombinedMass(const xAOD::Jet& jet, const double shiftFactorCalo, const double shiftFactorTA, double& combMass) const;
81};
82
83} // end jet namespace
84
85#endif
virtual StatusCode setCaloTerm(UncertaintyGroup *caloComp)
virtual StatusCode setCombWeightParam(const CompParametrization::TypeEnum param)
CombinedMassUncertaintyComponent(const ComponentHelper &component)
virtual bool getValidUncertaintyCalo(double &unc, const xAOD::Jet &jet, const xAOD::EventInfo &eInfo) const
virtual StatusCode setTAWeights(const UncertaintyHistogram *TAWeights)
virtual StatusCode setCombWeightMassDefs(const CompMassDef::TypeEnum caloMassDef, const CompMassDef::TypeEnum TAMassDef)
virtual double getWeightFactorCalo(const xAOD::Jet &jet, const double shiftFactor) const
virtual bool getValidityTA(const xAOD::Jet &jet, const xAOD::EventInfo &eInfo) const
double readHistoFromParam(const xAOD::JetFourMom_t &jet4vec, const UncertaintyHistogram &histo, const CompParametrization::TypeEnum param, const double massShiftFactor) const
virtual CombinedMassUncertaintyComponent * clone() const
virtual double getUncertaintyImpl(const xAOD::Jet &jet, const xAOD::EventInfo &eInfo) const
virtual double getUncertaintyCalo(const xAOD::Jet &jet, const xAOD::EventInfo &eInfo) const
virtual bool getValidityCalo(const xAOD::Jet &jet, const xAOD::EventInfo &eInfo) const
virtual double getUncertaintyTA(const xAOD::Jet &jet, const xAOD::EventInfo &eInfo) const
StatusCode calculateCombinedMass(const xAOD::Jet &jet, const double shiftFactorCalo, const double shiftFactorTA, double &combMass) const
virtual StatusCode setCaloWeights(const UncertaintyHistogram *caloWeights)
std::vector< LargeRJetTruthLabel::TypeEnum > m_truthLabels
virtual double getWeightFactorTA(const xAOD::Jet &jet, const double shiftFactor) const
virtual bool getValidUncertaintyTA(double &unc, const xAOD::Jet &jet, const xAOD::EventInfo &eInfo) const
virtual bool getValidityImpl(const xAOD::Jet &jet, const xAOD::EventInfo &eInfo) const
virtual StatusCode setTATerm(UncertaintyGroup *TAComp)
virtual CombMassComp::TypeEnum getCombMassType() const
JetFourMomAccessor is an extension of JetAttributeAccessor::AccessorWrapper<xAOD::JetFourMom_t> Acces...
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.
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > JetFourMom_t
Base 4 Momentum type for Jet.
Definition JetTypes.h:17
void initialize()