Corrected streaming problem.
authorrvernet <rvernet@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 22 Oct 2008 14:17:12 +0000 (14:17 +0000)
committerrvernet <rvernet@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 22 Oct 2008 14:17:12 +0000 (14:17 +0000)
CORRFW/AliCFManager.cxx
CORRFW/AliCFManager.h

index dc81fb1..e642c82 100644 (file)
 // efficiency calculation.
 // prototype version by S.Arcelli silvia.arcelli@cern.ch
 ///////////////////////////////////////////////////////////////////////////
-#include "AliLog.h"
 #include "AliCFCutBase.h"
 #include "AliCFManager.h"
-#include "AliCFContainer.h"
 
 ClassImp(AliCFManager)
 
 //_____________________________________________________________________________
 AliCFManager::AliCFManager() : 
   TNamed(),
+  fNStepEvt(0),
+  fNStepPart(0),
   fEvtContainer(0x0),
   fPartContainer(0x0),
   fEvtCutList(0x0),
@@ -43,6 +43,8 @@ AliCFManager::AliCFManager() :
 //_____________________________________________________________________________
 AliCFManager::AliCFManager(Char_t* name, Char_t* title) : 
   TNamed(name,title),
+  fNStepEvt(0),
+  fNStepPart(0),
   fEvtContainer(0x0),
   fPartContainer(0x0),
   fEvtCutList(0x0),
@@ -55,6 +57,8 @@ AliCFManager::AliCFManager(Char_t* name, Char_t* title) :
 //_____________________________________________________________________________
 AliCFManager::AliCFManager(const AliCFManager& c) : 
   TNamed(c),
+  fNStepEvt(c.fNStepEvt),
+  fNStepPart(c.fNStepPart),
   fEvtContainer(c.fEvtContainer),
   fPartContainer(c.fPartContainer),
   fEvtCutList(c.fEvtCutList),
@@ -74,6 +78,8 @@ AliCFManager& AliCFManager::operator=(const AliCFManager& c)
     TNamed::operator=(c) ;
   }
   
+  this->fNStepEvt=c.fNStepEvt;
+  this->fNStepPart=c.fNStepPart;
   this->fEvtContainer=c.fEvtContainer;
   this->fPartContainer=c.fPartContainer;
   this->fEvtCutList=c.fEvtCutList;
@@ -192,7 +198,7 @@ void AliCFManager::SetEventCutsList(Int_t isel, TObjArray* array) {
     return;
   }
 
-  Int_t nstep = fEvtContainer->GetNStep() ;
+  Int_t nstep = fNStepEvt;
 
   if (!fEvtCutList) fEvtCutList = new TObjArray*[nstep] ;
   if (isel >= nstep) {
@@ -213,7 +219,7 @@ void AliCFManager::SetParticleCutsList(Int_t isel, TObjArray* array) {
     return;
   }
   
-  Int_t nstep = fPartContainer->GetNStep() ;
+  Int_t nstep = fNStepPart ;
   
   if (!fPartCutList) fPartCutList = new TObjArray*[nstep] ;
   if (isel >= nstep) {
index ff203f1..7d76ab1 100644 (file)
@@ -25,8 +25,8 @@
 //
 
 #include "TNamed.h"
-
-class AliCFContainer ;
+#include "AliCFContainer.h"
+#include "AliLog.h"
 
 //____________________________________________________________________________
 class AliCFManager : public TNamed 
@@ -62,12 +62,21 @@ class AliCFManager : public TNamed
   //
   // Setters:
   //
-  //pass the pointer to the correction container
-  virtual void SetEventContainer(AliCFContainer* c) {fEvtContainer=c;} ;
 
   //pass the pointer to the correction container
-  virtual void SetParticleContainer(AliCFContainer* c) {fPartContainer=c;} ; 
-
+  virtual void SetEventContainer(AliCFContainer* c) {
+    fEvtContainer=c; 
+    fNStepEvt=c->GetNStep();
+    AliWarning(Form("Please dont forget to set the cut list (event empty) for the %d event-selection step requested",fNStepEvt));
+  }
+  
+  //pass the pointer to the correction container
+  virtual void SetParticleContainer(AliCFContainer* c) {
+    fPartContainer=c; 
+    fNStepPart=c->GetNStep();
+    AliWarning(Form("Please dont forget to set the cut list (even empty) for the %d particle-selection step requested",fNStepPart));
+  }
+  
   //Setter for event-level selection cut list at selection step isel
   virtual void SetEventCutsList(Int_t isel, TObjArray* array) ;
   
@@ -102,15 +111,18 @@ class AliCFManager : public TNamed
   virtual Bool_t CheckParticleCuts(Int_t isel, TObject *obj, const TString &selcuts="all") const;
 
  private:
-
+  
+  //number of steps
+  Int_t fNStepEvt; 
+  Int_t fNStepPart; 
   //the correction grid
   AliCFContainer *fEvtContainer; //ptr to Evt-Level correction container
   //the correction grid
   AliCFContainer *fPartContainer; //ptr to Particle-level correction container
   //Evt-Level Selections
-  TObjArray **fEvtCutList;   //arrays of cuts for each event-selection level
+  TObjArray **fEvtCutList;   //[fNStepEvt] arrays of cuts for each event-selection level
   //Particle-level selections
-  TObjArray **fPartCutList ; //arrays of cuts for each particle-selection level
+  TObjArray **fPartCutList ; //[fNStepPart] arrays of cuts for each particle-selection level
 
   Bool_t CompareStrings(const TString  &cutname,const TString  &selcuts) const;