ATLAS Offline Software
Loading...
Searching...
No Matches
UncertaintyGroup.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_UNCERTAINTYGROUP_H
6#define JETUNCERTAINTIES_UNCERTAINTYGROUP_H
7
11
12#include "xAODJet/Jet.h"
14
16
17#include "TString.h"
18
19#include <set>
20#include <map>
21
22class TFile;
23
24namespace jet
25{
26
28{
29 public:
30 // Constructor/destructor/initialization
31 UncertaintyGroup(const GroupHelper& group);
33 //virtual UncertaintyGroup* clone() const = 0;
34 virtual ~UncertaintyGroup();
35 virtual StatusCode addComponent(UncertaintyComponent* component);
36 virtual StatusCode addSubgroup(UncertaintyGroup* subgroup);
37 virtual StatusCode initialize(TFile* histFile);
38
39 // Information retrieval methods
40 virtual TString getName() const { return m_name; }
41 virtual TString getDesc() const { return m_desc; }
42 virtual int getGroupNum() const { return m_groupNum; }
43 virtual int getSubgroupNum() const { return m_subgroupNum; }
44 virtual CompCategory::TypeEnum getCategory() const { return m_category; }
46 virtual bool getIsReducible() const { return m_isReducible; }
47 virtual size_t getNumRawComps() const { return m_subgroups.size(); }
48 virtual size_t getNumSubgroups() const { return m_subgroups.size(); }
49 virtual size_t getNumComponents() const;
50
51 virtual std::vector<UncertaintyComponent*> getComponents() const { return m_components; }
52 virtual std::vector<UncertaintyGroup*> getSubgroups() const { return m_subgroups; }
53
54 // Access to information on the constituent components
55 virtual std::set<CompScaleVar::TypeEnum> getScaleVars() const;
56
57 // Specialty access methods
59
60 // Methods to check for special situations
61 virtual bool isAlwaysZero() const;
62
63 // Uncertainty retrieval methods (wrappers)
64 virtual bool getValidity(const xAOD::Jet& jet, const xAOD::EventInfo& eInfo, const CompScaleVar::TypeEnum scaleVar) const;
65 virtual double getUncertainty(const xAOD::Jet& jet, const xAOD::EventInfo& eInfo, const CompScaleVar::TypeEnum scaleVar) const;
66 virtual bool getValidUncertainty(double& unc, const xAOD::Jet& jet, const xAOD::EventInfo& eInfo, const CompScaleVar::TypeEnum scaleVar) const;
67
68
69 protected:
70 // Protected members
72 const TString m_name;
73 const TString m_desc;
74 const int m_groupNum;
75 const int m_subgroupNum;
78 const bool m_isReducible;
79 std::vector<UncertaintyComponent*> m_components;
80 std::vector<UncertaintyGroup*> m_subgroups;
81 std::map<CompScaleVar::TypeEnum,std::vector<UncertaintyComponent*>*> m_compScaleMap;
82
83 private:
84 UncertaintyGroup(const std::string& name = "");
85
86};
87
88// Sorting operators
89bool operator < (const UncertaintyGroup& groupA, const UncertaintyGroup& groupB);
90bool operator == (const UncertaintyGroup& groupA, const UncertaintyGroup& groupB);
91
92} // end jet namespace
93
94
95#endif
Class mimicking the AthMessaging class from the offline software.
virtual JetTopology::TypeEnum getTopology(const CompScaleVar::TypeEnum scaleVar=CompScaleVar::UNKNOWN) const
virtual std::vector< UncertaintyComponent * > getComponents() const
virtual double getUncertainty(const xAOD::Jet &jet, const xAOD::EventInfo &eInfo, const CompScaleVar::TypeEnum scaleVar) const
virtual CompCategory::TypeEnum getCategory() const
virtual size_t getNumComponents() const
virtual TString getDesc() const
std::vector< UncertaintyGroup * > m_subgroups
const CompCategory::TypeEnum m_category
const CompCorrelation::TypeEnum m_corrType
std::map< CompScaleVar::TypeEnum, std::vector< UncertaintyComponent * > * > m_compScaleMap
virtual std::vector< UncertaintyGroup * > getSubgroups() const
virtual StatusCode addComponent(UncertaintyComponent *component)
virtual bool getValidity(const xAOD::Jet &jet, const xAOD::EventInfo &eInfo, const CompScaleVar::TypeEnum scaleVar) const
virtual bool getValidUncertainty(double &unc, const xAOD::Jet &jet, const xAOD::EventInfo &eInfo, const CompScaleVar::TypeEnum scaleVar) const
virtual TString getName() const
virtual int getGroupNum() const
virtual int getSubgroupNum() const
UncertaintyGroup(const GroupHelper &group)
virtual size_t getNumRawComps() const
virtual bool getIsReducible() const
virtual CompCorrelation::TypeEnum getCorrType() const
virtual bool isAlwaysZero() const
virtual StatusCode addSubgroup(UncertaintyGroup *subgroup)
virtual std::set< CompScaleVar::TypeEnum > getScaleVars() const
std::vector< UncertaintyComponent * > m_components
virtual size_t getNumSubgroups() const
bool operator==(const UncertaintyComponent &componentA, const UncertaintyComponent &componentB)
bool operator<(const UncertaintyComponent &componentA, const UncertaintyComponent &componentB)
Jet_v1 Jet
Definition of the current "jet version".
EventInfo_v1 EventInfo
Definition of the latest event info version.
void initialize()