]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliQADataMakerRec.h
added a protection before writing out the corr NTuple
[u/mrichter/AliRoot.git] / STEER / AliQADataMakerRec.h
index 403132a2ca8a6ec94f5b927403eae1c549711c95..4562d5a91c1cf8bff1c238269fe847aa792da976 100644 (file)
@@ -5,7 +5,6 @@
 
 
 /* $Id$ */
-
 //
 //  Base Class:
 //  Produces the data needed to calculate the quality assurance. 
@@ -31,62 +30,69 @@ public:
        AliQADataMakerRec& operator = (const AliQADataMakerRec& qadm) ;
        virtual ~AliQADataMakerRec() ; // dtor
   
-       virtual Int_t Add2DigitsList(TH1 * /*hist*/, const Int_t /*index*/, const Bool_t /*expert = kFALSE*/, const Bool_t /*image = kFALSE*/)    { return -1 ; } 
-       virtual Int_t Add2ESDsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE)  { return Add2List(hist, index, fESDsQAList, expert, image) ; }
-       virtual Int_t Add2HitsList(TH1 * /*hist*/, const Int_t /*index*/, const Bool_t /*expert = kFALSE*/, const Bool_t /*image = kFALSE*/)       { return -1 ; }  
-       virtual Int_t Add2RecPointsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE)  { return Add2List(hist, index, fRecPointsQAList, expert, image) ; }
-       virtual Int_t Add2RawsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE, const Bool_t saveForCorr = kFALSE)  { 
-    return Add2List(hist, index, fRawsQAList, expert, image, saveForCorr) ; }
-       virtual Int_t Add2SDigitsList(TH1 * /*hist*/, const Int_t /*index*/, const Bool_t /*expert = kFALSE*/, const Bool_t /*image = kFALSE*/)   { return -1 ; } 
-       virtual void        Exec(AliQAv1::TASKINDEX_t task, TObject * data) ;
+       virtual Int_t Add2DigitsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE)    
+  { return Add2List(hist, index, fDigitsQAList, expert, image) ; }
+  virtual Int_t Add2ESDsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE)                      
+    { return Add2List(hist, index, fESDsQAList, expert, image) ; }
+  virtual Int_t Add2HitsList(TH1 * /*hist*/, const Int_t /*index*/, const Bool_t /*expert = kFALSE*/, const Bool_t /*image = kFALSE*/)      
+    { return -1 ; }  
+  virtual Int_t Add2RecPointsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE)                 
+    { return Add2List(hist, index, fRecPointsQAList, expert, image) ; }
+  virtual Int_t Add2RawsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE, const Bool_t saveForCorr = kFALSE)  
+  { return Add2List(hist, index, fRawsQAList, expert, image, saveForCorr) ; }
+  virtual Int_t Add2SDigitsList(TH1 * /*hist*/, const Int_t /*index*/, const Bool_t /*expert = kFALSE*/, const Bool_t /*image = kFALSE*/)   { return -1 ; } 
+       
+  virtual void        Exec(AliQAv1::TASKINDEX_t task, TObject * data) ;
        virtual void        EndOfCycle() ;
        virtual void        EndOfCycle(AliQAv1::TASKINDEX_t task) ;
        virtual void        EndOfDetectorCycle(AliQAv1::TASKINDEX_t, TObjArray ** ) {AliInfo("To be implemented by detectors");} 
-       virtual TH1 *       GetDigitsData(const Int_t /*index*/) { return NULL ; } 
+       virtual TH1 *       GetDigitsData(const Int_t index   )  { return dynamic_cast<TH1 *>(GetData(fDigitsQAList, index)) ; } 
        virtual TH1 *       GetESDsData(const Int_t index)       { return dynamic_cast<TH1 *>(GetData(fESDsQAList, index)) ; }
        virtual TH1 *       GetHitsData(const Int_t /*index*/)   { return NULL ; }
   virtual const AliDetectorRecoParam * GetRecoParam() { return fRecoParam ; }
-
+  
        virtual TH1 *       GetRecPointsData(const Int_t index)  { return dynamic_cast<TH1 *>(GetData(fRecPointsQAList, index)) ; }
        virtual TH1 *       GetRawsData(const Int_t index)       { return dynamic_cast<TH1 *>(GetData(fRawsQAList, index))  ; }
        virtual TH1 *       GetSDigitsData(const Int_t /*index*/)   { return NULL ; }  
-  virtual void        MakeImage(AliQAv1::TASKINDEX_t task) ; 
        virtual TObjArray** Init(AliQAv1::TASKINDEX_t task, Int_t cycles = -1) ;
        virtual void        Init(AliQAv1::TASKINDEX_t task, TObjArray ** list, Int_t run, Int_t cycles = -1) ;
+       virtual void        InitRaws()                          {AliInfo("To be implemented by detectors");}
+       virtual void        InitRecPoints()                     {AliInfo("To be implemented by detectors");}
+       virtual void        InitDigits()                        {AliInfo("To be implemented by detectors");}
+       virtual void        InitESDs()                          {AliInfo("To be implemented by detectors");}
+  virtual void        ResetDetector(AliQAv1::TASKINDEX_t task) ;
        virtual void        StartOfCycle(Int_t run = -1) ;
        virtual void        StartOfCycle(AliQAv1::TASKINDEX_t task, Int_t run, const Bool_t sameCycle = kFALSE) ;
        virtual void        SetRecoParam(const AliDetectorRecoParam *param) { fRecoParam = param; }
 
 protected: 
 
-       virtual void   InitDigits()                        {AliWarning("Call not valid") ; }
-       virtual void   InitESDs()                          {AliInfo("To be implemented by detectors");}
   virtual void   InitRecoParams() ; 
        virtual void   InitHits()                          {AliWarning("Call not valid") ; }
        //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()                       {AliWarning("Call not valid") ; }
        //virtual void   InitTrackSegments()               {AliInfo("To ne implemented by detectors");}
        virtual void   MakeESDs(AliESDEvent * )            {AliInfo("To be implemented by detectors");} 
-       virtual void   MakeHits(TClonesArray * )           {AliWarning("Call not valid") ; }
+       virtual void   MakeHits()                          {AliWarning("Call not valid") ; }
        virtual void   MakeHits(TTree * )                  {AliWarning("Call not valid") ; }  
-       virtual void   MakeDigits(TClonesArray * )         {AliWarning("Call not valid") ; }    
-       virtual void   MakeDigits(TTree * )                {AliWarning("Call not valid") ; }   
-       //virtual void   MakeRecParticles(TClonesArray * ) {AliInfo("To be implemented by detectors");} 
+       virtual void   MakeDigits()                        {AliInfo("To be implemented by detectors");}   
+       virtual void   MakeDigits(TTree * )                {AliInfo("To be implemented by detectors");}   
+       //virtual void   MakeRecParticles()                {AliInfo("To be implemented by detectors");} 
        virtual void   MakeRaws(AliRawReader *)            {AliInfo("To be implemented by detectors");} 
        virtual void   MakeRecPoints(TTree * )             {AliInfo("To be implemented by detectors");} 
-       virtual void   MakeSDigits(TClonesArray * )        {AliWarning("Call not valid") ; }     
+       virtual void   MakeSDigits()                       {AliWarning("Call not valid") ; }     
        virtual void   MakeSDigits(TTree * )               {AliWarning("Call not valid") ; }    
        virtual void   StartOfDetectorCycle()              {AliInfo("To be implemented by detectors");} 
 
-       TObjArray * *               fESDsQAList ;      //! list of the ESDs QA data objects
-       TObjArray * *               fRawsQAList ;      //! list of the raws QA data objects
-       TObjArray * *               fRecPointsQAList ; //! list of the RecPoints QA data objects
-  TNtupleD  * *               fCorrNt ;          //! This is used by Corr only to hold its Ntuple. 
-  const AliDetectorRecoParam *fRecoParam;        //! const pointer to the reco parameters to be used in the reco QA
+       TObjArray * *               fDigitsQAList ;     //! list of the digits QA data objects
+       TObjArray * *               fESDsQAList ;       //! list of the ESDs QA data objects
+       TObjArray * *               fRawsQAList ;       //! list of the raws QA data objects
+       TObjArray * *               fRecPointsQAList ;  //! list of the RecPoints QA data objects
+  TNtupleD  **                fCorrNt ;           //! This is used by Corr only to hold its Ntuple. 
+  const AliDetectorRecoParam *fRecoParam;         //! const pointer to the reco parameters to be used in the reco QA
+  TClonesArray *              fRecPointsArray;    //! Array that contains the RecPoints    
   
- ClassDef(AliQADataMakerRec,2)  // description 
+ ClassDef(AliQADataMakerRec,4)  // description 
 
 };