当前位置: 首页>>代码示例>>C++>>正文


C++ Spectrum::cov方法代码示例

本文整理汇总了C++中Spectrum::cov方法的典型用法代码示例。如果您正苦于以下问题:C++ Spectrum::cov方法的具体用法?C++ Spectrum::cov怎么用?C++ Spectrum::cov使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Spectrum的用法示例。


在下文中一共展示了Spectrum::cov方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: move

std::unique_ptr<TH1D> spectrum_to_roothist(const Spectrum & s, const std::string & hname, bool set_errors){
    const int n = s.dim();
    unique_ptr<TH1D> values(new TH1D(hname.c_str(), hname.c_str(), n, 0, n));
    for(int i=0; i<n; ++i){
        values->SetBinContent(i+1, s[i]);
        if(set_errors){
            double err = sqrt(s.cov()(i,i));
            values->SetBinError(i+1, err);
        }
    }
    return move(values);
}
开发者ID:dnowatsc,项目名称:rootana,代码行数:12,代码来源:root.cpp

示例2: unfold_nouncertainty

Spectrum RegUnfolder::unfold_nouncertainty(const Spectrum & r) const{
    if(tau < 0.0 || L.get_n_rows() != p.gen().dim()) throw invalid_argument("unfold called, but regularization not set up!");
    const size_t ngen = p.gen().dim();
    
    // calculate delta1 := R * t - r for the first term:
    auto delta1 = p.R() * t - poly_matrix(r.get_values());
    
    // calculate delta2 := L * (t - gen) for the second term
    //auto delta2 = L * (t - poly_matrix(p.gen().get_values()));

    // chi2 = delta1^T C^{-1} delta1 + tau * delta2^T * delta2,
    // where C is the covariance matrix of r:
    Matrix r_cov_inverse = r.cov();
    r_cov_inverse.invert_cholesky();
    auto chi2 = delta1.transpose() * r_cov_inverse * delta1 + tau * delta2.transpose() * delta2;
    
    auto solution = chi2(0,0).argmin();
    
    Spectrum result(ngen);
    for(size_t i=0; i<ngen; ++i){
        result[i] = solution[t(i,0)];
    }
    return result;
}
开发者ID:dnowatsc,项目名称:rootana,代码行数:24,代码来源:regunfolder.cpp

示例3:

std::pair<std::unique_ptr<TH1D>, std::unique_ptr<TH2D> > spectrum_to_roothists(const Spectrum & s, const std::string & hname, bool set_1d_errors){
    return std::pair<std::unique_ptr<TH1D>, std::unique_ptr<TH2D>>(spectrum_to_roothist(s, hname, set_1d_errors), matrix_to_roothist(s.cov(), hname + "_cov"));
}
开发者ID:dnowatsc,项目名称:rootana,代码行数:3,代码来源:root.cpp


注:本文中的Spectrum::cov方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。