]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/TPCLib/AliHLTTPCTrackHistoComponent.h
Fixing trigg.class issue
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCTrackHistoComponent.h
index 0f7de20f84e3c0d93b924b768c7802e6c8ea6a2e..c48a7d3e15dfe08385393bd72970309f38a27436 100644 (file)
@@ -7,31 +7,29 @@
 //* ALICE Experiment at CERN, All rights reserved.                         *
 //* See cxx source for full Copyright notice                               *
 
-/** @file   AliHLTTPCTrackHistoComponent.h
-    @author Gaute Ovrebekk
-    @date   
-    @brief  Component for track histo
-*/
+/// @file   AliHLTTPCTrackHistoComponent.h
+/// @author Gaute Ovrebekk
+/// @date   
+/// @brief  Component for track histo
+///
 
 #include "AliHLTProcessor.h"
 #include "AliHLTTPCSpacePointData.h"
-#include "AliHLTTPCTrackSegmentData.h"
 
-class AliHLTTPCConfMapper;
 class TNtuple;
-class AliHLTTPCTrackArray;
+class TH1F;
+class TProfile;
 
 /**
  * @class AliHLTTPCTrackHistoComponent
- * Component for ploting proparties of Tracks. 
- * The component gives out two NTuples. One for cluster- and one for track proprties
+ * Component for plotting proparties of Tracks. 
+ * The component gives out 2 NTuples. One for cluster and one for track properties
  * 
  * <h2>General properties:</h2> 
  *
  * Component ID: \b TPCTrackHisto <br>
  * Library: \b libAliHLTTPC.so <br>
  * Input Data Types: AliHLTTPCDefinitions::fgkClustersDataType,
- *                   AliHLTTPCDefinitions::fgkTrackSegmentsDataType or
  *                   AliHLTTPCDefinitions::fgkTracksDataType <br>
  * Output Data Types: ::kAliHLTDataTypeTNtuple <br> 
  *
@@ -53,9 +51,7 @@ class AliHLTTPCTrackArray;
  * Not Tested
  *
  * <h2>Output size:</h2>
- * Size varibles in Ntuple
- *
- * 
+ * Size variables in Ntuple
  *
  * @ingroup alihlt_tpc_components
  */
@@ -77,9 +73,13 @@ public:
   /** interface function, see AliHLTComponent for description */
   AliHLTComponentDataType GetOutputDataType();
   /** interface function, see AliHLTComponent for description */
+  int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);
+  /** interface function, see AliHLTComponent for description */
   virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
   /** interface function, see AliHLTComponent for description */
   AliHLTComponent* Spawn();
+  /** interface function, see @ref AliHLTComponent for description */
+  void GetOCDBObjectDescription( TMap* const targetMap);
 
 protected:
 
@@ -93,6 +93,10 @@ protected:
   int DoDeinit();
   /** interface function, see AliHLTComponent for description */
   int DoEvent( const AliHLTComponentEventData& /*evtData*/, AliHLTComponentTriggerData& trigData );
+  /** inherited from AliHLTComponent: handle re-configuration event */
+  int Reconfigure(const char* cdbEntry, const char* chainId);
+  /** inherited from AliHLTComponent, scan one argument and its parameters */
+  int ScanConfigurationArgument(int argc, const char** argv);
 
   using AliHLTProcessor::DoEvent;
   
@@ -106,28 +110,37 @@ private:
    * Parse a string for the configuration arguments and set the component
    * properties.
    */ 
-  int Configure(const char* arguments);
+  
   void ReadTracks(const AliHLTComponentBlockData* iter,Int_t &tt);
 
   void PushHisto();
-  void FillResidual( UInt_t pos,AliHLTUInt8_t slice,AliHLTUInt8_t patch,Float_t& resy,Float_t& resz);
-  AliHLTUInt8_t fMinSlice;     //! transient
-  AliHLTUInt8_t fMaxSlice;     //! transient
-  AliHLTUInt8_t fMinPartition; //! transient
-  AliHLTUInt8_t fMaxPartition; //! transient
  
+  Int_t fNEvents;    //! transient
+  Int_t fNtotTracks; //! transient
+
+  Int_t fEvtMod;     //! number of events reached to reset the counter
+  Int_t fBufferSize; //! size of circular buffer (number of entries) for the ntuples
+  Bool_t fdEdx;      //! plot dEdx
+  //  Bool_t fReset;  //! Reset track counter every certain events
+
+  TH1F *fMeanMultiplicity; //! transient (mean multiplicity for every 20 evts vs. #evt by Z.Y.)
+  TH1F *fMultiplicity;     //! transient (track multiplicity by Z.Y.)
+  //TH1F *fdNdEta;           //! transient (dN/dEta)
+     
+  //TH2F *fNClusterVsXY;   //! transient (#Clusters vs. x, y positions, by ZY)
+  //TH2F *fChargeVsXY;     //! transient (Charge distr. vs. x, y added by ZY)
+  TProfile *fDeDxVsP;    //! transient (dEdX vs. p)
+
   TNtuple *fClusters;                             //! transient  
   TNtuple *fTracks;                               //! transient
 
-  vector<UInt_t> fTrackClusterID[36][6];          //! transient
-  AliHLTTPCTrackArray     *fTracksArray;          //! transient
   AliHLTTPCSpacePointData *fClustersArray[36][6]; //! transient
   UInt_t                   fNSpacePoints[36][6];  //! transient
+  
+  /** the default configuration entry for this component */
+  static const char* fgkOCDBEntry; //!transient
 
-  ClassDef(AliHLTTPCTrackHistoComponent, 1);
+  ClassDef(AliHLTTPCTrackHistoComponent, 0);
 
 };
 #endif