Decoding data from the TRD raw stream and translation into ADC values, on-line tracklets and tracks CRC checks rely on boost, and are enabled only when TRD_RAW_CRC is defined Additional debug features can be enabled by defining TRD_RAW_DEBUG Author: J. Klein (jochen.klein@cern.ch)
AliTRDrawStream(AliRawReader* rawReader = 0x0) | |
virtual | ~AliTRDrawStream() |
void | TObject::AbstractMethod(const char* method) const |
virtual void | TObject::AppendPad(Option_t* option = "") |
static void | AssignTracklets(AliESDTrdTrack* trdTrack, Int_t* trackletIndex, Int_t* refIndex) |
virtual void | TObject::Browse(TBrowser* b) |
static TClass* | Class() |
virtual const char* | TObject::ClassName() const |
virtual void | TObject::Clear(Option_t* = "") |
virtual TObject* | TObject::Clone(const char* newname = "") const |
virtual Int_t | TObject::Compare(const TObject* obj) const |
virtual void | TObject::Copy(TObject& object) const |
virtual void | TObject::Delete(Option_t* option = "")MENU |
void | DisableErrorStorage() |
virtual Int_t | TObject::DistancetoPrimitive(Int_t px, Int_t py) |
virtual void | TObject::Draw(Option_t* option = "") |
virtual void | TObject::DrawClass() constMENU |
virtual TObject* | TObject::DrawClone(Option_t* option = "") constMENU |
virtual void | TObject::Dump() constMENU |
TString | DumpAdcMask(TString title, UInt_t word) |
Bool_t | DumpingMCM(Int_t det, Int_t rob, Int_t mcm) const |
TString | DumpMcmHeader(TString title, UInt_t word) |
TString | DumpRaw(TString title, const UInt_t* start, Int_t length, UInt_t endmarker = 0xffffffff) |
void | EnableErrorStorage() |
virtual void | TObject::Error(const char* method, const char* msgfmt) const |
virtual void | TObject::Execute(const char* method, const char* params, Int_t* error = 0) |
virtual void | TObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0) |
virtual void | TObject::ExecuteEvent(Int_t event, Int_t px, Int_t py) |
virtual void | TObject::Fatal(const char* method, const char* msgfmt) const |
virtual TObject* | TObject::FindObject(const char* name) const |
virtual TObject* | TObject::FindObject(const TObject* obj) const |
AliTRDdigitsManager* | GetDigitsManager() const |
virtual Option_t* | TObject::GetDrawOption() const |
static Long_t | TObject::GetDtorOnly() |
static const char* | GetErrorMessage(AliTRDrawStream::ErrorCode_t errCode) |
TTree* | GetErrorTree() const |
Int_t | GetEventSize(Int_t sector) const |
Int_t | GetEventSize(Int_t sector, Int_t stack) const |
Int_t | GetEventSize(Int_t sector, Int_t stack, Int_t hc) const |
virtual const char* | TObject::GetIconName() const |
UInt_t | GetLinkMonitorFlags(Int_t sector, Int_t stack) const |
TClonesArray* | GetMarkerArray() const |
UInt_t | GetMatchFlagsBP(Int_t sector) const |
UInt_t | GetMatchFlagsSRAM(Int_t sector) const |
virtual const char* | TObject::GetName() const |
Int_t | GetNChannels(Int_t sector) const |
Int_t | GetNMCMs(Int_t sector) const |
Int_t | GetNTracklets(Int_t sector) const |
virtual char* | TObject::GetObjectInfo(Int_t px, Int_t py) const |
static Bool_t | TObject::GetObjectStat() |
virtual Option_t* | TObject::GetOption() const |
AliTRDrawStream::AliTRDrawStats* | GetStats() |
virtual const char* | TObject::GetTitle() const |
TClonesArray* | GetTrackArray() const |
TClonesArray* | GetTrackletArray() const |
UInt_t | GetTriggerFlags(Int_t sector) const |
ULong64_t | GetTrkFlags(Int_t sector, Int_t stack) const |
virtual UInt_t | TObject::GetUniqueID() const |
virtual Bool_t | TObject::HandleTimer(TTimer* timer) |
virtual ULong_t | TObject::Hash() const |
virtual void | TObject::Info(const char* method, const char* msgfmt) const |
virtual Bool_t | TObject::InheritsFrom(const char* classname) const |
virtual Bool_t | TObject::InheritsFrom(const TClass* cl) const |
virtual void | TObject::Inspect() constMENU |
void | TObject::InvertBit(UInt_t f) |
virtual TClass* | IsA() const |
Bool_t | IsDumping() const |
virtual Bool_t | TObject::IsEqual(const TObject* obj) const |
virtual Bool_t | TObject::IsFolder() const |
Bool_t | TObject::IsOnHeap() const |
virtual Bool_t | TObject::IsSortable() const |
Bool_t | TObject::IsZombie() const |
virtual void | TObject::ls(Option_t* option = "") const |
void | TObject::MayNotUse(const char* method) const |
Int_t | NextChamber(AliTRDdigitsManager* digMgr) |
Int_t | NextChamber(AliTRDdigitsManager* digMgr, UInt_t**, UShort_t**) |
Bool_t | NextDDL() |
virtual Bool_t | TObject::Notify() |
void | TObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const |
static void | TObject::operator delete(void* ptr) |
static void | TObject::operator delete(void* ptr, void* vp) |
static void | TObject::operator delete[](void* ptr) |
static void | TObject::operator delete[](void* ptr, void* vp) |
void* | TObject::operator new(size_t sz) |
void* | TObject::operator new(size_t sz, void* vp) |
void* | TObject::operator new[](size_t sz) |
void* | TObject::operator new[](size_t sz, void* vp) |
virtual void | TObject::Paint(Option_t* option = "") |
virtual void | TObject::Pop() |
virtual void | TObject::Print(Option_t* option = "") const |
virtual Int_t | TObject::Read(const char* name) |
Bool_t | ReadEvent() |
virtual void | TObject::RecursiveRemove(TObject* obj) |
void | TObject::ResetBit(UInt_t f) |
virtual void | TObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU |
virtual void | TObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "") |
void | TObject::SetBit(UInt_t f) |
void | TObject::SetBit(UInt_t f, Bool_t set) |
void | SetDigitsManager(AliTRDdigitsManager* digMgr) |
virtual void | TObject::SetDrawOption(Option_t* option = "")MENU |
static void | TObject::SetDtorOnly(void* obj) |
void | SetDumpMCM(Int_t det, Int_t rob, Int_t mcm, Bool_t dump = kTRUE) |
static void | SetErrorBehaviour(AliTRDrawStream::ErrorCode_t error, AliTRDrawStream::ErrorBehav_t behav) |
static void | SetErrorDebugLevel(AliTRDrawStream::ErrorCode_t error, Int_t level) |
void | SetMarkerArray(TClonesArray* ar) |
static void | SetMCMReadoutPos(Int_t mcm, Int_t pos) |
static void | TObject::SetObjectStat(Bool_t stat) |
Bool_t | SetReader(AliRawReader* rawReader) |
static void | SetROBReadoutPos(Int_t robpair, Int_t pos) |
void | SetTrackArray(TClonesArray* ar) |
void | SetTrackletArray(TClonesArray* ar) |
virtual void | TObject::SetUniqueID(UInt_t uid) |
virtual void | ShowMembers(TMemberInspector&) |
static void | SortTracklets(TClonesArray* trklArray, TList& sortedTracklets, Int_t* indices) |
void | StoreErrorsInArray() |
void | StoreErrorsInTree() |
virtual void | Streamer(TBuffer&) |
void | StreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b) |
virtual void | TObject::SysError(const char* method, const char* msgfmt) const |
Bool_t | TObject::TestBit(UInt_t f) const |
Int_t | TObject::TestBits(UInt_t f) const |
virtual void | TObject::UseCurrentStyle() |
virtual void | TObject::Warning(const char* method, const char* msgfmt) const |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const |
enum { | kDDLOffset | |
kDDLMax | ||
}; | ||
enum ErrorCode_t { | kUnknown | |
kLinkMonitor | ||
kEvCntMismatch | ||
kNonTrdEq | ||
kStackHeaderInvalid | ||
kInvalidDetector | ||
kInvalidPadRow | ||
kNoDigits | ||
kHCmismatch | ||
kHCcheckFailed | ||
kPosUnexp | ||
kTPmodeInvalid | ||
kTPmismatch | ||
kNtimebinsChanged | ||
kAdcMaskInconsistent | ||
kAdcCheckInvalid | ||
kAdcDataAbort | ||
kAdcChannelsMiss | ||
kMissMcmHeaders | ||
kMissTpData | ||
kCRCmismatch | ||
kLastErrorCode | ||
}; | ||
enum ErrorBehav_t { | kTolerate | |
kDiscardMCM | ||
kDiscardHC | ||
kDiscardDDL | ||
kAbort | ||
}; | ||
enum MarkerCode_t { | kHCactive | |
kSecactive | ||
}; | ||
enum TObject::EStatusBits { | kCanDelete | |
kMustCleanup | ||
kObjInCanvas | ||
kIsReferenced | ||
kHasUUID | ||
kCannotPick | ||
kNoContextMenu | ||
kInvalidObject | ||
}; | ||
enum TObject::[unnamed] { | kIsOnHeap | |
kNotDeleted | ||
kZombie | ||
kBitMask | ||
kSingleKey | ||
kOverwrite | ||
kWriteDelete | ||
}; |
AliTRDarrayADC* | fAdcArray | pointer to ADC array |
Int_t | fCurrAddHcWords | current number of additional HC-header words |
UInt_t* | fCurrBoardId | current board IDs |
Int_t | fCurrCheck | current check bits |
UInt_t | fCurrChecksumSIU | |
UInt_t | fCurrChecksumStack[18][5] | |
UInt_t* | fCurrCleanCheckout | current clean checkout flags |
UInt_t | fCurrEquipmentId | current Equipment ID |
UInt_t | fCurrEvType | current event type |
Int_t | fCurrHC | current HC |
UInt_t | fCurrHwRev | current hardware revision |
UInt_t* | fCurrHwRevTMU | current hardware revision |
Int_t | fCurrLayer | current layer |
Int_t | fCurrLink | current link |
UInt_t* | fCurrLinkDataTypeFlags | current link data flags |
UInt_t* | fCurrLinkDebugFlags | current link debug flags |
UInt_t* | fCurrLinkMask | current link masks |
UInt_t* | fCurrLinkMonitorFlags | current link monitor flags |
Int_t | fCurrMajor | current major version |
Char_t | fCurrMatchFlagsPostBP[18] | |
Char_t | fCurrMatchFlagsSRAM[18] | |
Int_t | fCurrMcmPos | current MCM number |
Int_t | fCurrMinor | current minor version |
Int_t | fCurrNtimebins | current number of timebins |
Int_t | fCurrPtrgCnt | current pretrigger count |
Int_t | fCurrPtrgPhase | current pretrigger phase |
Int_t | fCurrRobPos | current ROB number |
Int_t | fCurrSide | current side |
Int_t | fCurrSlot | current slot |
Int_t | fCurrSm | current sector |
UInt_t | fCurrSmHeaderSize | current size of the SM header |
UInt_t | fCurrSmHeaderVersion | current version of the SM header |
Int_t | fCurrSpecial | current value of the special flag |
Int_t | fCurrStack | current stack |
UInt_t | fCurrStackEndmarkerAvail | current stack endmarker availability |
UInt_t* | fCurrStackHeaderSize | current stack index sizes |
UInt_t* | fCurrStackHeaderVersion | current stack header versions |
UInt_t* | fCurrStackIndexWord | current stack index words |
UInt_t | fCurrStackMask | current mask of active stacks |
UInt_t | fCurrTrackEnable | current value of track enable |
UInt_t | fCurrTrackletEnable | current value of tracklet enable |
UInt_t | fCurrTrailerReadout | current presence of trailer (after the payload) |
UInt_t* | fCurrTrgFlags | current trigger flags of all sectors |
UInt_t | fCurrTrgHeaderAvail | current trigger information availability |
UInt_t* | fCurrTrgHeaderIndexWord | current tracking header index word |
UInt_t | fCurrTrgHeaderReadout | current readout mode for the trigger headers |
UInt_t* | fCurrTrgHeaderSize | current tracking header index word |
UInt_t | fCurrTriggerEnable | current trigger enable |
UInt_t | fCurrTriggerFired | current trigger fired |
ULong64_t* | fCurrTrkFlags | current tracking done flags |
UInt_t | fCurrTrkHeaderAvail | current tracking information availability |
UInt_t* | fCurrTrkHeaderIndexWord | current tracking header index word |
UInt_t* | fCurrTrkHeaderSize | current tracking header index word |
AliTRDdigitsManager* | fDigitsManager | pointer to the digitsManager to fill the data |
AliTRDdigitsParam* | fDigitsParam | pointer to the parameters belonging to the digits |
Int_t | fDumpMCM[100] | MCMs to dump |
char | fErrorBuffer[100] | buffer for error message |
UInt_t | fErrorFlags | error flags used to steer subsequent reading |
TTree* | fErrors | tree containing the occured error codes |
AliTRDrawStream::AliTRDrawStreamError | fLastError | last error which occured |
Int_t | fLastEvId | Event ID of last event |
TClonesArray* | fMarkers | pointer to array of markers (data present, errors, ...) |
Int_t | fNDumpMCMs | number of MCMs to dump |
Int_t | fNtimebins | number of timebins |
UInt_t* | fPayloadCurr | pointer to current reading position in the payload |
Int_t | fPayloadSize | size of the payload (in UInt_t words) |
UInt_t* | fPayloadStart | pointer to start of data payload |
AliRawReader* | fRawReader | pointer to the raw reader to take the data from |
AliTRDSignalIndex* | fSignalIndex | pointer to the signal index |
AliTRDrawStream::AliTRDrawStats | fStats | event statistics, clearing must be done by the user |
G__p2memfunc | fStoreError | ! function pointer to method used for storing the error |
TClonesArray* | fTracklets | pointer to array of tracklets |
TClonesArray* | fTracks | pointer to array of GTU tracks |
static AliTRDrawStream::ErrorBehav_t | fgErrorBehav[21] | bevhaviour in case of error of given type |
static Int_t | fgErrorDebugLevel[21] | error debug level |
static Int_t | fgMcmOrder[2147483647] | expected readout order of the MCMs |
static Int_t | fgRobOrder[2147483647] | expected readout order of the ROBs |
static const UInt_t | fgkDataEndmarker | data endmarker |
static const char* | fgkErrorMessages[21] | error messages corresponding to the error codes |
static const Int_t | fgkNlinks | number of links to read |
static const Int_t | fgkNsectors | number of sectors |
static const Int_t | fgkNstacks | number of stacks to read |
static const Int_t | fgkNtriggers | number of triggers in data stream |
static const UInt_t | fgkStackEndmarker[2147483647] | stack endmarker (used from version 0xd on) |
static const UInt_t | fgkTrackletEndmarker | tracklet endmarker |
Inheritance Chart: | ||||||||
|
read the data for the next chamber in case you only want to read the data of a single chamber to read all data ReadEvent(...) is recommended
read the SMU index header at the current reading position and store the information in the corresponding variables
read the tracking information and store it for the given stack
read the stack header and store the information in the corresponding variables
read the data in one link (one HC) until the data endmarker is reached returns the number of words read!
read and parse the HC header of one HC and store the information in the corresponding variables
testing of testpattern 1 to 3 (hardcoded), 0 missing evcnt checking missing
calculate the CRC for the data from this link must not change the pointers to the data
register error according to error code on equipment level and return the corresponding error message
register error according to error code on stack level and return the corresponding error message
register error according to error code on link level and return the corresponding error message
register error according to error code on ROB level and return the corresponding error message
register error according to error code on MCM level and return the corresponding error message
return the error message for the given error code
mark MCM for dumping of raw data
dump raw data
sort tracklets for referencing from GTU tracks
{ fgErrorDebugLevel[error] = level; }
{ fgErrorBehav[error] = behav; }
{ return (fCurrTrgFlags[sector] & (1 << (27 + stack))) ? fCurrTrkFlags[sector*fgkNstacks + stack] : 0; }
temporary: allow to change expected readout order
{ if (mcm > -1 && mcm < 16) fgMcmOrder[mcm] = pos; }
{ if (robpair > -1 && robpair < 4) fgMcmOrder[robpair] = pos; }
{ return ((0xf & adcmask) == 0xc && (0x3 & adcmask >> 30) == 0x1); }
{ new ((*fMarkers)[fMarkers->GetEntriesFast()]) AliTRDrawStreamError(fLastError); }