#include "Riostream.h"
#include "Roo2DMomentMorphFunction.h"
#include "RooAbsReal.h"
#include "RooAbsCategory.h"
#include <math.h>
#include "TMath.h"
#include "TTree.h"
using namespace std;
ClassImp(Roo2DMomentMorphFunction)
Roo2DMomentMorphFunction::Roo2DMomentMorphFunction(const char *name, const char *title,
RooAbsReal& _m1, RooAbsReal& _m2,
const TMatrixD& mrefpoints, const Setting& setting, const Bool_t& verbose ) :
RooAbsReal(name,title),
m1("m1","m1",this,_m1),
m2("m2","m2",this,_m2),
_setting(setting),
_verbose(verbose),
_npoints( mrefpoints.GetNrows() ),
_mref(mrefpoints)
{
if ( mrefpoints.GetNrows()<4 ) {
cerr << "Roo2DMomentMorphFunction::constructor(" << GetName() << ") ERROR: less than four reference points provided." << endl ;
assert(0);
}
if ( mrefpoints.GetNcols()!=3 ) {
cerr << "RooPolyMorph2D::constructor(" << GetName() << ") ERROR: no reference values provided." << endl ;
assert(0);
}
_frac.ResizeTo( _npoints );
initialize();
}
Roo2DMomentMorphFunction::Roo2DMomentMorphFunction( const char *name, const char *title,
RooAbsReal& _m1, RooAbsReal& _m2,
const Int_t& nrows, const Double_t* dm1arr, const Double_t* dm2arr, const Double_t* dvalarr,
const Setting& setting, const Bool_t& verbose ) :
RooAbsReal(name,title),
m1("m1","m1",this,_m1),
m2("m2","m2",this,_m2),
_setting(setting),
_verbose( verbose ),
_npoints( nrows )
{
if ( nrows<4 ) {
cerr << "Roo2DMomentMorphFunction::constructor(" << GetName() << ") ERROR: less than four reference points provided." << endl ;
assert(0);
}
_mref.ResizeTo( _npoints,3 );
_frac.ResizeTo( _npoints );
for (int i=0; i<_npoints; ++i) {
_mref(i,0) = dm1arr[i] ;
_mref(i,1) = dm2arr[i] ;
_mref(i,2) = dvalarr[i] ;
}
initialize();
}
Roo2DMomentMorphFunction::Roo2DMomentMorphFunction(const Roo2DMomentMorphFunction& other, const char* name) :
RooAbsReal(other,name),
m1("m1",this,other.m1),
m2("m2",this,other.m2),
_setting(other._setting),
_verbose(other._verbose),
_npoints(other._npoints),
_mref(other._mref),
_frac(other._frac)
{
initialize();
}
Roo2DMomentMorphFunction::~Roo2DMomentMorphFunction()
{
}
void
Roo2DMomentMorphFunction::initialize()
{
Double_t xmin(1e300), xmax(-1e300), ymin(1e300), ymax(-1e300);
for (Int_t k=0; k<_npoints; ++k) {
if (_mref(k,0)<xmin) { xmin=_mref(k,0); _ixmin=k; }
if (_mref(k,0)>xmax) { xmax=_mref(k,0); _ixmax=k; }
if (_mref(k,1)<ymin) { ymin=_mref(k,1); _iymin=k; }
if (_mref(k,1)>ymax) { ymax=_mref(k,1); _iymax=k; }
}
_MSqr.ResizeTo(4,4);
_squareVec.ResizeTo(4,2);
}
Double_t
Roo2DMomentMorphFunction::evaluate() const
{
if (_verbose) { cout << "Now in evaluate." << endl; }
if (_verbose) { cout << "x = " << m1 << " ; y = " << m2 << endl; }
calculateFractions(_verbose);
Double_t ret = 0.0;
for (Int_t i=0; i<4; ++i) { ret += ( _mref(_squareIdx[i],2) * _frac[_squareIdx[i]] ) ; }
if (_verbose) { cout << "End of evaluate : " << ret << endl; }
return ret;
}
void
Roo2DMomentMorphFunction::calculateFractions(Bool_t verbose) const
{
double sumfrac(0.);
if (_setting == Linear || _setting == LinearPosFractions) {
for (Int_t i=0; i<_npoints; ++i) { _frac[i]=0.0; }
(void) findSquare(m1,m2);
std::vector<double> deltavec(4,1.0);
deltavec[1] = m1-_squareVec(0,0) ;
deltavec[2] = m2-_squareVec(0,1) ;
deltavec[3] = deltavec[1]*deltavec[2] ;
for (Int_t i=0; i<4; ++i) {
double ffrac=0.;
for (Int_t j=0; j<4; ++j) { ffrac += _MSqr(j,i) * deltavec[j]; }
_frac[_squareIdx[i]] = ffrac;
if (ffrac>0) sumfrac += ffrac;
if (verbose) {
cout << _squareIdx[i] << " " << ffrac << " " << _squareVec(i,0) << " " << _squareVec(i,1) << endl;
}
}
}
if (_setting == LinearPosFractions) {
for (Int_t i=0; i<4; ++i) {
if (_frac[_squareIdx[i]]<0) { _frac[_squareIdx[i]] = 0; }
_frac[_squareIdx[i]] *= (1.0/sumfrac) ;
}
}
}
Bool_t
Roo2DMomentMorphFunction::findSquare(const double& x, const double& y) const
{
bool squareFound(false);
std::vector< std::pair<int,double> > idvec;
Double_t xspacing = (_mref(_ixmax,0)-_mref(_ixmin,0)) / TMath::Sqrt(_npoints) ;
Double_t yspacing = (_mref(_iymax,1)-_mref(_iymin,1)) / TMath::Sqrt(_npoints) ;
Double_t dx(0), dy(0), delta(0);
for (Int_t k=0; k<_npoints; ++k) {
dx = (x-_mref(k,0))/xspacing ;
dy = (y-_mref(k,1))/yspacing ;
delta = TMath::Sqrt(dx*dx+dy*dy) ;
idvec.push_back( std::pair<int,double>(k,delta) );
}
sort(idvec.begin(),idvec.end(),SorterL2H());
std::vector< std::pair<int,double> >::iterator itr = idvec.begin();
std::vector<int> cidx;
for(; itr!=idvec.end(); ++itr) {
cidx.push_back(itr->first);
}
_squareVec(0,0) = _mref(cidx[0],0);
_squareVec(0,1) = _mref(cidx[0],1);
_squareIdx[0] = cidx[0];
_squareVec(1,0) = _mref(cidx[1],0);
_squareVec(1,1) = _mref(cidx[1],1);
_squareIdx[1] = cidx[1];
_squareVec(2,0) = _mref(cidx[2],0);
_squareVec(2,1) = _mref(cidx[2],1);
_squareIdx[2] = cidx[2];
_squareVec(3,0) = _mref(cidx[3],0);
_squareVec(3,1) = _mref(cidx[3],1);
_squareIdx[3] = cidx[3];
if ( x>_mref(_ixmin,0) &&
x<_mref(_ixmax,0) &&
y>_mref(_iymin,1) &&
y<_mref(_iymax,1) )
{
for (unsigned int i=0; i<cidx.size() && !squareFound; ++i)
for (unsigned int j=i+1; j<cidx.size() && !squareFound; ++j)
for (unsigned int k=j+1; k<cidx.size() && !squareFound; ++k)
for (unsigned int l=k+1; l<cidx.size() && !squareFound; ++l) {
if ( isAcceptableSquare(_mref(cidx[i],0),_mref(cidx[i],1),_mref(cidx[j],0),_mref(cidx[j],1),_mref(cidx[k],0),_mref(cidx[k],1),_mref(cidx[l],0),_mref(cidx[l],1)) ) {
if ( pointInSquare(x,y,_mref(cidx[i],0),_mref(cidx[i],1),_mref(cidx[j],0),_mref(cidx[j],1),_mref(cidx[k],0),_mref(cidx[k],1),_mref(cidx[l],0),_mref(cidx[l],1)) ) {
_squareVec(0,0) = _mref(cidx[i],0);
_squareVec(0,1) = _mref(cidx[i],1);
_squareIdx[0] = cidx[i];
_squareVec(1,0) = _mref(cidx[j],0);
_squareVec(1,1) = _mref(cidx[j],1);
_squareIdx[1] = cidx[j];
_squareVec(2,0) = _mref(cidx[k],0);
_squareVec(2,1) = _mref(cidx[k],1);
_squareIdx[2] = cidx[k];
_squareVec(3,0) = _mref(cidx[l],0);
_squareVec(3,1) = _mref(cidx[l],1);
_squareIdx[3] = cidx[l];
squareFound=true;
}
}
}
}
TMatrixD M(4,4);
for (Int_t k=0; k<4; ++k) {
dx = _squareVec(k,0) - _squareVec(0,0) ;
dy = _squareVec(k,1) - _squareVec(0,1) ;
M(k,0) = 1.0 ;
M(k,1) = dx ;
M(k,2) = dy ;
M(k,3) = dx*dy ;
}
_MSqr = M.Invert();
return squareFound;
}
Bool_t Roo2DMomentMorphFunction::onSameSide(const double& p1x, const double& p1y, const double& p2x, const double& p2y, const double& ax, const double& ay, const double& bx, const double& by) const
{
Double_t cp1 = myCrossProduct(bx-ax, by-ay, p1x-ax, p1y-ay);
Double_t cp2 = myCrossProduct(bx-ax, by-ay, p2x-ax, p2y-ay);
if (cp1*cp2 >= 0) return true;
else return false;
}
Bool_t
Roo2DMomentMorphFunction::pointInSquare(const double& px, const double& py, const double& ax, const double& ay, const double& bx, const double& by, const double& cx, const double& cy, const double& dx, const double& dy) const
{
bool insquare(false);
int ntri(0);
if (ntri<2) ntri += static_cast<int>( pointInTriangle(px,py,ax,ay,bx,by,cx,cy) );
if (ntri<2) ntri += static_cast<int>( pointInTriangle(px,py,ax,ay,bx,by,dx,dy) );
if (ntri<2) ntri += static_cast<int>( pointInTriangle(px,py,ax,ay,cx,cy,dx,dy) );
if (ntri<2) ntri += static_cast<int>( pointInTriangle(px,py,bx,by,cx,cy,dx,dy) );
if (ntri>=2) insquare=true;
else insquare=false;
return insquare;
}
Bool_t
Roo2DMomentMorphFunction::pointInTriangle(const double& px, const double& py, const double& ax, const double& ay, const double& bx, const double& by, const double& cx, const double& cy) const
{
if (onSameSide(px,py,ax,ay,bx,by,cx,cy) && onSameSide(px,py,bx,by,ax,ay,cx,cy) && onSameSide(px,py,cx,cy,ax,ay,bx,by)) return true;
else return false;
}
Double_t
Roo2DMomentMorphFunction::myCrossProduct(const double& ax, const double& ay, const double& bx, const double& by) const
{
return ( ax*by - bx*ay );
}
Bool_t
Roo2DMomentMorphFunction::isAcceptableSquare(const double& ax, const double& ay, const double& bx, const double& by, const double& cx, const double& cy, const double& dx, const double& dy) const
{
if ( pointInTriangle(dx,dy,ax,ax,bx,by,cx,cy) ||
pointInTriangle(cx,cy,ax,ay,bx,by,dx,dy) ||
pointInTriangle(bx,by,ax,ay,cx,cy,dx,dy) ||
pointInTriangle(ax,ay,bx,by,cx,cy,dx,dy) ) return false;
else return true;
}
void
Roo2DMomentMorphFunction::Summary() const
{
for( Int_t i=0; i<_npoints; i++ ){
cout << this << " " << i << " " << _mref(i,0) << " " << _mref(i,1) << " " << _mref(i,2) << endl;
}
}
Roo2DMomentMorphFunction.cxx:1 Roo2DMomentMorphFunction.cxx:2 Roo2DMomentMorphFunction.cxx:3 Roo2DMomentMorphFunction.cxx:4 Roo2DMomentMorphFunction.cxx:5 Roo2DMomentMorphFunction.cxx:6 Roo2DMomentMorphFunction.cxx:7 Roo2DMomentMorphFunction.cxx:8 Roo2DMomentMorphFunction.cxx:9 Roo2DMomentMorphFunction.cxx:10 Roo2DMomentMorphFunction.cxx:11 Roo2DMomentMorphFunction.cxx:12 Roo2DMomentMorphFunction.cxx:13 Roo2DMomentMorphFunction.cxx:14 Roo2DMomentMorphFunction.cxx:15 Roo2DMomentMorphFunction.cxx:16 Roo2DMomentMorphFunction.cxx:17 Roo2DMomentMorphFunction.cxx:18 Roo2DMomentMorphFunction.cxx:19 Roo2DMomentMorphFunction.cxx:20 Roo2DMomentMorphFunction.cxx:21 Roo2DMomentMorphFunction.cxx:22 Roo2DMomentMorphFunction.cxx:23 Roo2DMomentMorphFunction.cxx:24 Roo2DMomentMorphFunction.cxx:25 Roo2DMomentMorphFunction.cxx:26 Roo2DMomentMorphFunction.cxx:27 Roo2DMomentMorphFunction.cxx:28 Roo2DMomentMorphFunction.cxx:29 Roo2DMomentMorphFunction.cxx:30 Roo2DMomentMorphFunction.cxx:31 Roo2DMomentMorphFunction.cxx:32 Roo2DMomentMorphFunction.cxx:33 Roo2DMomentMorphFunction.cxx:34 Roo2DMomentMorphFunction.cxx:35 Roo2DMomentMorphFunction.cxx:36 Roo2DMomentMorphFunction.cxx:37 Roo2DMomentMorphFunction.cxx:38 Roo2DMomentMorphFunction.cxx:39 Roo2DMomentMorphFunction.cxx:40 Roo2DMomentMorphFunction.cxx:41 Roo2DMomentMorphFunction.cxx:42 Roo2DMomentMorphFunction.cxx:43 Roo2DMomentMorphFunction.cxx:44 Roo2DMomentMorphFunction.cxx:45 Roo2DMomentMorphFunction.cxx:46 Roo2DMomentMorphFunction.cxx:47 Roo2DMomentMorphFunction.cxx:48 Roo2DMomentMorphFunction.cxx:49 Roo2DMomentMorphFunction.cxx:50 Roo2DMomentMorphFunction.cxx:51 Roo2DMomentMorphFunction.cxx:52 Roo2DMomentMorphFunction.cxx:53 Roo2DMomentMorphFunction.cxx:54 Roo2DMomentMorphFunction.cxx:55 Roo2DMomentMorphFunction.cxx:56 Roo2DMomentMorphFunction.cxx:57 Roo2DMomentMorphFunction.cxx:58 Roo2DMomentMorphFunction.cxx:59 Roo2DMomentMorphFunction.cxx:60 Roo2DMomentMorphFunction.cxx:61 Roo2DMomentMorphFunction.cxx:62 Roo2DMomentMorphFunction.cxx:63 Roo2DMomentMorphFunction.cxx:64 Roo2DMomentMorphFunction.cxx:65 Roo2DMomentMorphFunction.cxx:66 Roo2DMomentMorphFunction.cxx:67 Roo2DMomentMorphFunction.cxx:68 Roo2DMomentMorphFunction.cxx:69 Roo2DMomentMorphFunction.cxx:70 Roo2DMomentMorphFunction.cxx:71 Roo2DMomentMorphFunction.cxx:72 Roo2DMomentMorphFunction.cxx:73 Roo2DMomentMorphFunction.cxx:74 Roo2DMomentMorphFunction.cxx:75 Roo2DMomentMorphFunction.cxx:76 Roo2DMomentMorphFunction.cxx:77 Roo2DMomentMorphFunction.cxx:78 Roo2DMomentMorphFunction.cxx:79 Roo2DMomentMorphFunction.cxx:80 Roo2DMomentMorphFunction.cxx:81 Roo2DMomentMorphFunction.cxx:82 Roo2DMomentMorphFunction.cxx:83 Roo2DMomentMorphFunction.cxx:84 Roo2DMomentMorphFunction.cxx:85 Roo2DMomentMorphFunction.cxx:86 Roo2DMomentMorphFunction.cxx:87 Roo2DMomentMorphFunction.cxx:88 Roo2DMomentMorphFunction.cxx:89 Roo2DMomentMorphFunction.cxx:90 Roo2DMomentMorphFunction.cxx:91 Roo2DMomentMorphFunction.cxx:92 Roo2DMomentMorphFunction.cxx:93 Roo2DMomentMorphFunction.cxx:94 Roo2DMomentMorphFunction.cxx:95 Roo2DMomentMorphFunction.cxx:96 Roo2DMomentMorphFunction.cxx:97 Roo2DMomentMorphFunction.cxx:98 Roo2DMomentMorphFunction.cxx:99 Roo2DMomentMorphFunction.cxx:100 Roo2DMomentMorphFunction.cxx:101 Roo2DMomentMorphFunction.cxx:102 Roo2DMomentMorphFunction.cxx:103 Roo2DMomentMorphFunction.cxx:104 Roo2DMomentMorphFunction.cxx:105 Roo2DMomentMorphFunction.cxx:106 Roo2DMomentMorphFunction.cxx:107 Roo2DMomentMorphFunction.cxx:108 Roo2DMomentMorphFunction.cxx:109 Roo2DMomentMorphFunction.cxx:110 Roo2DMomentMorphFunction.cxx:111 Roo2DMomentMorphFunction.cxx:112 Roo2DMomentMorphFunction.cxx:113 Roo2DMomentMorphFunction.cxx:114 Roo2DMomentMorphFunction.cxx:115 Roo2DMomentMorphFunction.cxx:116 Roo2DMomentMorphFunction.cxx:117 Roo2DMomentMorphFunction.cxx:118 Roo2DMomentMorphFunction.cxx:119 Roo2DMomentMorphFunction.cxx:120 Roo2DMomentMorphFunction.cxx:121 Roo2DMomentMorphFunction.cxx:122 Roo2DMomentMorphFunction.cxx:123 Roo2DMomentMorphFunction.cxx:124 Roo2DMomentMorphFunction.cxx:125 Roo2DMomentMorphFunction.cxx:126 Roo2DMomentMorphFunction.cxx:127 Roo2DMomentMorphFunction.cxx:128 Roo2DMomentMorphFunction.cxx:129 Roo2DMomentMorphFunction.cxx:130 Roo2DMomentMorphFunction.cxx:131 Roo2DMomentMorphFunction.cxx:132 Roo2DMomentMorphFunction.cxx:133 Roo2DMomentMorphFunction.cxx:134 Roo2DMomentMorphFunction.cxx:135 Roo2DMomentMorphFunction.cxx:136 Roo2DMomentMorphFunction.cxx:137 Roo2DMomentMorphFunction.cxx:138 Roo2DMomentMorphFunction.cxx:139 Roo2DMomentMorphFunction.cxx:140 Roo2DMomentMorphFunction.cxx:141 Roo2DMomentMorphFunction.cxx:142 Roo2DMomentMorphFunction.cxx:143 Roo2DMomentMorphFunction.cxx:144 Roo2DMomentMorphFunction.cxx:145 Roo2DMomentMorphFunction.cxx:146 Roo2DMomentMorphFunction.cxx:147 Roo2DMomentMorphFunction.cxx:148 Roo2DMomentMorphFunction.cxx:149 Roo2DMomentMorphFunction.cxx:150 Roo2DMomentMorphFunction.cxx:151 Roo2DMomentMorphFunction.cxx:152 Roo2DMomentMorphFunction.cxx:153 Roo2DMomentMorphFunction.cxx:154 Roo2DMomentMorphFunction.cxx:155 Roo2DMomentMorphFunction.cxx:156 Roo2DMomentMorphFunction.cxx:157 Roo2DMomentMorphFunction.cxx:158 Roo2DMomentMorphFunction.cxx:159 Roo2DMomentMorphFunction.cxx:160 Roo2DMomentMorphFunction.cxx:161 Roo2DMomentMorphFunction.cxx:162 Roo2DMomentMorphFunction.cxx:163 Roo2DMomentMorphFunction.cxx:164 Roo2DMomentMorphFunction.cxx:165 Roo2DMomentMorphFunction.cxx:166 Roo2DMomentMorphFunction.cxx:167 Roo2DMomentMorphFunction.cxx:168 Roo2DMomentMorphFunction.cxx:169 Roo2DMomentMorphFunction.cxx:170 Roo2DMomentMorphFunction.cxx:171 Roo2DMomentMorphFunction.cxx:172 Roo2DMomentMorphFunction.cxx:173 Roo2DMomentMorphFunction.cxx:174 Roo2DMomentMorphFunction.cxx:175 Roo2DMomentMorphFunction.cxx:176 Roo2DMomentMorphFunction.cxx:177 Roo2DMomentMorphFunction.cxx:178 Roo2DMomentMorphFunction.cxx:179 Roo2DMomentMorphFunction.cxx:180 Roo2DMomentMorphFunction.cxx:181 Roo2DMomentMorphFunction.cxx:182 Roo2DMomentMorphFunction.cxx:183 Roo2DMomentMorphFunction.cxx:184 Roo2DMomentMorphFunction.cxx:185 Roo2DMomentMorphFunction.cxx:186 Roo2DMomentMorphFunction.cxx:187 Roo2DMomentMorphFunction.cxx:188 Roo2DMomentMorphFunction.cxx:189 Roo2DMomentMorphFunction.cxx:190 Roo2DMomentMorphFunction.cxx:191 Roo2DMomentMorphFunction.cxx:192 Roo2DMomentMorphFunction.cxx:193 Roo2DMomentMorphFunction.cxx:194 Roo2DMomentMorphFunction.cxx:195 Roo2DMomentMorphFunction.cxx:196 Roo2DMomentMorphFunction.cxx:197 Roo2DMomentMorphFunction.cxx:198 Roo2DMomentMorphFunction.cxx:199 Roo2DMomentMorphFunction.cxx:200 Roo2DMomentMorphFunction.cxx:201 Roo2DMomentMorphFunction.cxx:202 Roo2DMomentMorphFunction.cxx:203 Roo2DMomentMorphFunction.cxx:204 Roo2DMomentMorphFunction.cxx:205 Roo2DMomentMorphFunction.cxx:206 Roo2DMomentMorphFunction.cxx:207 Roo2DMomentMorphFunction.cxx:208 Roo2DMomentMorphFunction.cxx:209 Roo2DMomentMorphFunction.cxx:210 Roo2DMomentMorphFunction.cxx:211 Roo2DMomentMorphFunction.cxx:212 Roo2DMomentMorphFunction.cxx:213 Roo2DMomentMorphFunction.cxx:214 Roo2DMomentMorphFunction.cxx:215 Roo2DMomentMorphFunction.cxx:216 Roo2DMomentMorphFunction.cxx:217 Roo2DMomentMorphFunction.cxx:218 Roo2DMomentMorphFunction.cxx:219 Roo2DMomentMorphFunction.cxx:220 Roo2DMomentMorphFunction.cxx:221 Roo2DMomentMorphFunction.cxx:222 Roo2DMomentMorphFunction.cxx:223 Roo2DMomentMorphFunction.cxx:224 Roo2DMomentMorphFunction.cxx:225 Roo2DMomentMorphFunction.cxx:226 Roo2DMomentMorphFunction.cxx:227 Roo2DMomentMorphFunction.cxx:228 Roo2DMomentMorphFunction.cxx:229 Roo2DMomentMorphFunction.cxx:230 Roo2DMomentMorphFunction.cxx:231 Roo2DMomentMorphFunction.cxx:232 Roo2DMomentMorphFunction.cxx:233 Roo2DMomentMorphFunction.cxx:234 Roo2DMomentMorphFunction.cxx:235 Roo2DMomentMorphFunction.cxx:236 Roo2DMomentMorphFunction.cxx:237 Roo2DMomentMorphFunction.cxx:238 Roo2DMomentMorphFunction.cxx:239 Roo2DMomentMorphFunction.cxx:240 Roo2DMomentMorphFunction.cxx:241 Roo2DMomentMorphFunction.cxx:242 Roo2DMomentMorphFunction.cxx:243 Roo2DMomentMorphFunction.cxx:244 Roo2DMomentMorphFunction.cxx:245 Roo2DMomentMorphFunction.cxx:246 Roo2DMomentMorphFunction.cxx:247 Roo2DMomentMorphFunction.cxx:248 Roo2DMomentMorphFunction.cxx:249 Roo2DMomentMorphFunction.cxx:250 Roo2DMomentMorphFunction.cxx:251 Roo2DMomentMorphFunction.cxx:252 Roo2DMomentMorphFunction.cxx:253 Roo2DMomentMorphFunction.cxx:254 Roo2DMomentMorphFunction.cxx:255 Roo2DMomentMorphFunction.cxx:256 Roo2DMomentMorphFunction.cxx:257 Roo2DMomentMorphFunction.cxx:258 Roo2DMomentMorphFunction.cxx:259 Roo2DMomentMorphFunction.cxx:260 Roo2DMomentMorphFunction.cxx:261 Roo2DMomentMorphFunction.cxx:262 Roo2DMomentMorphFunction.cxx:263 Roo2DMomentMorphFunction.cxx:264 Roo2DMomentMorphFunction.cxx:265 Roo2DMomentMorphFunction.cxx:266 Roo2DMomentMorphFunction.cxx:267 Roo2DMomentMorphFunction.cxx:268 Roo2DMomentMorphFunction.cxx:269 Roo2DMomentMorphFunction.cxx:270 Roo2DMomentMorphFunction.cxx:271 Roo2DMomentMorphFunction.cxx:272 Roo2DMomentMorphFunction.cxx:273 Roo2DMomentMorphFunction.cxx:274 Roo2DMomentMorphFunction.cxx:275 Roo2DMomentMorphFunction.cxx:276 Roo2DMomentMorphFunction.cxx:277 Roo2DMomentMorphFunction.cxx:278 Roo2DMomentMorphFunction.cxx:279 Roo2DMomentMorphFunction.cxx:280 Roo2DMomentMorphFunction.cxx:281 Roo2DMomentMorphFunction.cxx:282 Roo2DMomentMorphFunction.cxx:283 Roo2DMomentMorphFunction.cxx:284 Roo2DMomentMorphFunction.cxx:285 Roo2DMomentMorphFunction.cxx:286 Roo2DMomentMorphFunction.cxx:287 Roo2DMomentMorphFunction.cxx:288 Roo2DMomentMorphFunction.cxx:289 Roo2DMomentMorphFunction.cxx:290 Roo2DMomentMorphFunction.cxx:291 Roo2DMomentMorphFunction.cxx:292 Roo2DMomentMorphFunction.cxx:293 Roo2DMomentMorphFunction.cxx:294 Roo2DMomentMorphFunction.cxx:295 Roo2DMomentMorphFunction.cxx:296 Roo2DMomentMorphFunction.cxx:297 Roo2DMomentMorphFunction.cxx:298 Roo2DMomentMorphFunction.cxx:299 Roo2DMomentMorphFunction.cxx:300 Roo2DMomentMorphFunction.cxx:301 Roo2DMomentMorphFunction.cxx:302 Roo2DMomentMorphFunction.cxx:303 Roo2DMomentMorphFunction.cxx:304 Roo2DMomentMorphFunction.cxx:305 Roo2DMomentMorphFunction.cxx:306 Roo2DMomentMorphFunction.cxx:307 Roo2DMomentMorphFunction.cxx:308 Roo2DMomentMorphFunction.cxx:309 Roo2DMomentMorphFunction.cxx:310 Roo2DMomentMorphFunction.cxx:311 Roo2DMomentMorphFunction.cxx:312 Roo2DMomentMorphFunction.cxx:313 Roo2DMomentMorphFunction.cxx:314 Roo2DMomentMorphFunction.cxx:315 Roo2DMomentMorphFunction.cxx:316 Roo2DMomentMorphFunction.cxx:317 Roo2DMomentMorphFunction.cxx:318 Roo2DMomentMorphFunction.cxx:319 Roo2DMomentMorphFunction.cxx:320 Roo2DMomentMorphFunction.cxx:321 Roo2DMomentMorphFunction.cxx:322 Roo2DMomentMorphFunction.cxx:323 Roo2DMomentMorphFunction.cxx:324 Roo2DMomentMorphFunction.cxx:325 Roo2DMomentMorphFunction.cxx:326 Roo2DMomentMorphFunction.cxx:327 Roo2DMomentMorphFunction.cxx:328 Roo2DMomentMorphFunction.cxx:329 Roo2DMomentMorphFunction.cxx:330 Roo2DMomentMorphFunction.cxx:331 Roo2DMomentMorphFunction.cxx:332 Roo2DMomentMorphFunction.cxx:333 Roo2DMomentMorphFunction.cxx:334 Roo2DMomentMorphFunction.cxx:335 Roo2DMomentMorphFunction.cxx:336 Roo2DMomentMorphFunction.cxx:337 Roo2DMomentMorphFunction.cxx:338 Roo2DMomentMorphFunction.cxx:339 Roo2DMomentMorphFunction.cxx:340 Roo2DMomentMorphFunction.cxx:341 Roo2DMomentMorphFunction.cxx:342 Roo2DMomentMorphFunction.cxx:343 Roo2DMomentMorphFunction.cxx:344 Roo2DMomentMorphFunction.cxx:345 Roo2DMomentMorphFunction.cxx:346 Roo2DMomentMorphFunction.cxx:347 Roo2DMomentMorphFunction.cxx:348 Roo2DMomentMorphFunction.cxx:349 Roo2DMomentMorphFunction.cxx:350 Roo2DMomentMorphFunction.cxx:351 Roo2DMomentMorphFunction.cxx:352 Roo2DMomentMorphFunction.cxx:353 Roo2DMomentMorphFunction.cxx:354 Roo2DMomentMorphFunction.cxx:355 Roo2DMomentMorphFunction.cxx:356 Roo2DMomentMorphFunction.cxx:357 Roo2DMomentMorphFunction.cxx:358 Roo2DMomentMorphFunction.cxx:359 Roo2DMomentMorphFunction.cxx:360 Roo2DMomentMorphFunction.cxx:361 Roo2DMomentMorphFunction.cxx:362 Roo2DMomentMorphFunction.cxx:363 Roo2DMomentMorphFunction.cxx:364 Roo2DMomentMorphFunction.cxx:365 Roo2DMomentMorphFunction.cxx:366 Roo2DMomentMorphFunction.cxx:367 Roo2DMomentMorphFunction.cxx:368 Roo2DMomentMorphFunction.cxx:369 Roo2DMomentMorphFunction.cxx:370 Roo2DMomentMorphFunction.cxx:371 Roo2DMomentMorphFunction.cxx:372 Roo2DMomentMorphFunction.cxx:373 Roo2DMomentMorphFunction.cxx:374 Roo2DMomentMorphFunction.cxx:375 Roo2DMomentMorphFunction.cxx:376 Roo2DMomentMorphFunction.cxx:377 Roo2DMomentMorphFunction.cxx:378 Roo2DMomentMorphFunction.cxx:379 Roo2DMomentMorphFunction.cxx:380 Roo2DMomentMorphFunction.cxx:381 Roo2DMomentMorphFunction.cxx:382 Roo2DMomentMorphFunction.cxx:383 Roo2DMomentMorphFunction.cxx:384 Roo2DMomentMorphFunction.cxx:385 Roo2DMomentMorphFunction.cxx:386 Roo2DMomentMorphFunction.cxx:387 Roo2DMomentMorphFunction.cxx:388 Roo2DMomentMorphFunction.cxx:389 Roo2DMomentMorphFunction.cxx:390 Roo2DMomentMorphFunction.cxx:391 Roo2DMomentMorphFunction.cxx:392