// Still to be done: //
// --Implement methods to merge cells //
// --Interpolate among bins in a range //
-// This implementation will be aventually replaced byAliCFGridSparse //
+// This implementation will be eventually replaced by AliCFGridSparse //
//---------------------------------------------------------------------//
//
//
-#include <AliLog.h>
+#include "AliLog.h"
#include "AliCFGrid.h"
#include "TMath.h"
#include "TROOT.h"
Int_t ovfl=0;
for(Int_t i=0;i<fNVar;i++){
Int_t nbins=fNVarBins[i]+1;
- Float_t *bins=new Float_t[nbins];
+ Double_t *bins=new Double_t[nbins];
for(Int_t ibin =0;ibin<nbins;ibin++){
bins[ibin] = fVarBinLimits[ibin+fOffset[i]];
}
Int_t ovfl=0;
for(Int_t i=0;i<fNVar;i++){
Int_t nbins=fNVarBins[i]+1;
- Float_t *bins=new Float_t[nbins];
+ Double_t *bins=new Double_t[nbins];
for(Int_t ibin =0;ibin<nbins;ibin++){
bins[ibin] = fVarBinLimits[ibin+fOffset[i]];
}
Int_t ovfl=0;
for(Int_t i=0;i<fNVar;i++){
Int_t nbins=fNVarBins[i]+1;
- Float_t *bins=new Float_t[nbins];
+ Double_t *bins=new Double_t[nbins];
for(Int_t ibin =0;ibin<nbins;ibin++){
bins[ibin] = fVarBinLimits[ibin+fOffset[i]];
}
Int_t ovfl=0;
for(Int_t i=0;i<fNVar;i++){
Int_t nbins=fNVarBins[i]+1;
- Float_t *bins=new Float_t[nbins];
+ Double_t *bins=new Double_t[nbins];
for(Int_t ibin =0;ibin<nbins;ibin++){
bins[ibin] = fVarBinLimits[ibin+fOffset[i]];
}
for(Int_t i=0;i<fNVar;i++){
Int_t nbins=fNVarBins[i]+1;
- Float_t *bins=new Float_t[nbins];
+ Double_t *bins=new Double_t[nbins];
for(Int_t ibin =0;ibin<nbins;ibin++){
bins[ibin] = fVarBinLimits[ibin+fOffset[i]];
}
//Find out the min and max bins
for(Int_t i=0;i<fNVar;i++){
- Float_t xmin=varMin[i]; // the min values
- Float_t xmax=varMax[i]; // the min values
- Int_t nbins=fNVarBins[i]+1;
- Float_t *bins=new Float_t[nbins];
- for(Int_t ibin =0;ibin<nbins;ibin++){
- bins[ibin] = fVarBinLimits[ibin+fOffset[i]];
+ Double_t xmin=varMin[i]; // the min values
+ Double_t xmax=varMax[i]; // the max values
+ Int_t nBins=fNVarBins[i]+1;
+ Double_t *Bins=new Double_t[nBins];
+ for(Int_t ibin =0;ibin<nBins;ibin++){
+ Bins[ibin] = fVarBinLimits[ibin+fOffset[i]];
}
- indexMin[i] = TMath::BinarySearch(nbins,bins,xmin);
- indexMax[i] = TMath::BinarySearch(nbins,bins,xmax);
- delete [] bins;
+ indexMin[i] = TMath::BinarySearch(nBins,Bins,xmin);
+ indexMax[i] = TMath::BinarySearch(nBins,Bins,xmax);
+ delete [] Bins;
}
Float_t sum=0;
Int_t *index= new Int_t[fNVar];
Int_t ielmin=GetBinIndex(indexMin);
Int_t ielmax=GetBinIndex(indexMax);
+
+
for(Int_t iel=ielmin;iel<=ielmax;iel++){
GetBinIndex(iel,index);
Bool_t isIn=kTRUE;
}
delete [] index;
+ delete [] indexMin;
+ delete [] indexMax;
for(Int_t ibin =0;ibin<nbins;ibin++){
for(Int_t i=0;i<fNVar;i++){
if(group[i]!=1)AliInfo(Form(" merging bins along dimension %i in groups of %i bins", i,group[i]));
}
- AliInfo(Form("This method was so far not implemented for AliCFGrid, but it is available in AliCFGridSparse"));
+ AliInfo(Form("This method was so far not implemented for AliCFGrid, but it is available for AliCFGridSparse"));
}
//____________________________________________________________________
target.fErr2 = fErr2;
}
-//____________________________________________________________________
-void AliCFGrid::SetExcludeOffEntriesInProj(Bool_t in)
-{
- //
- // require under/overflows in 'hidden dimensions' to be excluded
- // or included, when performing projections.
- // For AliCFGrid implementation, only option = kTRUE is available
-
- if(in){
- AliInfo(Form("This option not available for AliCFGrid"));
- return;
- }
-
- fExclOffEntriesInProj=in;
-}
-//____________________________________________________________________
-Bool_t AliCFGrid::GetExcludeOffEntriesInProj( ) const
-{
- //
- // return flag saying whether under/overflows are excluded in projections
- //
-
- return fExclOffEntriesInProj;
-}