ATLAS Offline Software
Loading...
Searching...
No Matches
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
12
14#include <map>
15#include <string>
16#include <vector>
17
18namespace 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:
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
void useForNominal()
set this group as the default, i.e.
void setPattern(const std::string &val_pattern)
set the pattern for the current group
void addGroup(const std::string &val_label)
finish configuration for this group and add a new one
void setSigma(float val_sigma)
set the number of sigmas to vary this group by
void setToys(unsigned val_toys)
set the number of toys to run for this group
std::string m_useForNominal
the group for which useForNominal was set
MakeSystematicsVector()
standard default constructor
std::vector< std::map< std::string, std::vector< SystematicVariation > > > calcBaseSys(const SystematicSet &sysList)
make the list of base systematics for calc
void testInvariant() const
test the invariant of this object
const std::vector< SystematicSet > & result(const std::string &label) const
the list of nuisance parameter points generated with the given label
std::vector< GroupConfig > m_config
the configuration on a per-group basis
void calc(const SystematicSet &sysList)
fill in result
std::map< std::string, std::vector< SystematicSet > > m_result
the value of result
Class to wrap a set of SystematicVariations.
std::string label(const std::string &format, int i)
Definition label.h:19
Select isolated Photons, Electrons and Muons.
the configuration for the given group
std::string pattern
the value set by setPattern
std::string label
the label for this group
unsigned toys
the value set by setToys, or 0 if this isn't used with toys