fESDTree(NULL),
fFirst(kTRUE),
fGAliceFileName(gAliceFilename),
- fRunNumber(0),
+ fMaxEvents(0),
fNumberOfEvents(999999),
+ fRunNumber(0),
fRawReader(NULL),
fRawReaderDelete(kTRUE),
fRunLoader(NULL)
{
// default ctor
+ fMaxEvents = fNumberOfEvents ;
for (UInt_t iDet = 0; iDet < fgkNDetectors; iDet++) {
if (IsSelected(AliQA::GetDetName(iDet))) {
fLoader[iDet] = NULL ;
fESDTree(NULL),
fFirst(qas.fFirst),
fGAliceFileName(qas.fGAliceFileName),
- fRunNumber(qas.fRunNumber),
+ fMaxEvents(qas.fMaxEvents),
fNumberOfEvents(qas.fNumberOfEvents),
+ fRunNumber(qas.fRunNumber),
fRawReader(NULL),
fRawReaderDelete(kTRUE),
fRunLoader(NULL)
Bool_t rv = kFALSE ;
// Fill QA data in event loop
- for (UInt_t iEvent = 0 ; iEvent < fNumberOfEvents ; iEvent++) {
+ for (UInt_t iEvent = 0 ; iEvent < (UInt_t)fMaxEvents ; iEvent++) {
fCurrentEvent++ ;
// Get the event
if ( iEvent%10 == 0 )
AliCDBManager::Instance()->SetRun(fRunNumber) ;
fRawReader->RewindEvents();
fNumberOfEvents = 999999 ;
- } else if (taskIndex == AliQA::kESDS) {
+ if ( fMaxEvents < 0 )
+ fMaxEvents = fNumberOfEvents ;
+ } else if (taskIndex == AliQA::kESDS) {
if (!gSystem->AccessPathName("AliESDs.root")) { // AliESDs.root exists
TFile * esdFile = TFile::Open("AliESDs.root") ;
fESDTree = dynamic_cast<TTree *> (esdFile->Get("esdTree")) ;
fESDTree->GetEntry(0) ;
fRunNumber = fESD->GetRunNumber() ;
fNumberOfEvents = fESDTree->GetEntries() ;
+ if ( fMaxEvents < 0 )
+ fMaxEvents = fNumberOfEvents ;
}
} else {
AliError("AliESDs.root not found") ;
AliWarning("No Run Loader not found") ;
} else {
fNumberOfEvents = fRunLoader->GetNumberOfEvents() ;
+ if ( fMaxEvents < 0 )
+ fMaxEvents = fNumberOfEvents ;
+
}
}
// Initialize all QA data makers for all detectors
AliQADataMakerSteer(const AliQADataMakerSteer & qas) ;
AliQADataMakerSteer & operator = (const AliQADataMakerSteer & qas) ;
virtual ~AliQADataMakerSteer() ;
- UInt_t GetCurrentEvent() { return fCurrentEvent ; }
+ UInt_t GetCurrentEvent() const { return fCurrentEvent ; }
TObjArray * GetFromOCDB(AliQA::DETECTORINDEX det, AliQA::TASKINDEX task) const ;
Bool_t Merge(const Int_t runNumber = -1) const ;
void Reset(const Bool_t sameCycle = kFALSE) ;
TString Run(const char * detectors, const char * filename) ;
Bool_t Save2OCDB(const Int_t runNumber, const Int_t cycleNumber, const char * detectors = "ALL") const ;
void SetCycleLength(const AliQA::DETECTORINDEX det, const Int_t cycle) { fQACycles[det] = cycle ; }
+ void SetMaxEvents(UInt_t max) { fMaxEvents = max ; }
void SetNewCycle() { fCycleSame = kTRUE ; }
void SetRunLoader(AliRunLoader * rl) { fRunLoader = rl ; }
TTree * fESDTree ; //! current ESD Tree
Bool_t fFirst ; //! to search the detector QA data maker only once
TString fGAliceFileName ; //! name of the galice file
- UInt_t fRunNumber ; //! current run number
+ Int_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
Bool_t fRawReaderDelete ; //! tells if the rawReader has been created by this
AliRunLoader * fRunLoader ; //! current run loader object
UInt_t maxEvents = 99999 ;
if ( maxFiles < 0 ) {
- maxFiles = 99 ;
maxEvents = TMath::Abs(maxFiles) ;
+ maxFiles = 99 ;
}
AliLog::SetGlobalDebugLevel(0) ;
// connect to the grid
AliRawReader * rawReader = new AliRawReaderRoot(input);
while ( rawReader->NextEvent() ) {
man->SetRun(rawReader->GetRunNumber());
+ AliLog::Flush();
UChar_t * data ;
while (rawReader->ReadNextData(data)) {
Int_t detID = rawReader->GetDetectorID();
if ( !detectors.IsNull() )
break ;
}
- delete rawReader;
+ AliInfo(Form("Current = %d Max = %d", qas.GetCurrentEvent(), maxEvents)) ;
+ AliLog::Flush();
if ( qas.GetCurrentEvent() > maxEvents)
break ;
// TEMPORARY REMOVAL OF TRD!!!
detectors.ReplaceAll("TRD", "") ;
// TEMPORARY REMOVAL OF TRD!!!
if ( !detectors.IsNull() ) {
- detectorsW = qas.Run(detectors, rawReader) ;
- qas.Reset() ;
+ qas.SetMaxEvents(maxEvents) ;
+ detectorsW = qas.Run(detectors, rawReader) ;
+ qas.Reset() ;
} else {
- AliError("No valid detectors found") ;
+ AliError("No valid detectors found") ;
}
+ delete rawReader ;
}
AliLog::Flush();
qas.Merge(runNumber) ;