]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/BASE/AliHLTTTreeProcessor.h
Move cluster sorting from CA tracker component inside CA tracker and pipeline with...
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTTTreeProcessor.h
index 9c7caee3291af6277924f5218e84f4759f58ac4b..613e24f499cd6f390b15d10b1a45f23589926077 100644 (file)
@@ -20,6 +20,7 @@
 
 class TTree;
 class TH1;
+class TStopwatch;
 
 /**
  * @class AliHLTTTreeProcessor
@@ -68,11 +69,13 @@ protected:
   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()
     {
     }
 
@@ -85,6 +88,9 @@ protected:
        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;}
 
@@ -96,6 +102,7 @@ protected:
     TString fName;
     int     fSize;
     TString fExpr;
+    TString fTitle;
     TString fCut;
     TString fOpt;
   };
@@ -104,10 +111,7 @@ protected:
   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
@@ -116,7 +120,7 @@ private:
   /// 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;
 
@@ -134,6 +138,20 @@ private:
   /// 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