added an event range taken from AliReconstruction to QAdataMakerSteer
authorschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 16 Apr 2008 17:17:23 +0000 (17:17 +0000)
committerschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 16 Apr 2008 17:17:23 +0000 (17:17 +0000)
STEER/AliQADataMakerSteer.cxx
STEER/AliQADataMakerSteer.h
STEER/AliReconstruction.cxx

index 0ec0204..45bd16d 100644 (file)
@@ -67,7 +67,8 @@ AliQADataMakerSteer::AliQADataMakerSteer(const char* gAliceFilename, const char
        fESDTree(NULL),
        fFirst(kTRUE),  
        fGAliceFileName(gAliceFilename), 
-    fMaxEvents(0),        
+       fFirstEvent(0),        
+       fMaxEvents(0),        
        fNumberOfEvents(999999), 
     fRunNumber(0), 
        fRawReader(NULL), 
@@ -98,7 +99,8 @@ AliQADataMakerSteer::AliQADataMakerSteer(const AliQADataMakerSteer & qas) :
        fESDTree(NULL), 
        fFirst(qas.fFirst),  
        fGAliceFileName(qas.fGAliceFileName), 
-    fMaxEvents(qas.fMaxEvents),        
+       fFirstEvent(qas.fFirstEvent),        
+       fMaxEvents(qas.fMaxEvents),        
        fNumberOfEvents(qas.fNumberOfEvents), 
     fRunNumber(qas.fRunNumber), 
        fRawReader(NULL), 
@@ -152,7 +154,7 @@ Bool_t AliQADataMakerSteer::DoIt(const AliQA::TASKINDEX_t taskIndex, const char
 
        Bool_t rv = kFALSE ;
     // Fill QA data in event loop 
-       for (UInt_t iEvent = 0 ; iEvent < (UInt_t)fMaxEvents ; iEvent++) {
+       for (UInt_t iEvent = fFirstEvent ; iEvent < fMaxEvents ; iEvent++) {
                fCurrentEvent++ ; 
                // Get the event
                if ( iEvent%10 == 0  ) 
index 70ed3cd..59eb158 100644 (file)
@@ -45,6 +45,8 @@ public:
        TString Run(const char * detectors, const char * filename, Bool_t const sameCycle = kFALSE) ;
     Bool_t  Save2OCDB(const Int_t runNumber, const char * year = "08", const Int_t cycleNumber=0, const char * detectors = "ALL") const ; 
        void    SetCycleLength(const AliQA::DETECTORINDEX_t det, const Int_t cycle) { fQACycles[det] = cycle ; }
+       void    SetEventRange(UInt_t first, UInt_t last) { fFirstEvent = first ; fMaxEvents = last - first + 1 ; }      
+       void    SetFirsEvent(UInt_t first) { fFirstEvent = first ; }      
        void    SetMaxEvents(UInt_t max) { fMaxEvents = max ; }      
        void    SetNewCycle() { fCycleSame = kTRUE ; }
     void    SetRunLoader(AliRunLoader * rl) { fRunLoader = rl ; }
@@ -69,7 +71,8 @@ private:
        TTree *            fESDTree ;                      //! current ESD Tree
        Bool_t             fFirst ;                        //! to search the detector QA data maker only once
        TString            fGAliceFileName ;               //! name of the galice file
-       Int_t              fMaxEvents ;                    //! number of events to process
+       UInt_t             fFirstEvent ;                   //! first event to process
+       UInt_t             fMaxEvents ;                    //! number of events to process
        Long64_t           fNumberOfEvents ;               //! number of events in the run 
        UInt_t             fRunNumber ;                    //! current run number
        AliRawReader     * fRawReader ;                    //! current raw reader object 
index 16eccb7..54cc7df 100644 (file)
@@ -719,6 +719,7 @@ Bool_t AliReconstruction::InitRun(const char* input)
   //QA
   AliQADataMakerSteer qas ; 
   if (fRunQA && fRawReader) { 
+       qas.SetEventRange(fFirstEvent, fLastEvent) ; 
     qas.Run(fRunLocalReconstruction, fRawReader) ; 
        fSameQACycle = kTRUE ; 
   }
@@ -1288,6 +1289,7 @@ Bool_t AliReconstruction::FinishRun()
   if (!fInLoopQA) {
          if (fRunQA) {
                  AliQADataMakerSteer qas;
+                 qas.SetEventRange(fFirstEvent, fLastEvent) ; 
                  qas.Run(fRunLocalReconstruction.Data(), AliQA::kRECPOINTS, fSameQACycle);
                  //qas.Reset() ;
                  qas.Run(fRunTracking.Data(), AliQA::kESDS, fSameQACycle);