class TTree;
class TH1;
+class TStopwatch;
/**
* @class AliHLTTTreeProcessor
int DoEvent(const AliHLTComponentEventData& evtData,
AliHLTComponentTriggerData& trigData);
using AliHLTProcessor::DoEvent;
+ /// inherited from AliHLTComponent, scan argument
+ virtual int ScanConfigurationArgument(int argc, const char** argv);
class AliHLTHistogramDefinition {
public:
AliHLTHistogramDefinition()
- : fName(), fSize(0), fExpr(), fCut(), fOpt()
+ : fName(), fSize(0), fExpr(), fTitle(), fCut(), fOpt()
{
}
const TString& GetExpression()const{return fExpr;}
void SetExpression(const TString& expr){fExpr = expr;}
+ const TString& GetTitle()const{return fTitle;}
+ void SetTitle(const TString& title){fTitle = title;}
+
const TString& GetCut()const{return fCut;}
void SetCut(const TString& cut){fCut = cut;}
TString fName;
int fSize;
TString fExpr;
+ TString fTitle;
TString fCut;
TString fOpt;
};
typedef std::list<AliHLTHistogramDefinition>::iterator list_iterator;
typedef std::list<AliHLTHistogramDefinition>::const_iterator list_const_iterator;
-
private:
- /// inherited from AliHLTComponent, scan argument
- int ScanConfigurationArgument(int argc, const char** argv);
/// create the tree instance and all branches
virtual TTree* CreateTree(int argc, const char** argv) = 0;
/// process input blocks and fill tree
/// dtOrigin for PushBack.
virtual AliHLTComponentDataType GetOriginDataType()const = 0;
/// spec for PushBack
- virtual AliHLTUInt32_t GetDataSpec()const = 0;
+ virtual AliHLTUInt32_t GetDataSpec()const {return fUniqueId;}
/// default histogram definitions.
virtual void FillHistogramDefinitions() = 0;
/// time stamp - publish or not.
unsigned fLastTime; //! last time the histogramms were published
+ TStopwatch* fpEventTimer; //! stopwatch for event processing
+ TStopwatch* fpCycleTimer; //! stopwatch for event cycle
+ AliHLTUInt32_t fMaxMemory; //! maximum memory consumption allowed for the process
+ AliHLTUInt32_t fMaxEventTime; //! allowed maximum processing time in usec
+ AliHLTUInt32_t fNofEventsForce; //! number of events to ignore the processing time
+ AliHLTUInt32_t fForcedEventsCount; //! event count for the forced events
+ AliHLTUInt32_t fSkippedEventsCount; //! number of skipped events
+ AliHLTUInt32_t fNewEventsCount; //! number of new events since last publishing
+ AliHLTUInt32_t fUniqueId; //! a unique id for this process used to identify the output of multiple processes
+ AliHLTUInt32_t fIgnoreCycleTime; //! ignore cycle time for n seconds
+ float fCycleTimeFactor; //! weight for the cycle time
+
+ static const AliHLTUInt32_t fgkTimeScale;
+
/// copy constructor prohibited
AliHLTTTreeProcessor(const AliHLTTTreeProcessor&);
/// assignment operator prohibited