]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - CORRFW/AliCFManager.h
Fixing the AddTask
[u/mrichter/AliRoot.git] / CORRFW / AliCFManager.h
index ff203f1bc9d45650b1260214f0c67340cd64ecf6..379c6c2656a1ad82580a94cb008ddba0a87273ad 100644 (file)
@@ -25,8 +25,8 @@
 //
 
 #include "TNamed.h"
-
-class AliCFContainer ;
+#include "AliCFContainer.h"
+#include "AliLog.h"
 
 //____________________________________________________________________________
 class AliCFManager : public TNamed 
@@ -62,11 +62,24 @@ 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; 
+    SetNStepEvent(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; 
+    SetNStepParticle(c->GetNStep());
+    AliWarning(Form("Please dont forget to set the cut list (even empty) for the %d particle-selection step requested",fNStepPart));
+  }
+  
+  //Set the number of steps (already done if you have defined your containers)
+  virtual void SetNStepEvent   (Int_t nstep) {fNStepEvt  = nstep;}
+  virtual void SetNStepParticle(Int_t nstep) {fNStepPart = nstep;}
 
   //Setter for event-level selection cut list at selection step isel
   virtual void SetEventCutsList(Int_t isel, TObjArray* array) ;
@@ -92,7 +105,9 @@ class AliCFManager : public TNamed
 
   //Pass the pointer to obj to the selections (used to access MC/rec global
   //event info when requested
-  virtual void SetEventInfo(TObject *obj) const;
+  virtual void  SetMCEventInfo(const TObject *obj) const;
+  virtual void SetRecEventInfo(const TObject *obj) const;
+  virtual void SetEventInfo(TObject*) const {AliError("DEPRECATED !! -> use SetMCEventInfo or SetRecEventInfo instead");}
 
   //Cut Checkers: by default *all* the cuts of a given input list is checked 
   //(.and. of all cuts), but the user can select a subsample of cuts in the 
@@ -102,15 +117,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;  // number of steps in event selection
+  Int_t fNStepPart; // number of steps in particle selection
   //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;