ATLAS Offline Software
MakeSystematicsVector.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
7 
8 #ifndef PATINTERFACES_MAKE_SYSTEMATICS_VECTOR_H
9 #define PATINTERFACES_MAKE_SYSTEMATICS_VECTOR_H
10 
11 #include <PATInterfaces/Global.h>
12 
14 #include <map>
15 #include <string>
16 #include <vector>
17 
18 namespace CP
19 {
32 
34  {
35  //
36  // public interface
37  //
38 
42  public:
43  void testInvariant () const;
44 
45 
49  public:
51 
52 
60  public:
61  const std::vector<SystematicSet>&
62  result (const std::string& label) const;
63 
64 
74  public:
75  void calc (const SystematicSet& sysList);
76 
77 
84  public:
85  void addGroup (const std::string& val_label);
86 
87 
93  public:
94  void setPattern (const std::string& val_pattern);
95 
96 
119  public:
120  void setSigma (float val_sigma);
121 
122 
179 
180 
183  public:
184  void setToys (unsigned val_toys);
185 
186 
191  public:
192  void useForNominal ();
193 
194 
195 
196  //
197  // private interface
198  //
199 
201  private:
202  std::map<std::string,std::vector<SystematicSet>> m_result;
203 
204 
206  private:
207  struct GroupConfig
208  {
210  public:
211  std::string label;
212 
214  public:
215  std::string pattern;
216 
218  public:
219  float sigma = 1;
220 
223  public:
224  unsigned toys = 0;
225  };
226 
228  private:
229  std::vector<GroupConfig> m_config;
230 
231 
233  private:
234  std::string m_useForNominal;
235 
236 
242  private:
243  std::vector<std::map<std::string,std::vector<SystematicVariation> >>
244  calcBaseSys (const SystematicSet& sysList);
245  };
246 }
247 
248 #endif
CP::MakeSystematicsVector::GroupConfig::pattern
std::string pattern
the value set by setPattern
Definition: MakeSystematicsVector.h:215
CP::MakeSystematicsVector
This class handles turning the list of systematics into the actual list of nuisance parameter points ...
Definition: MakeSystematicsVector.h:34
PlotCalibFromCool.label
label
Definition: PlotCalibFromCool.py:78
CP::MakeSystematicsVector::GroupConfig
the configuration for the given group
Definition: MakeSystematicsVector.h:208
SystematicSet.h
CP::SystematicSet
Class to wrap a set of SystematicVariations.
Definition: SystematicSet.h:31
CP::MakeSystematicsVector::GroupConfig::label
std::string label
the label for this group
Definition: MakeSystematicsVector.h:211
CP::MakeSystematicsVector::m_result
std::map< std::string, std::vector< SystematicSet > > m_result
the value of result
Definition: MakeSystematicsVector.h:202
CP::MakeSystematicsVector::setPattern
void setPattern(const std::string &val_pattern)
set the pattern for the current group
Definition: MakeSystematicsVector.cxx:194
CP
Select isolated Photons, Electrons and Muons.
Definition: Control/xAODRootAccess/xAODRootAccess/TEvent.h:48
CP::MakeSystematicsVector::m_useForNominal
std::string m_useForNominal
the group for which useForNominal was set
Definition: MakeSystematicsVector.h:234
CP::MakeSystematicsVector::result
const std::vector< SystematicSet > & result(const std::string &label) const
the list of nuisance parameter points generated with the given label
Definition: MakeSystematicsVector.cxx:81
CP::MakeSystematicsVector::addGroup
void addGroup(const std::string &val_label)
finish configuration for this group and add a new one
Definition: MakeSystematicsVector.cxx:183
CP::MakeSystematicsVector::useForNominal
void useForNominal()
set this group as the default, i.e.
Definition: MakeSystematicsVector.cxx:223
Global.h
CP::MakeSystematicsVector::setSigma
void setSigma(float val_sigma)
set the number of sigmas to vary this group by
Definition: MakeSystematicsVector.cxx:203
CP::MakeSystematicsVector::MakeSystematicsVector
MakeSystematicsVector()
standard default constructor
Definition: MakeSystematicsVector.cxx:72
CP::MakeSystematicsVector::m_config
std::vector< GroupConfig > m_config
the configuration on a per-group basis
Definition: MakeSystematicsVector.h:229
CP::MakeSystematicsVector::GroupConfig::sigma
float sigma
the value set by setSigma
Definition: MakeSystematicsVector.h:219
CP::MakeSystematicsVector::setToys
void setToys(unsigned val_toys)
set the number of toys to run for this group
Definition: MakeSystematicsVector.cxx:213
CP::MakeSystematicsVector::calc
void calc(const SystematicSet &sysList)
fill in result
Definition: MakeSystematicsVector.cxx:94
CP::MakeSystematicsVector::GroupConfig::toys
unsigned toys
the value set by setToys, or 0 if this isn't used with toys
Definition: MakeSystematicsVector.h:224
CP::MakeSystematicsVector::testInvariant
void testInvariant() const
test the invariant of this object
Definition: MakeSystematicsVector.cxx:63
CP::MakeSystematicsVector::calcBaseSys
std::vector< std::map< std::string, std::vector< SystematicVariation > > > calcBaseSys(const SystematicSet &sysList)
make the list of base systematics for calc
Definition: MakeSystematicsVector.cxx:233