ROOT logo
AliRoot » HLT » BASE » AliHLTTTreeProcessor

class AliHLTTTreeProcessor: public AliHLTProcessor

This file is property of and copyright by the ALICE HLT Project
ALICE Experiment at CERN, All rights reserved.

Primary Authors: Timur Pocheptsov <Timur.Pocheptsov@cern.ch>
*                  Matthias Richter <Matthias.Richter@cern.ch>
for The ALICE HLT Project.

Permission to use, copy, modify and distribute this software and its
documentation strictly for non-commercial purposes is hereby granted
without fee, provided that the above copyright notice appears in all
copies and that both the copyright notice and this permission notice
appear in the supporting documentation. The authors make no claims
about the suitability of this software for any purpose. It is
provided "as is" without express or implied warranty.

Function Members (Methods)

 
    This is an abstract class, constructors will not be documented.
    Look at the header to check for available constructors.

public:
virtual~AliHLTTTreeProcessor()
static const char*AliHLTLogging::BuildLogString(const char* format, va_list& ap, bool bAppend = false)
static AliHLTUInt32_tAliHLTComponent::CalculateChecksum(const AliHLTUInt8_t* buffer, int size)
intAliHLTLogging::CheckFilter(AliHLTComponentLogSeverity severity) const
intAliHLTLogging::CheckGroup(const char* originClass) const
intAliHLTComponent::CheckOCDBEntries(const TMap *const externList = 0)
static TClass*Class()
static voidAliHLTComponent::CopyDataType(AliHLTComponentDataType& tgtdt, const AliHLTComponentDataType& srcdt)
static stringAliHLTComponent::DataType2Text(const AliHLTComponentDataType& type, int mode = 0)
virtual intAliHLTComponent::Deinit()
virtual intAliHLTProcessor::DoProcessing(const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks, AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr, AliHLTUInt32_t& size, AliHLTComponentBlockDataList& outputBlocks, AliHLTComponentEventDoneData*& edd)
static intAliHLTComponent::ExtractComponentTableEntry(const AliHLTUInt8_t* pBuffer, AliHLTUInt32_t size, string& chainId, string& compId, string& compParam, vector<AliHLTUInt32_t>& parents)
static intAliHLTComponent::ExtractComponentTableEntry(const AliHLTUInt8_t* pBuffer, AliHLTUInt32_t size, string& chainId, string& compId, string& compParam, vector<AliHLTUInt32_t>& parents, int& level)
static AliHLTUInt32_tAliHLTComponent::ExtractEventTypeFromCDH(const AliHLTCDHWrapper *const cdh)
static intAliHLTComponent::ExtractTriggerData(const AliHLTComponentTriggerData& trigData, const AliHLTUInt8_t (**)[gkAliHLTBlockDAttributeCount] attributes, AliHLTUInt64_t* status, AliHLTCDHWrapper *const cdh, AliHLTReadoutList* readoutlist, bool printErrors = false)
static voidAliHLTComponent::FillBlockData(AliHLTComponentBlockData& blockData)
static voidAliHLTComponent::FillDataType(AliHLTComponentDataType& dataType)
static voidAliHLTComponent::FillEventData(AliHLTComponentEventData& evtData)
static voidAliHLTComponent::FillShmData(AliHLTComponentShmData& shmData)
intAliHLTComponent::FindMatchingDataTypes(AliHLTComponent* pConsumer, AliHLTComponentDataTypeList* tgtList)
static TUUIDAliHLTComponent::GenerateGUID()
virtual const char*AliHLTComponent::GetComponentID()
virtual AliHLTComponent::TComponentTypeAliHLTProcessor::GetComponentType()
intAliHLTComponent::GetCompressionLevel() const
static AliHLTComponentLogSeverityAliHLTLogging::GetGlobalLoggingLevel()
virtual voidAliHLTComponent::GetInputDataTypes(AliHLTComponentDataTypeList&)
const char*AliHLTLogging::GetKeyword() const
intAliHLTComponent::GetLastObjectSize() const
static AliHLTComponentLogSeverityAliHLTLogging::GetLocalLoggingDefault()
AliHLTComponentLogSeverityAliHLTLogging::GetLocalLoggingLevel()
virtual voidAliHLTComponent::GetOCDBObjectDescription(TMap *const targetArray)
virtual voidGetOutputDataSize(unsigned long& constBase, double& inputMultiplier)
virtual AliHLTComponentDataTypeGetOutputDataType()
virtual intAliHLTComponent::GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList)
virtual void*AliHLTLogging::GetParameter() const
static intAliHLTComponent::GetReadoutList(const AliHLTComponentTriggerData& trigData, AliHLTReadoutList& list, bool printErrors = false)
virtual intAliHLTComponent::Init(const AliHLTAnalysisEnvironment* comenv, void* environParam, int argc, const char** argv)
static intAliHLTLogging::InitAliLogFunc(AliHLTComponentHandler* pHandler)
static intAliHLTLogging::InitAliLogTrap(AliHLTComponentHandler* pHandler)
intAliHLTComponent::InitCDB(const char* cdbPath, AliHLTComponentHandler* pHandler)
virtual TClass*IsA() const
intAliHLTLogging::Logging(AliHLTComponentLogSeverity severity, const char* origin, const char* keyword, const char* message)
virtual intAliHLTComponent::LoggingVarargs(AliHLTComponentLogSeverity severity, const char* originClass, const char* originFunc, const char* file, int line) const
static intAliHLTLogging::Message(void* param, AliHLTComponentLogSeverity severity, const char* origin, const char* keyword, const char* message)
static voidAliHLTComponent::PrintComponentDataTypeInfo(const AliHLTComponentDataType& dt)
static voidAliHLTComponent::PrintDataTypeContent(AliHLTComponentDataType& dt, const char* format = 0)
intAliHLTComponent::ProcessEvent(const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks, AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr, AliHLTUInt32_t& size, AliHLTUInt32_t& outputBlockCnt, AliHLTComponentBlockData*& outputBlocks, AliHLTComponentEventDoneData*& edd)
intAliHLTLogging::SendMessage(AliHLTComponentLogSeverity severity, const char* originClass, const char* originFunc, const char* file, int line, const char* message) const
static intAliHLTLogging::SetBlackList(const char* classnames)
intAliHLTComponent::SetCDBRunNo(int runNo)
intAliHLTComponent::SetComponentDescription(const char* desc)
intAliHLTComponent::SetComponentEnvironment(const AliHLTAnalysisEnvironment* comenv, void* environParam)
static voidAliHLTComponent::SetDataType(AliHLTComponentDataType& tgtdt, const char* id, const char* origin)
static voidAliHLTComponent::SetDataType(AliHLTComponentDataType& dt, AliHLTUInt64_t id, AliHLTUInt32_t orig)
voidAliHLTLogging::SetDefaultKeyword(const char* keyword)
static intAliHLTComponent::SetGlobalComponentHandler(AliHLTComponentHandler* pCH, int bOverwrite = 0)
static voidAliHLTLogging::SetGlobalLoggingLevel(AliHLTComponentLogSeverity level)
const char*AliHLTLogging::SetKeyword(const char* keyword)
static voidAliHLTLogging::SetLocalLoggingDefault(AliHLTComponentLogSeverity level)
virtual voidAliHLTLogging::SetLocalLoggingLevel(AliHLTComponentLogSeverity level)
static const char*AliHLTLogging::SetLogString(const void* p, const char* pfmt, const char* format)
intAliHLTComponent::SetRunDescription(const AliHLTRunDesc* desc, const char* runType)
intAliHLTComponent::SetStopwatch(TObject* pSW, AliHLTComponent::AliHLTStopwatchType type = kSWBase)
intAliHLTComponent::SetStopwatches(TObjArray* pStopwatches)
static intAliHLTLogging::SetWhiteList(const char* classnames)
virtual voidShowMembers(TMemberInspector&)
virtual AliHLTComponent*AliHLTComponent::Spawn()
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
voidAliHLTLogging::SwitchAliLog(int sw)
static intAliHLTComponent::UnsetGlobalComponentHandler()
protected:
void*AliHLTComponent::AllocMemory(unsigned long size)
intAliHLTComponent::CheckCTPTrigger(const char* name) const
intAliHLTComponent::CloseMemoryFile(AliHLTMemoryFile* pFile)
intAliHLTComponent::ConfigureFromArgumentString(int argc, const char** argv)
intAliHLTComponent::ConfigureFromCDBTObjString(const char* entries, const char* key = 0)
intAliHLTComponent::CopyStruct(void* pStruct, unsigned int iStructSize, unsigned int iBlockNo, const char* structname = "", const char* eventname = "")
intAliHLTComponent::CreateEventDoneData(AliHLTComponentEventDoneData edd)
AliHLTMemoryFile*AliHLTComponent::CreateMemoryFile(int capacity, const AliHLTComponentDataType& dt = kAliHLTAnyDataType, AliHLTUInt32_t spec = kAliHLTVoidDataSpec)
AliHLTMemoryFile*AliHLTComponent::CreateMemoryFile(const AliHLTComponentDataType& dt = kAliHLTAnyDataType, AliHLTUInt32_t spec = kAliHLTVoidDataSpec, float capacity = 1.0)
AliHLTMemoryFile*AliHLTComponent::CreateMemoryFile(int capacity, const char* dtID, const char* dtOrigin, AliHLTUInt32_t spec = kAliHLTVoidDataSpec)
AliHLTMemoryFile*AliHLTComponent::CreateMemoryFile(const char* dtID, const char* dtOrigin, AliHLTUInt32_t spec = kAliHLTVoidDataSpec, float capacity = 1.0)
const AliHLTCTPData*AliHLTComponent::CTPData() const
voidAliHLTComponent::DataType2Text(const AliHLTComponentDataType& type, char* output) const
virtual intDoDeinit()
virtual intDoEvent(const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData)
virtual intDoInit(int argc, const char** argv)
virtual intAliHLTComponent::EndOfRun()
intAliHLTComponent::EstimateObjectSize(const TObject* pObject) const
boolAliHLTComponent::EvaluateCTPTriggerClass(const char* expression, AliHLTComponentTriggerData& trigData) const
intAliHLTComponent::Forward(const TObject* pObject)
intAliHLTComponent::Forward(const AliHLTComponentBlockData* pBlock = 0)
unsigned shortAliHLTComponent::GetBunchCrossNumber() const
voidAliHLTComponent::GetBxByBz(const Double_t* r, Double_t* b)
Double_tAliHLTComponent::GetBz()
Double_tAliHLTComponent::GetBz(const Double_t* r)
const char*AliHLTComponent::GetChainId() const
AliHLTComponentEventDoneData*AliHLTComponent::GetCurrentEventDoneData() const
AliHLTComponentDataTypeAliHLTComponent::GetDataType(const TObject* pObject = 0)
intAliHLTComponent::GetEventCount() const
intAliHLTComponent::GetEventDoneData(unsigned long size, AliHLTComponentEventDoneData** edd) const
AliHLTEventID_tAliHLTComponent::GetEventId() const
const AliHLTComponentBlockData*AliHLTComponent::GetFirstInputBlock(const AliHLTComponentDataType& dt = kAliHLTAllDataTypes)
const AliHLTComponentBlockData*AliHLTComponent::GetFirstInputBlock(const char* dtID, const char* dtOrigin)
const TObject*AliHLTComponent::GetFirstInputObject(const AliHLTComponentDataType& dt = kAliHLTAllDataTypes, const char* classname = 0, int bForce = 0)
const TObject*AliHLTComponent::GetFirstInputObject(const char* dtID, const char* dtOrigin, const char* classname = 0, int bForce = 0)
const AliHLTComponentBlockData*AliHLTComponent::GetInputBlock(int index) const
const AliHLTComponentBlockData*AliHLTComponent::GetNextInputBlock()
const TObject*AliHLTComponent::GetNextInputObject(int bForce = 0)
intAliHLTComponent::GetNumberOfInputBlocks() const
AliHLTUInt32_tAliHLTComponent::GetOrbitNumber() const
AliHLTUInt32_tAliHLTComponent::GetPeriodNumber() const
AliHLTUInt32_tAliHLTComponent::GetRunNo() const
AliHLTUInt32_tAliHLTComponent::GetRunType() const
AliHLTUInt32_tAliHLTComponent::GetSpecification(const TObject* pObject = 0)
AliHLTUInt32_tAliHLTComponent::GetSpecification(const AliHLTComponentBlockData* pBlock)
AliHLTUInt32_tAliHLTComponent::GetTimeStamp() const
boolAliHLTComponent::IsDataEvent(AliHLTUInt32_t* pTgt = 0) const
TObject*AliHLTComponent::LoadAndExtractOCDBObject(const char* path, const char* key = 0) const
intAliHLTComponent::MakeOutputDataBlockList(const AliHLTComponentBlockDataList& blocks, AliHLTUInt32_t* blockCount, AliHLTComponentBlockData** outputBlocks)
intAliHLTComponent::PushBack(const TObject* pObject, const AliHLTComponentDataType& dt, AliHLTUInt32_t spec = kAliHLTVoidDataSpec, void* pHeader = 0, int headerSize = 0)
intAliHLTComponent::PushBack(const TObject* pObject, const char* dtID, const char* dtOrigin, AliHLTUInt32_t spec = kAliHLTVoidDataSpec, void* pHeader = 0, int headerSize = 0)
intAliHLTComponent::PushBack(const void* pBuffer, int iSize, const AliHLTComponentDataType& dt, AliHLTUInt32_t spec = kAliHLTVoidDataSpec, const void* pHeader = 0, int headerSize = 0)
intAliHLTComponent::PushBack(const void* pBuffer, int iSize, const char* dtID, const char* dtOrigin, AliHLTUInt32_t spec = kAliHLTVoidDataSpec, const void* pHeader = 0, int headerSize = 0)
intAliHLTComponent::PushEventDoneData(AliHLTUInt32_t eddDataWord)
virtual intAliHLTComponent::ReadPreprocessorValues(const char* modules)
virtual intAliHLTComponent::Reconfigure(const char* cdbEntry, const char* chainId)
voidAliHLTComponent::ReleaseEventDoneData()
virtual boolAliHLTComponent::RequireSteeringBlocks() const
intAliHLTComponent::ReserveEventDoneData(unsigned long size)
virtual intScanConfigurationArgument(int argc, const char** argv)
intAliHLTComponent::SetupCTPData()
virtual intAliHLTComponent::StartOfRun()
intAliHLTComponent::Write(AliHLTMemoryFile* pFile, const TObject* pObject, const char* key = 0, int option = TObject::kOverwrite)
private:
TH1*CreateHistogram(const AliHLTTTreeProcessor::AliHLTHistogramDefinition& def)
virtual TTree*CreateTree(int argc, const char** argv)
virtual voidFillHistogramDefinitions()
virtual intFillTree(TTree* pTree, const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData)
virtual AliHLTUInt32_tGetDataSpec() const
virtual AliHLTComponentDataTypeGetOriginDataType() const
AliHLTTTreeProcessor&operator=(const AliHLTTTreeProcessor&)
intParseHistogramDefinition(int argc, const char** argv, int pos, AliHLTTTreeProcessor::AliHLTHistogramDefinition& dst) const

Data Members

public:
enum EDefaults { kMaxEntries
kDefaultNBins
kInterval
};
enum AliHLTComponent::TComponentType { kUnknown
kSource
kProcessor
kSink
};
enum AliHLTComponent::AliHLTStopwatchType { kSWBase
kSWDA
kSWInput
kSWOutput
kSWTypeCount
};
public:
static ostringstreamAliHLTLogging::fgLogstr! transient
protected:
list<AliHLTHistogramDefinition>fDefinitions
static void*AliHLTLogging::fgAliLoggingFunc! transient
private:
floatfCycleTimeFactor! weight for the cycle time
AliHLTUInt32_tfForcedEventsCount! event count for the forced events
AliHLTUInt32_tfIgnoreCycleTime! ignore cycle time for n seconds
unsigned intfLastTime! last time the histogramms were published
intfMaxEntries! maximum number of entries in the circular tree
AliHLTUInt32_tfMaxEventTime! allowed maximum processing time in usec
AliHLTUInt32_tfMaxMemory! maximum memory consumption allowed for the process
AliHLTUInt32_tfNewEventsCount! number of new events since last publishing
AliHLTUInt32_tfNofEventsForce! number of events to ignore the processing time
unsigned intfPublishInterval! publish interval in s
AliHLTUInt32_tfSkippedEventsCount! number of skipped events
TTree*fTree! the tree instance
AliHLTUInt32_tfUniqueId! a unique id for this process used to identify the output of multiple processes
static const AliHLTUInt32_tfgkTimeScale
TStopwatch*fpCycleTimer! stopwatch for event cycle
TStopwatch*fpEventTimer! stopwatch for event processing

Class Charts

Inheritance Chart:
AliHLTLogging
AliHLTComponent
AliHLTProcessor
AliHLTTTreeProcessor

Function documentation

~AliHLTTTreeProcessor()
 see header file for class documentation
AliHLTComponentDataType GetOutputDataType()
 get the component output data type
void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier)
 get the output size estimator

int DoInit(int argc, const char** argv)
 init component
 ask child to create the tree.
int DoDeinit()
 cleanup component
int DoEvent(const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData)
Process event and publish histograms.
int ScanConfigurationArgument(int argc, const char** argv)
 scan one argument and its parameters from the list
 return number of processed entries.
 possible arguments:
 -maxentries number
 -interval number
 -histogram name -size number -expression expression [-title expression ] -cut expression ][-opt option]
 As soon as "-histogram" found, -size and -expression and -outtype are required,
 cut and option can be omitted.
TH1* CreateHistogram(const AliHLTTTreeProcessor::AliHLTHistogramDefinition& def)
int ParseHistogramDefinition(int argc, const char** argv, int pos, AliHLTTTreeProcessor::AliHLTHistogramDefinition& dst) const
Histogram-definition:
    -histogram name -size number -expression expression [-title expression][-cut expression][-opt option]
TTree* CreateTree(int argc, const char** argv)
 create the tree instance and all branches
int FillTree(TTree* pTree, const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData)
 process input blocks and fill tree
AliHLTUInt32_t GetDataSpec() const
 dtOrigin for PushBack.
 spec for PushBack
{return fUniqueId;}
void FillHistogramDefinitions()
 default histogram definitions.