Go to the documentation of this file.
13 template <
class TC,
class TO,
class TN,
class TW,
class TH,
class TV>
14 class p2 :
public b2<TC,TO,TN,TW,TH> {
19 typedef std::vector<TV>
vs_t;
25 bool equals(
const p2& a_from,
const TW& a_prec,TW(*a_fabs)(TW))
const {
34 bool equals_TH(
const p2& a_from,
const TW& a_prec,TW(*a_fabs)(TW))
const {
66 TV rms = ::sqrt(::fabs((sv2w/sw) - mean * mean));
68 return rms/::sqrt(sw);
120 bool fill(TC aX,TC aY,TV aV,TW aWeight = 1) {
130 if(!
parent::m_axes[0].coord_to_absolute_index(aX,ibin))
return false;
131 if(!
parent::m_axes[1].coord_to_absolute_index(aY,jbin))
return false;
138 TC xw = aX * aWeight;
143 TC yw = aY * aWeight;
149 if(ibin==0) inRange =
false;
150 else if(ibin==(
parent::m_axes[0].m_number_of_bins+1)) inRange =
false;
152 if(jbin==0) inRange =
false;
153 else if(jbin==(
parent::m_axes[1].m_number_of_bins+1)) inRange =
false;
172 TV vw = aV * aWeight;
187 TV mean = (svw / sw);
188 return ::sqrt(::fabs((sv2w / sw) - mean * mean));
212 p2(
const std::string& a_title,
213 bn_t aXnumber,TC aXmin,TC aXmax,
214 bn_t aYnumber,TC aYmin,TC aYmax)
215 :
parent(a_title,aXnumber,aXmin,aXmax,aYnumber,aYmin,aYmax)
224 p2(
const std::string& a_title,
225 bn_t aXnumber,TC aXmin,TC aXmax,
226 bn_t aYnumber,TC aYmin,TC aYmax,
228 :
parent(a_title,aXnumber,aXmin,aXmax,aYnumber,aYmin,aYmax)
237 p2(
const std::string& a_title,
238 const std::vector<TC>& a_edges_x,
239 const std::vector<TC>& a_edges_y)
240 :
parent(a_title,a_edges_x,a_edges_y)
249 p2(
const std::string& a_title,
250 const std::vector<TC>& a_edges_x,
251 const std::vector<TC>& a_edges_y,
253 :
parent(a_title,a_edges_x,a_edges_y)
293 bool configure(
const std::vector<TC>& a_edges_x,
const std::vector<TC>& a_edges_y) {
304 bool configure(
bn_t aXnumber,TC aXmin,TC aXmax,
bn_t aYnumber,TC aYmin,TC aYmax,TV aVmin,TV aVmax){
315 bool configure(
const std::vector<TC>& a_edges_x,
const std::vector<TC>& a_edges_y,TV aVmin,TV aVmax) {