fpParentReader->SkipInvalid(skip);
}
+/*
void AliRawReaderHLT::SelectEvents(Int_t type)
{
// see header file for class documentation
AliRawReader::SelectEvents(type);
fpParentReader->SelectEvents(type);
}
+*/
int AliRawReaderHLT::ScanOptions(const char* options)
{
Int_t minEquipmentId = -1,
Int_t maxEquipmentId = -1);
void SkipInvalid(Bool_t skip = kTRUE);
- void SelectEvents(Int_t type);
+ // void SelectEvents(Int_t type);
UInt_t GetType() const;
UInt_t GetRunNumber() const;
} else if (!param.IsNull()) {
AliInfo(Form("creating AliRawReaderDate (%s)", param.Data()));
fpRawReader = new AliRawReaderDate(param);
- fpRawReader->SelectEvents(7);
}
if (fpRawReader) {
fpRawReader->RewindEvents();
AliRawReader* rd;
- if(GetOptDate()) rd = new AliRawReaderDate(fRawdataFileName,fEvIn);
- else rd = new AliRawReaderRoot(fRawdataFileName,fEvIn);
+
+ TString strFile = fRawdataFileName;
+ strFile += Form("?EventType=%d",fDATEEvType);
+ if(GetOptDate()) rd = new AliRawReaderDate(strFile.Data(),fEvIn);
+ else rd = new AliRawReaderRoot(strFile.Data(),fEvIn);
AliHeader* header = fRunLoader->GetHeader();
Int_t iev=fEvIn-1;
fRunLoader->SetEventNumber(iev);
rd->RequireHeader(fFlagHeader);
- rd->SelectEvents(fDATEEvType);
digSDD->SetRawReader(rd);
digSPD->SetRawReader(rd);
else {
cout<<"Raw data format - DATE file \n";
rawreader = new AliRawReaderDate(fileRaw); // DATE format
- rawreader->SelectEvents(7);
}
// if (!fEquipIdMap.IsNull() && fRawReader)fRawReader->LoadEquipmentIdsMap(fEquipIdMap);
Reconstruct(rl,rawreader,opt);
rawreaderdate->RewindEvents();
} else { MakeZombie(); return kFALSE; }
if (fModules) Reset();
- rawreaderdate->SelectEvents(-1);
rawreaderdate->Select("ITSSSD");
nofstrips = 0;
while (rawreaderdate->NextEvent()) {
if (!fDDLModuleMap) if (!ReadDDLModuleMap()) AliWarning("DDL map is not defined, ModuleID will be set to 0!");
stream = new AliITSRawStreamSSD(rawreaderdate);
stream->Setv11HybridDDLMapping();
- rawreaderdate->SelectEvents(-1);
modind = 0;
while (rawreaderdate->NextEvent()) {
if ((rawreaderdate->GetType() != PHYSICS_EVENT) && (rawreaderdate->GetType() != CALIBRATION_EVENT)) continue;
}
delete [] cindex;
- AliRawReader *rd = new AliRawReaderDate(iFile,FirstEvt); // open run
+ TString strFile = iFile;
+ strFile += "?EventType=7";
+ AliRawReader *rd = new AliRawReaderDate(strFile.Data(),FirstEvt); // open run
Int_t evCounter = 0;
//AliITS *itsRun = new AliITS();
cout << "Read Event: " << evCounter+FirstEvt-1 << endl;
rd->RequireHeader(kFALSE);
- rd->SelectEvents(7); // read only events with the given type. no selection is applied if a value < 0 is used.
rd->SelectEquipment(17,eqOffset+1,eqOffset+DDLid_range);
}
}
- AliRawReader *rd = new AliRawReaderDate(iFile,FirstEvt); // open run
+ TString strFile = iFile;
+ strFile += "?EventType=7";
+ AliRawReader *rd = new AliRawReaderDate(strFile.Data(),FirstEvt); // open run
Int_t evCounter = 0;
Int_t eqOffset = 256;
Int_t DDLid_range = 24;
cout << "Read Event: " << evCounter+FirstEvt-1 << endl;
rd->RequireHeader(kFALSE);
- rd->SelectEvents(7);
rd->SelectEquipment(17,eqOffset+1,eqOffset+DDLid_range); //17 states for "DRorc acquisition"
rd->Reset(); // reset the current position to the beginning of the event
return NULL;
}
+ TObjArray *fields = strURI.Tokenize("?");
+ TString &fileURI = ((TObjString*)fields->At(0))->String();
+
AliRawReader *rawReader = NULL;
- if (!strURI.BeginsWith("mem://")) {
- AliInfoClass(Form("Creating raw-reader in order to read raw-data file: %s",strURI.Data()));
- if (strURI.EndsWith("/")) {
- rawReader = new AliRawReaderFile(strURI);
- } else if (strURI.EndsWith(".root")) {
- rawReader = new AliRawReaderRoot(strURI);
+ if (!fileURI.BeginsWith("mem://")) {
+ AliInfoClass(Form("Creating raw-reader in order to read raw-data file: %s",fileURI.Data()));
+ if (fileURI.EndsWith("/")) {
+ rawReader = new AliRawReaderFile(fileURI);
+ } else if (fileURI.EndsWith(".root")) {
+ rawReader = new AliRawReaderRoot(fileURI);
} else {
- rawReader = new AliRawReaderDate(strURI);
+ rawReader = new AliRawReaderDate(fileURI);
}
}
else {
- strURI.ReplaceAll("mem://","");
- AliInfoClass(Form("Creating raw-reader in order to read events in shared memory (option=%s)",strURI.Data()));
+ fileURI.ReplaceAll("mem://","");
+ AliInfoClass(Form("Creating raw-reader in order to read events in shared memory (option=%s)",fileURI.Data()));
TPluginManager* pluginManager = gROOT->GetPluginManager();
TString rawReaderName = "AliRawReaderDateOnline";
pluginHandler = pluginManager->FindHandler("AliRawReader", "online");
}
if (pluginHandler && (pluginHandler->LoadPlugin() == 0)) {
- rawReader = (AliRawReader*)pluginHandler->ExecPlugin(1,strURI.Data());
+ rawReader = (AliRawReader*)pluginHandler->ExecPlugin(1,fileURI.Data());
}
else {
return NULL;
}
}
+ // Now apply event selection criteria (if specified)
+ if (fields->GetEntries() > 1) {
+ Int_t eventType = -1;
+ ULong64_t triggerMask = 0;
+ for(Int_t i = 1; i < fields->GetEntries(); i++) {
+ if (!fields->At(i)) continue;
+ TString &option = ((TObjString*)fields->At(i))->String();
+ if (option.BeginsWith("EventType=",TString::kIgnoreCase)) {
+ option.ReplaceAll("EventType=","");
+ eventType = option.Atoi();
+ continue;
+ }
+ if (option.BeginsWith("Trigger=",TString::kIgnoreCase)) {
+ option.ReplaceAll("Trigger=","");
+ triggerMask = option.Atoll();
+ continue;
+ }
+ AliWarningClass(Form("Ignoring invalid event selection option: %s",option.Data()));
+ }
+ AliInfoClass(Form("Event selection criteria specified: eventype=%d trigger mask=%llx",
+ eventType,triggerMask));
+ rawReader->SelectEvents(eventType,triggerMask);
+ }
+
+ fields->Delete();
+ delete fields;
+
return rawReader;
}
Int_t maxEquipmentId = -1);
virtual void SkipInvalid(Bool_t skip = kTRUE)
{fSkipInvalid = skip;};
- virtual void SelectEvents(Int_t type, ULong64_t triggerMask = 0);
virtual void RequireHeader(Bool_t required)
{fRequireHeader = required;};
virtual Bool_t UseAutoSaveESD() const { return kFALSE; }
protected :
+ virtual void SelectEvents(Int_t type, ULong64_t triggerMask = 0);
Bool_t IsSelected() const;
Bool_t IsEventSelected() const;
rawReader = new AliRawReaderRoot(fileName);
} else if (!fileName.IsNull()) {
rawReader = new AliRawReaderDate(fileName);
- rawReader->SelectEvents(7);
}
// if (!fEquipIdMap.IsNull() && fRawReader)
// fRawReader->LoadEquipmentIdsMap(fEquipIdMap);
void AliTRDanalyzeBlackEventsLHC(const char *filename) {
- AliRawReaderRoot *reader = new AliRawReaderRoot(filename, 0);
+ TString strFile = filename;
+ strFile += "?EventType=7";
+ AliRawReaderRoot *reader = new AliRawReaderRoot(strFile.Data(), 0);
reader->SelectEquipment(0, 1024, 1041);
reader->Select("TRD");
- reader->SelectEvents(7);
//AliTRDRawStreamTB::SupressWarnings(kTRUE);
//AliTRDrawStreamTB::SetForceCleanDataOnly();