Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
CorrelationProvider.h
Go to the documentation of this file.
1#ifndef CORRELATIONPROVIDER_H
2#define CORRELATIONPROVIDER_H
3
4#include "IDataProvider.h"
5#include "ParamID.h"
6#include "Parameter.h"
7#include "CorrelationRepo.h"
8#include "MemoryManager.h"
9#include "ExperimentObs.h"
10
58class CorrelationProvider : public IDataProvider<CorrelationProvider> {
59public:
62
71 double operator()(const ParamId& pid_1, const ParamId& pid_2, CorrelationType type);
72
81 double operator()(const ExperimentObs& oid_1, const ExperimentObs& oid_2, CorrelationType type);
82
96 double operator()(const std::string& experiment,
97 const Observables& oid_1,
98 const Observables& oid_2,
99 CorrelationType type);
100
111 double operator()(const std::string& experiment,
112 const ObservableId& oid_1,
113 const ObservableId& oid_2,
114 CorrelationType type);
115
126 double operator()(const std::string& experiment,
127 const BinnedObservableId& oid_1,
128 const BinnedObservableId& oid_2,
129 CorrelationType type);
130
142 double operator()(const std::string& exp_1,
143 const BinnedObservableId& oid_1,
144 const std::string& exp_2,
145 const BinnedObservableId& oid_2,
146 CorrelationType type);
147
159 bool exists(const ParamId& pid_1, const ParamId& pid_2, CorrelationType type);
160
169 bool exists(const ExperimentObs& oid_1, const ExperimentObs& oid_2, CorrelationType type);
170
180 bool exists(const std::string& experiment,
181 const Observables& oid_1,
182 const Observables& oid_2,
183 CorrelationType type);
184
194 bool exists(const std::string& experiment,
195 const ObservableId& oid_1,
196 const ObservableId& oid_2,
197 CorrelationType type);
198
209 bool exists(const std::string& experiment,
210 const BinnedObservableId& oid_1,
211 const BinnedObservableId& oid_2,
212 CorrelationType type);
213
225 bool exists(const std::string& exp_1,
226 const BinnedObservableId& oid_1,
227 const std::string& exp_2,
228 const BinnedObservableId& oid_2,
229 CorrelationType type);
230
231private:
249 template<typename T>
250 double get_correlation(const T& id_1, const T& id_2, CorrelationType type) const;
251
262 double get_correlation(const std::string& experiment,
263 const BinnedObservableId& id_1,
264 const BinnedObservableId& id_2,
265 CorrelationType type) const;
266
278 double get_correlation(const std::string& exp_1,
279 const BinnedObservableId& id_1,
280 const std::string& exp_2,
281 const BinnedObservableId& id_2,
282 CorrelationType type) const;
283};
284
285#endif // CORRELATIONPROVIDER_H
Experiment-scoped observable identifiers.
Observables
Definition GeneralEnum.h:4
Manages memory caching, parameter blocks, and LHA reader instances.
Defines the Parameter class used to store individual physical/model parameters.
Provides access to statistical, systematic, or combined correlations between parameters or observable...
double operator()(const ParamId &pid_1, const ParamId &pid_2, CorrelationType type)
Retrieves a correlation between two parameters.
bool exists(const ParamId &pid_1, const ParamId &pid_2, CorrelationType type)
Checks if a correlation between two parameters is non-zero.
CorrelationType
Type of correlation component requested.
Generic interface for providing data through callable and exist methods.
double T(double x)
Wilson coefficient T(x).
Identifies an observable together with a numerical bin.
Composite identifier for a single parameter.
Definition ParamID.h:57