]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/TPCLib/AliHLTTPCTrackHistoComponent.h
Qmax for merged clusters fixed
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCTrackHistoComponent.h
index 770167b9cd9e4b48ab0aefd053c61d5cc66cf3ba..779c6c58133fd419261fb32cc45df3124a0b4cfa 100644 (file)
 #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: @ref kAliHLTDataTypeNtuple <br> 
+ * Output Data Types: ::kAliHLTDataTypeTNtuple <br> 
  *
  * <h2> Mandatory arguments: </h2>
  * \li No mandaroty arguments. 
@@ -53,9 +52,7 @@ class AliHLTTPCTrackArray;
  * Not Tested
  *
  * <h2>Output size:</h2>
- * Size varibles in Ntuple
- *
- * 
+ * Size variables in Ntuple
  *
  * @ingroup alihlt_tpc_components
  */
@@ -77,9 +74,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 +94,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,23 +111,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);
  
-  TNtuple *fClusters;                                              //! transient  
-  TNtuple *fTracks;                                                //! 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
 
-  vector<UInt_t> fTrackClusterID[36][6];                           //! transient
+  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)
 
-  AliHLTTPCTrackArray *fTracksArray;                               //! transient
-  AliHLTTPCSpacePointData *fClustersArray[36][6];                  //! transient
-  UInt_t fNcl[36][6];                                              //! transient
+  TNtuple *fClusters;                             //! transient  
+  TNtuple *fTracks;                               //! transient
+
+  AliHLTTPCSpacePointData *fClustersArray[36][6]; //! transient
+  UInt_t                   fNSpacePoints[36][6];  //! transient
   
-  ClassDef(AliHLTTPCTrackHistoComponent, 1);
+  /** the default configuration entry for this component */
+  static const char* fgkOCDBEntry; //!transient
+
+  ClassDef(AliHLTTPCTrackHistoComponent, 0);
 
 };
 #endif