10 const set<Process> &processes,
13 gps_(block.Bins().size(),
18 for(
const auto &vbin: block.
Bins()){
20 for(
const auto &bin: vbin){
23 for(
const auto &process: processes){
35 for(
size_t irow = 0; irow <
gps_.size(); ++irow){
36 for(
size_t icol = 0; icol <
gps_.at(irow).size(); ++icol){
37 sums.at(irow) +=
gps_.at(irow).at(icol);
45 for(
size_t irow = 0; irow <
gps_.size(); ++irow){
46 for(
size_t icol = 0; icol <
gps_.at(irow).size(); ++icol){
47 sums.at(icol) +=
gps_.at(irow).at(icol);
54 vector<GammaParams> gps =
RowSums();
55 if(gps.size() == 0)
return -1;
57 double yield_max = gps.at(0).Yield();
58 for(
size_t i = 1; i < gps.size(); ++i){
59 if(gps.at(i).Yield() > yield_max){
60 yield_max = gps.at(i).Yield();
68 vector<GammaParams> gps =
ColSums();
69 if(gps.size() == 0)
return -1;
71 double yield_max = gps.at(0).Yield();
72 for(
size_t i = 1; i < gps.size(); ++i){
73 if(gps.at(i).Yield() > yield_max){
74 yield_max = gps.at(i).Yield();
83 for(
const auto &vbin:
gps_){
84 for(
const auto &bin: vbin){
std::vector< GammaParams > RowSums() const
std::tuple< Bin, Process, Cut > YieldKey
GammaParams Total() const
std::vector< std::vector< GammaParams > > gps_
GammaParams GetYield(const YieldKey &key) const
const std::vector< std::vector< Bin > > & Bins() const
BlockYields(const Block &block, const std::set< Process > &processes, const Cut &cut, const YieldManager &yields)
std::vector< GammaParams > ColSums() const