ATLAS Offline Software
Loading...
Searching...
No Matches
ConfigHelper.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_CONFIGHELPER_H
6#define JETUNCERTAINTIES_CONFIGHELPER_H
7
10
13
14#include "TString.h"
15#include <string>
16#include <vector>
17
18class TEnv;
19
20namespace jet
21{
22
24{
25 public:
26 ComponentHelper(const TString& name = "");
27 ComponentHelper(TEnv& settings, const TString& compPrefix, const TString& MCtype, const float energyScaleVal);
28 virtual ~ComponentHelper() {}
29
30 // Values fixed by arguments
31 const float energyScale;
32
33 // Raw component values to read from a file
34 TString name;
35 TString desc;
36 TString param;
37 TString massDefStr;
38 TString scale;
39 TString topologyStr;
40 TString interpolStr;
41 TString special;
42 TString uncNameList;
43 TString validName;
44 TString subCompList;
45 int splitNum{};
46 int groupNum{};
47 TString combMassStr;
48 TString caloMassTerm;
49 TString TAMassTerm;
50 TString caloMassDef;
51 TString TAMassDef;
59 TString ResultName;
60
61 // Derived values to parse from the raw values
62 // defaults are zero, "UNKNOWN" in the enums
67 bool isSpecial{};
72 std::vector<TString> uncNames;
73 std::vector<TString> subComps;
74 std::vector<int> truthLabels;
76 std::vector<TString> LargeRJetTruthLabelStrs;
77 std::vector<LargeRJetTruthLabel::TypeEnum> LargeRJetTruthLabels;
78 std::vector<TString> LargeRJetTruthLabelsForSFstrs;
79 std::vector<CompFlavorLabelVar::TypeEnum> LargeRJetTruthLabelsForSF;
81};
82
84{
85 public:
86 GroupHelper(const TString& name = "");
87 GroupHelper(TEnv& settings, const TString& groupPrefix, const TString& MCtype);
88 virtual ~GroupHelper() {}
89
90 // Raw component values to read from a file
91 TString name;
92 TString desc;
93 TString cat;
94 TString corr;
95 TString isRed;
96 int groupNum{};
98
99 // Derived values to parse from the raw values
102 bool reducible{};
103};
104
106{
107 public:
108 ConfigHelper(const TString& confPrefix, const TString& MCtype, const float energyScaleVal);
109 virtual StatusCode initialize(TEnv& settings);
110 virtual ~ConfigHelper();
111
112 // Classification support
113 bool isCompGroup() const;
114 bool isComponent() const;
115 bool isGroup() const;
116
117 // Information retrieval
118 const ComponentHelper* getComponentInfo() const;
119 const GroupHelper* getGroupInfo() const;
120
121 // Modification methods
122 void enforceGroupNamePrefix(const std::string& prefix);
123 void enforceGroupNamePrefix(const TString& prefix);
124 void setComponentJetDefSuffix(const std::string& suffix);
125 void setComponentJetDefSuffix(const TString& suffix);
126 void addValidityHistogram(const std::string& histName);
127 void addValidityHistogram(const TString& histName);
128
129 private:
130 ConfigHelper();
131
132 bool m_isInit{};
133
134 // Values fixed by arguments
135 const TString m_confPrefix;
136 const TString m_MCtype;
137 const float m_energyScale{};
138
139 // Values filled through initialize
142};
143
144} // end jet namespace
145
146#endif
Class mimicking the AthMessaging class from the offline software.
PileupComp::TypeEnum pileupType
std::vector< TString > LargeRJetTruthLabelStrs
const float energyScale
CompTaggerRegionVar::TypeEnum RegionForSF
std::vector< int > truthLabels
CompScaleVar::TypeEnum scaleVar
CompMassDef::TypeEnum massDef
TString constrainZresponseFunc
std::vector< CompFlavorLabelVar::TypeEnum > LargeRJetTruthLabelsForSF
JetTopology::TypeEnum topology
std::vector< TString > uncNames
std::vector< LargeRJetTruthLabel::TypeEnum > LargeRJetTruthLabels
FlavourComp::TypeEnum flavourType
ComponentHelper(const TString &name="")
CompParametrization::TypeEnum parametrization
CombMassComp::TypeEnum combMassType
TString constrainZresponseStr
std::vector< TString > subComps
TString LargeRJetTruthLabelStr
TString LargeRJetTruthLabelName
virtual ~ComponentHelper()
std::vector< TString > LargeRJetTruthLabelsForSFstrs
Interpolate::TypeEnum interpolate
TString LargeRJetTruthLabelsForSFstr
ComponentHelper * m_cInfo
const TString m_confPrefix
bool isGroup() const
bool isComponent() const
GroupHelper * m_gInfo
const ComponentHelper * getComponentInfo() const
void addValidityHistogram(const std::string &histName)
ConfigHelper(const TString &confPrefix, const TString &MCtype, const float energyScaleVal)
const TString m_MCtype
void enforceGroupNamePrefix(const std::string &prefix)
bool isCompGroup() const
void setComponentJetDefSuffix(const std::string &suffix)
const GroupHelper * getGroupInfo() const
const float m_energyScale
GroupHelper(const TString &name="")
CompCorrelation::TypeEnum correlation
CompCategory::TypeEnum category
virtual ~GroupHelper()
void initialize()