}
//____________________________________________________________________
-AliCFDataGrid::AliCFDataGrid(const Char_t* name,const Char_t* title) :
- AliCFGridSparse(name,title),
- fSelData(-1),
- fContainer(0x0)
-{
- //
- // default constructor
- //
-}
-
-//____________________________________________________________________
-AliCFDataGrid::AliCFDataGrid(const Char_t* name, const Char_t* title, const Int_t nVarIn, const Int_t * nBinIn, const Double_t *binLimitsIn) :
- AliCFGridSparse(name,title,nVarIn,nBinIn,binLimitsIn),
+AliCFDataGrid::AliCFDataGrid(const Char_t* name, const Char_t* title, const Int_t nVarIn, const Int_t * nBinIn) :
+ AliCFGridSparse(name,title,nVarIn,nBinIn),
fSelData(-1),
fContainer(0x0)
{
//
SumW2();// errors saved
}
+
//____________________________________________________________________
-AliCFDataGrid::AliCFDataGrid(const Char_t* name, const Char_t* title, const AliCFContainer &c) :
+AliCFDataGrid::AliCFDataGrid(const Char_t* name, const Char_t* title, const AliCFContainer &c, Int_t step) :
AliCFGridSparse(name,title),
- fSelData(-1),
- fContainer(0x0)
+ fSelData(step),
+ fContainer(&c)
{
//
// main constructor
+ // assign directly the selection step
//
- //assign the container;
- fContainer=&c;
- fNVar = c.GetNVar();
+ //simply clones the container's data at specified step
+ fData = (THnSparse*) fContainer->GetGrid(fSelData)->GetGrid()->Clone();
+ SumW2();
+ AliInfo(Form("retrieving measured data from Container %s at selection step %i.",fContainer->GetName(),fSelData));
}
+
//____________________________________________________________________
-AliCFDataGrid::AliCFDataGrid(const AliCFDataGrid& data) : AliCFGridSparse(),
+AliCFDataGrid::AliCFDataGrid(const AliCFDataGrid& data) :
+ AliCFGridSparse(data),
fSelData(-1),
fContainer(0x0)
{
// destructor
//
}
+
//____________________________________________________________________
AliCFDataGrid &AliCFDataGrid::operator=(const AliCFDataGrid &c)
{
//
// assigment operator
//
- if (this != &c)
- ((AliCFDataGrid &) c).Copy(*this);
+ if (this != &c) c.Copy(*this);
return *this;
}
-//____________________________________________________________________
-void AliCFDataGrid::SetMeasured(Int_t istep)
-{
- //
- // Deposit observed data over the grid
- //
-
- fSelData = istep ;
- //simply clones the container's data at specified step
- fData = (THnSparse*) ((AliCFGridSparse*)fContainer->GetGrid(istep))->GetGrid()->Clone();
- SumW2();
- AliInfo(Form("retrieving measured data from Container %s at selection step %i.",fContainer->GetName(),fSelData));
-}
//____________________________________________________________________
void AliCFDataGrid::ApplyEffCorrection(const AliCFEffGrid &c)
{
//
// Apply the efficiency correction
//
- if(c.GetNVar()!=fNVar){
+ if (c.GetNVar()!=GetNVar()) {
AliInfo("Different number of variables, cannot apply correction");
return;
}
//
// Apply correction for background
//
- if(c.GetNVar()!=fNVar){
+ if (c.GetNVar()!=GetNVar()) {
AliInfo("Different number of variables, cannot apply correction");
return;
}
- Add(&c);
+ Add(&c,-1);
AliInfo(Form("background %s subtracted from data %s.",c.GetName(),GetName()));
}
+
//____________________________________________________________________
void AliCFDataGrid::Copy(TObject& c) const
{
// copy function
-
Copy(c);
AliCFDataGrid& target = (AliCFDataGrid &) c;
target.fContainer=fContainer;
target.fSelData=fSelData;
-
}