]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - CORRFW/AliCFDataGrid.cxx
put calculation out of the loop
[u/mrichter/AliRoot.git] / CORRFW / AliCFDataGrid.cxx
index c50243d9c7bc3bb25543f25a200b3d50b5cab7e1..30a9f5122d156f070c009f2f7bd541b9fe50d86c 100644 (file)
@@ -43,17 +43,6 @@ AliCFDataGrid::AliCFDataGrid() :
   //
 }
 
-//____________________________________________________________________
-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) :
   AliCFGridSparse(name,title,nVarIn,nBinIn),
@@ -67,14 +56,20 @@ AliCFDataGrid::AliCFDataGrid(const Char_t* name, const Char_t* title, const Int_
 }
 
 //____________________________________________________________________
-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),
+  fSelData(step),
   fContainer(&c)
 {
   //
   // main constructor
+  // assign directly the selection step
   //
+
+  //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));
 }
 
 //____________________________________________________________________
@@ -107,19 +102,6 @@ AliCFDataGrid &AliCFDataGrid::operator=(const AliCFDataGrid &c)
   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*) 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)
 {
@@ -145,7 +127,7 @@ void AliCFDataGrid::ApplyBGCorrection(const AliCFDataGrid &c)
     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()));
 }