]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliQualAssDataMaker.h
Introducing the notion of QA data acquisition cycle (needed by online)
[u/mrichter/AliRoot.git] / STEER / AliQualAssDataMaker.h
index f43807cdd15cd1d030d2baccb224cee266c92bc1..52dd37629f0e0513463d327581494403822b1d03 100644 (file)
@@ -39,42 +39,50 @@ public:
   virtual ~AliQualAssDataMaker() {;} // dtor
   
   virtual void        Exec(AliQualAss::TASKINDEX, TObject * data) ;
+  void                EndOfCycle(AliQualAss::TASKINDEX) ;
   void                Finish(AliQualAss::TASKINDEX task) const ; 
   static const char * GetDetectorDirName() { return fDetectorDirName.Data() ; }
-  TList *             Init(AliQualAss::TASKINDEX) ;
-  Int_t               Add2DigitsList(TH1 * hist, Int_t index)    { return Add2List(hist, index, fDigitsQAList) ; }
-  Int_t               Add2ESDsList(TH1 * hist, Int_t index)      { return Add2List(hist, index, fESDsQAList) ; }
-  Int_t               Add2HitsList(TH1 * hist, Int_t index)      { return Add2List(hist, index, fHitsQAList) ; }
-  Int_t               Add2RecPointsList(TH1 * hist, Int_t index) { return Add2List(hist, index, fRecPointsQAList) ; }
-  Int_t               Add2RawsList(TH1 * hist, Int_t index)      { return Add2List(hist, index, fRawsQAList) ; }
-  Int_t               Add2SDigitsList(TH1 * hist, Int_t index)   { return Add2List(hist, index, fSDigitsQAList) ; }
+  const Int_t         Increment() { return ++fCycleCounter ; } 
+  TList *             Init(AliQualAss::TASKINDEX, Int_t run, Int_t cycles = -1) ;
+  const Bool_t        IsCycleDone() const { return fCycleCounter > fCycle ? kTRUE : kFALSE ; }
+  const Int_t         Add2DigitsList(TH1 * hist, Int_t index)    { return Add2List(hist, index, fDigitsQAList) ; }
+  const Int_t         Add2ESDsList(TH1 * hist, Int_t index)      { return Add2List(hist, index, fESDsQAList) ; }
+  const Int_t         Add2HitsList(TH1 * hist, Int_t index)      { return Add2List(hist, index, fHitsQAList) ; }
+  const Int_t         Add2RecPointsList(TH1 * hist, Int_t index) { return Add2List(hist, index, fRecPointsQAList) ; }
+  const Int_t         Add2RawsList(TH1 * hist, Int_t index)      { return Add2List(hist, index, fRawsQAList) ; }
+  const Int_t         Add2SDigitsList(TH1 * hist, Int_t index)   { return Add2List(hist, index, fSDigitsQAList) ; }
   TH1 *               GetDigitsData(Int_t index)    { return dynamic_cast<TH1 *>(GetData(fDigitsQAList, index)) ; }
   TH1 *               GetESDsData(Int_t index)      { return dynamic_cast<TH1 *>(GetData(fESDsQAList, index)) ; }
   TH1 *               GetHitsData(Int_t index)      { return dynamic_cast<TH1 *>(GetData(fHitsQAList, index)) ; }
   TH1 *               GetRecPointsData(Int_t index) { return dynamic_cast<TH1 *>(GetData(fRecPointsQAList, index)) ; }
   TH1 *               GetRawsData(Int_t index)      { return dynamic_cast<TH1 *>(GetData(fRawsQAList, index)) ; }
   TH1 *               GetSDigitsData(Int_t index)   { return dynamic_cast<TH1 *>(GetData(fSDigitsQAList, index)) ; }
+  void                SetCycle(Int_t nevts) { fCycle = nevts ; } 
+  void                StartOfCycle(AliQualAss::TASKINDEX, Option_t * sameCycle = "") ;
 
 protected: 
 
   Int_t          Add2List(TH1 * hist, Int_t index, TList * list) { list->AddAt(hist, index) ; return list->LastIndex() ; }
+  virtual void   EndOfDetectorCycle() {AliInfo("To be implemented by detectors");} 
   TObject *      GetData(TList * list, Int_t index)  { return list->At(index) ; } 
-  virtual void   InitDigits()        {AliInfo("To ne implemented by detectors");}
-  virtual void   InitESDs()          {AliInfo("To ne implemented by detectors");}
-  virtual void   InitHits()          {AliInfo("To ne implemented by detectors");}
-  //virtual void   InitRecParticles()  {AliInfo("To ne implemented by detectors");}
-  virtual void   InitRecPoints()     {AliInfo("To ne implemented by detectors");}
-  virtual void   InitRaws()          {AliInfo("To ne implemented by detectors");}
-  virtual void   InitSDigits()       {AliInfo("To ne implemented by detectors");}
+  virtual void   InitDigits()        {AliInfo("To be implemented by detectors");}
+  virtual void   InitESDs()          {AliInfo("To be implemented by detectors");}
+  virtual void   InitHits()          {AliInfo("To be implemented by detectors");}
+  //virtual void   InitRecParticles()  {AliInfo("To be implemented by detectors");}
+  virtual void   InitRecPoints()     {AliInfo("To be implemented by detectors");}
+  virtual void   InitRaws()          {AliInfo("To be implemented by detectors");}
+  virtual void   InitSDigits()       {AliInfo("To be implemented by detectors");}
   //virtual void   InitTrackSegments() {AliInfo("To ne implemented by detectors");}
-  virtual void   MakeESDs(AliESDEvent * )          {AliInfo("To ne implemented by detectors");} 
-  virtual void   MakeHits(TObject * )              {AliInfo("To ne implemented by detectors");} 
-  virtual void   MakeDigits(TObject * )            {AliInfo("To ne implemented by detectors");} 
-  //  virtual void   MakeRecParticles(TClonesArray * ) {AliInfo("To ne implemented by detectors");} 
-  virtual void   MakeRaws(TObject * )                {AliInfo("To ne implemented by detectors");} 
-  virtual void   MakeRecPoints(TTree * )           {AliInfo("To ne implemented by detectors");} 
-  virtual void   MakeSDigits(TObject * )           {AliInfo("To ne implemented by detectors");} 
-  //virtual void   MakeTrackSegments(TTree * )       {AliInfo("To ne implemented by detectors");} 
+  virtual void   MakeESDs(AliESDEvent * )          {AliInfo("To be implemented by detectors");} 
+  virtual void   MakeHits(TObject * )              {AliInfo("To be implemented by detectors");} 
+  virtual void   MakeDigits(TObject * )            {AliInfo("To be implemented by detectors");} 
+  //  virtual void   MakeRecParticles(TClonesArray * ) {AliInfo("To be implemented by detectors");} 
+  virtual void   MakeRaws(TObject * )              {AliInfo("To be implemented by detectors");} 
+  virtual void   MakeRecPoints(TTree * )           {AliInfo("To be implemented by detectors");} 
+  virtual void   MakeSDigits(TObject * )           {AliInfo("To be implemented by detectors");} 
+  //virtual void   MakeTrackSegments(TTree * )       {AliInfo("To be implemented by detectors");} 
+  void           ResetCycle() { fCycleCounter = 0 ; } 
+  virtual void   StartOfDetectorCycle() {AliInfo("To be implemented by detectors");} 
 
   TFile *        fOutput ;          //! output root file
   TDirectory *   fDetectorDir ;     //! directory for the given detector in the file
@@ -85,6 +93,10 @@ protected:
   TList *        fRawsQAList ;      //! list of the raws QA data objects
   TList *        fRecPointsQAList ; //! list of the recpoints QA data objects
   TList *        fSDigitsQAList ;   //! list of the sdigits QA data objects
+  Int_t          fCurrentCycle ;    //! current cycle number
+  Int_t          fCycle ;           //! length (# events) of the QA data acquisition cycle  
+  Int_t          fCycleCounter ;    //! cycle counter
+  Int_t          fRun ;             //! run number
  ClassDef(AliQualAssDataMaker,1)  // description 
 
 };