#include "AliTPCMonitorMappingHandler.h"
#include "AliTPCMonitorFFT.h"
#include "AliRawReader.h"
+#include "AliRawReaderRoot.h"
#include "AliRawEventHeaderBase.h"
#include "AliAltroRawStreamV3.h"
#include "TH2F.h"
while(skip && GetProcNextEvent())
{
if(fVerb) cout << "AliTPCMonitor::ReadDataNew get event " << endl;
- if(!fRawReader->NextEvent()) { AliError("Could not get next Event"); return 11 ;}
+ if(fRawReader->IsA()==AliRawReaderRoot::Class()){
+ printf("Root, NextEvent: %d\n",GetEventID());
+ if (!fRawReader->GotoEvent(GetEventID())){AliError("Could not get next Event"); return 11 ;}
+ } else if(!fRawReader->NextEvent()) { AliError("Could not get next Event"); return 11 ;}
// skip all events but physics, calibration and software trigger events!
UInt_t eventType=fRawReader->GetType();
if ( !(eventType==AliRawEventHeaderBase::kPhysicsEvent ||
eventType==AliRawEventHeaderBase::kSystemSoftwareTriggerEvent ||
eventType==AliRawEventHeaderBase::kDetectorSoftwareTriggerEvent) ) {
if (fVerb) cout<< "Skipping event! Its neither of 'physics, calibration and software trigger event'" << endl;
+ if(fRawReader->IsA()==AliRawReaderRoot::Class()){
+ if (fEventNumber<fRawReader->GetNumberOfEvents()-1) ++fEventNumber;
+ else {AliError("No more events");return 11;}
+ }
continue;
}
skip=kFALSE;
- fEventNumber = fRawReader->GetEventIndex();
- fEventNumberOld = fRawReader->GetEventIndex();
+ //test if the TPC has data
+ UChar_t *data=0;
+ fRawReader->Select("TPC");
+ Int_t eventNr=fRawReader->GetEventIndex();
+ if (!fRawReader->ReadNextData(data)) {
+ skip=kTRUE;
+ printf("%d - %d\n",fEventNumber,fRawReader->GetNumberOfEvents());
+ if(fRawReader->IsA()==AliRawReaderRoot::Class()){
+ if (fEventNumber<fRawReader->GetNumberOfEvents()-1){
+ ++eventNr;
+ printf("inc conter\n");
+ }
+ else {
+ AliError("No more events");
+ return 11;
+ }
+ }
+ }
+ fEventNumber = eventNr;
+ fEventNumberOld = eventNr;
}
// printf("secid: %d\n",secid);