update of AltroChannelSelector component by Jason: added monitoring histograms, make...
[u/mrichter/AliRoot.git] / HLT / RCU / AliHLTAltroChannelSelectorComponent.h
index f541e6eeb8cec439bcad3025fb1dd4e6b3b38dd5..04bb19c9a014d462fb4a0ff1ccc0df6b04a642ac 100644 (file)
 
 #include "AliHLTProcessor.h"
 
 
 #include "AliHLTProcessor.h"
 
+class TH1F;
+
 /**
  * @class AliHLTAltroChannelSelectorComponent
  * A selector component for ALTRO Raw data. The component subscribes
 /**
  * @class AliHLTAltroChannelSelectorComponent
  * A selector component for ALTRO Raw data. The component subscribes
- * to the RAW data {***:DDL_RAW } and gets in addition a list of channels
- * to select. The list must be of identical specification as the RAW data
- * and can be of data type:
- * - {***:HWADDR16}: 16 bit hardware addresses
+ * to the RAW data {***:DDL_RAW }, and produces the same raw data block
+ * with only the selected ALTRO channels.                               <br>
+ * Three different modes are supported:
+ * - -signal-threshold                                                  <br>
+ *   the average of all signals in the channel is calculated and it is
+ *   selected when the maximum signal exceeds average+threshold
+ * - -rms-threshold                                                     <br>
+ *   the implemented logic needs to be checked, never been used
+ * - list of channels to select. 
+ *   The list must be of identical specification as the RAW data and of
+ *   data type {***:HWADDR16}: 16 bit hardware addresses
  *
  *
- * In Oct 2008 the component has been extended in order to select channels
- * by calculating average/sigma and applying thresholds.
  *
  * The AliAltroRawStreamV3 is used as input decoder to read and scan the
  * Altro Raw data.
  *
  * The AliAltroRawStreamV3 is used as input decoder to read and scan the
  * Altro Raw data.
@@ -100,9 +107,13 @@ class AliHLTAltroChannelSelectorComponent : public AliHLTProcessor {
   unsigned int fStartTimeBin; //!transient
   unsigned int fEndTimeBin; //!transient
   unsigned int fSignalThreshold; //!transient
   unsigned int fStartTimeBin; //!transient
   unsigned int fEndTimeBin; //!transient
   unsigned int fSignalThreshold; //!transient
-  unsigned int fRMSThreshold; //!transient
+  float fRMSThreshold; //!transient
+  bool fMakeHistogram; //!transient
+  
+  TH1F *fhThreshold;//! Histgram of the "threshold value" 
+  TH1F *fhRMS;//! Histgrams of the "RMS value"
 
 
-  ClassDef(AliHLTAltroChannelSelectorComponent, 2);
+  ClassDef(AliHLTAltroChannelSelectorComponent, 0);
 };
 
 #endif
 };
 
 #endif