//
// default constructor
//
- fx = 0;
- fy = 0;
- fyx = 0;
- fw = 0;
+ fX = 0;
+ fY = 0;
+ fYx = 0;
+ fW = 0;
fN = 0;
fOrder = 0;
return;
// constructor to maximum moment/order order
//
fOrder = order;
- fx = new Double_t[order];
- fy = new Double_t[order];
- fyx = new Double_t[order];
- fw = new Double_t[order];
- for(Int_t i=0;i<order;i++) {fx[i] = 0.0;fy[i] = 0.0;
- fyx[i] = 0.0; fw[i] = 0.0;}
+ fX = new Double_t[order];
+ fY = new Double_t[order];
+ fYx = new Double_t[order];
+ fW = new Double_t[order];
+ for(Int_t i=0;i<order;i++) {fX[i] = 0.0;fY[i] = 0.0;
+ fYx[i] = 0.0; fW[i] = 0.0;}
fN = 0;
return;
}
//
// destructor
//
- if(fx!=0) delete[] fx;
- if(fy!=0) delete[] fy;
- if(fyx!=0) delete[] fyx;
- if(fw!=0) delete[] fw;
- fx = 0;
- fy = 0;
- fyx = 0;
- fw = 0;
+ if(fX!=0) delete[] fX;
+ if(fY!=0) delete[] fY;
+ if(fYx!=0) delete[] fYx;
+ if(fW!=0) delete[] fW;
+ fX = 0;
+ fY = 0;
+ fYx = 0;
+ fW = 0;
fN = 0;
fOrder = 0;
}
if(source.fOrder!=0){
this->fOrder = source.fOrder;
this->fN = source.fN;
- this->fx = new Double_t[this->fOrder];
- this->fw = new Double_t[this->fOrder];
+ this->fX = new Double_t[this->fOrder];
+ this->fW = new Double_t[this->fOrder];
for(Int_t i=0;i<source.fOrder;i++){
- this->fx[i] = source.fx[i];
- this->fw[i] = source.fw[i];
+ this->fX[i] = source.fX[i];
+ this->fW[i] = source.fW[i];
} // end for i
}else{
- this->fx = 0;
- this->fw = 0;
+ this->fX = 0;
+ this->fW = 0;
this->fN = 0;
this->fOrder = 0;
}// end if source.fOrder!=0
if(source.fOrder!=0){
this->fOrder = source.fOrder;
this->fN = source.fN;
- this->fx = new Double_t[this->fOrder];
- this->fw = new Double_t[this->fOrder];
+ this->fX = new Double_t[this->fOrder];
+ this->fW = new Double_t[this->fOrder];
for(Int_t i=0;i<source.fOrder;i++){
- this->fx[i] = source.fx[i];
- this->fw[i] = source.fw[i];
+ this->fX[i] = source.fX[i];
+ this->fW[i] = source.fW[i];
} // end for i
}else{
- this->fx = 0;
- this->fw = 0;
+ this->fX = 0;
+ this->fW = 0;
this->fN = 0;
this->fOrder = 0;
}// end if source.fOrder!=0
//
// Reset/zero statistics
//
- for(Int_t i=0;i<fOrder;i++) {fx[i] = 0.0;fy[i] = 0.0;
- fyx[i] = 0.0; fw[i] = 0.0;}
+ for(Int_t i=0;i<fOrder;i++) {fX[i] = 0.0;fY[i] = 0.0;
+ fYx[i] = 0.0; fW[i] = 0.0;}
fN = 0;
return;
}
ys *= y;
yxs *= x*y;
ws *= w;
- fx[i] += xs*w;
- fy[i] += ys*w;
- fyx[i] += yxs*w;
- fw[i] += ws;
+ fX[i] += xs*w;
+ fY[i] += ys*w;
+ fYx[i] += yxs*w;
+ fW[i] += ws;
} // end for i
}
Double_t s;
- if(fw[0]!=0.0&&order<=fOrder) s = fx[order-1]/fw[0];
+ if(fW[0]!=0.0&&order<=fOrder) s = fX[order-1]/fW[0];
else {
s = 0.0;
- printf("AliITSstatistics2: error in GetNth: fOrder=%d fN=%d fw[0]=%f\n",
- fOrder,fN,fw[0]);
+ printf("AliITSstatistics2: error in GetNth: fOrder=%d fN=%d fW[0]=%f\n",
+ fOrder,fN,fW[0]);
} // end else
return s;
}
//
Double_t s;
- if(fw[0]!=0.0&&order<=fOrder) s = fy[order-1]/fw[0];
+ if(fW[0]!=0.0&&order<=fOrder) s = fY[order-1]/fW[0];
else {
s = 0.0;
- printf("AliITSstatistics2: error in GetNth: fOrder=%d fN=%d fw[0]=%f\n",
- fOrder,fN,fw[0]);
+ printf("AliITSstatistics2: error in GetNth: fOrder=%d fN=%d fW[0]=%f\n",
+ fOrder,fN,fW[0]);
} // end else
return s;
}
// This give the unbiased estimator for the RMS.
Double_t s;
- if(fw[0]!=0.0&&order<=fOrder) s = fyx[order-1]/fw[0];
+ if(fW[0]!=0.0&&order<=fOrder) s = fYx[order-1]/fW[0];
else {
s = 0.0;
- printf("AliITSstatistics2: error in GetNth: fOrder=%d fN=%d fw[0]=%f\n",
- fOrder,fN,fw[0]);
+ printf("AliITSstatistics2: error in GetNth: fOrder=%d fN=%d fW[0]=%f\n",
+ fOrder,fN,fW[0]);
} // end else
return s;
}
x = GetMeanX(); // first order
x2 = GetXNth(2); // second order
- w = fw[0]; // first order - 1.
- ww = fw[1]; // second order - 1.
+ w = fW[0]; // first order - 1.
+ ww = fW[1]; // second order - 1.
if(w*w==ww) return (-1.0);
s = (x2-x*x)*w*w/(w*w-ww);
x = GetMeanY(); // first order
x2 = GetYNth(2); // second order
- w = fw[0]; // first order - 1.
- ww = fw[1]; // second order - 1.
+ w = fW[0]; // first order - 1.
+ ww = fW[1]; // second order - 1.
if(w*w==ww) return (-1.0);
s = (x2-x*x)*w*w/(w*w-ww);
x = GetMeanYX(); // first order
x2 = GetYXNth(2); // second order
- w = fw[0]; // first order - 1.
- ww = fw[1]; // second order - 1.
+ w = fW[0]; // first order - 1.
+ ww = fW[1]; // second order - 1.
if(w*w==ww) return (-1.0);
s = (x2-x*x)*w*w/(w*w-ww);
Double_t rms,w,ww,s;
rms = GetRMSY();
- w = fw[0];
- ww = fw[1];
+ w = fW[0];
+ ww = fW[1];
s = rms*rms*ww/(w*w);
return TMath::Sqrt(s);
}
Double_t rms,w,ww,s;
rms = GetRMSX();
- w = fw[0];
- ww = fw[1];
+ w = fW[0];
+ ww = fW[1];
s = rms*rms*ww/(w*w);
return TMath::Sqrt(s);
}
Double_t rms,w,ww,s;
rms = GetRMSYX();
- w = fw[0];
- ww = fw[1];
+ w = fW[0];
+ ww = fW[1];
s = rms*rms*ww/(w*w);
return TMath::Sqrt(s);
}
// at this moment this routine is only defined for weights=1.
Double_t x,x2,x3,x4,w,ww,m2,m4,n,s;
- if(fw[0]!=(Double_t)fN||GetN()<4) return (-1.);
+ if(fW[0]!=(Double_t)fN||GetN()<4) return (-1.);
x = GetMeanY(); // first order
x2 = GetYNth(2); // second order
- w = fw[0]; // first order - 1.
- ww = fw[1]; // second order - 1.
+ w = fW[0]; // first order - 1.
+ ww = fW[1]; // second order - 1.
if(w*w==ww) return (-1.0);
s = (x2-x*x)*w*w/(w*w-ww);
// at this moment this routine is only defined for weights=1.
Double_t x,x2,x3,x4,w,ww,m2,m4,n,s;
- if(fw[0]!=(Double_t)fN||GetN()<4) return (-1.);
+ if(fW[0]!=(Double_t)fN||GetN()<4) return (-1.);
x = GetMeanX(); // first order
x2 = GetXNth(2); // second order
- w = fw[0]; // first order - 1.
- ww = fw[1]; // second order - 1.
+ w = fW[0]; // first order - 1.
+ ww = fW[1]; // second order - 1.
if(w*w==ww) return (-1.0);
s = (x2-x*x)*w*w/(w*w-ww);
// at this moment this routine is only defined for weights=1.
Double_t x,x2,x3,x4,w,ww,m2,m4,n,s;
- if(fw[0]!=(Double_t)fN||GetN()<4) return (-1.);
+ if(fW[0]!=(Double_t)fN||GetN()<4) return (-1.);
x = GetMeanYX(); // first order
x2 = GetYXNth(2); // second order
- w = fw[0]; // first order - 1.
- ww = fw[1]; // second order - 1.
+ w = fW[0]; // first order - 1.
+ ww = fW[1]; // second order - 1.
if(w*w==ww) return (-1.0);
s = (x2-x*x)*w*w/(w*w-ww);
h /= (Double_t)fN - 2.0;
return h;
}
-//_______________________________________________________________________
-void AliITSstatistics2::Streamer(TBuffer &R__b){
- // Stream an object of class AliITSstatistics2.
-
- if (R__b.IsReading()) {
- Version_t R__v = R__b.ReadVersion(); if (R__v) { }
- TObject::Streamer(R__b);
- R__b >> fN;
- R__b >> fOrder;
- R__b.ReadArray(fy);
- R__b.ReadArray(fx);
- R__b.ReadArray(fyx);
- R__b.ReadArray(fw);
- } else {
- R__b.WriteVersion(AliITSstatistics2::IsA());
- TObject::Streamer(R__b);
- R__b << fN;
- R__b << fOrder;
- R__b.WriteArray(fy,fOrder);
- R__b.WriteArray(fx,fOrder);
- R__b.WriteArray(fyx,fOrder);
- R__b.WriteArray(fw,fOrder);
- }
-}