LCOV - code coverage report
Current view: top level - HLT/TPCLib - AliHLTTPCTrackHistoComponent.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 1 100.0 %
Date: 2016-06-14 17:26:59 Functions: 1 5 20.0 %

          Line data    Source code
       1             : // XEmacs -*-C++-*-
       2             : // $Id$
       3             : 
       4             : #ifndef ALIHLTTPCTRACKHISTOCOMPONENT_H
       5             : #define ALIHLTTPCTRACKHISTOCOMPONENT_H
       6             : //* This file is property of and copyright by the ALICE HLT Project        * 
       7             : //* ALICE Experiment at CERN, All rights reserved.                         *
       8             : //* See cxx source for full Copyright notice                               *
       9             : 
      10             : /// @file   AliHLTTPCTrackHistoComponent.h
      11             : /// @author Gaute Ovrebekk
      12             : /// @date   
      13             : /// @brief  Component for track histo
      14             : ///
      15             : 
      16             : #include "AliHLTProcessor.h"
      17             : #include "AliHLTTPCSpacePointData.h"
      18             : 
      19             : class TNtuple;
      20             : class TH1F;
      21             : class TProfile;
      22             : 
      23             : /**
      24             :  * @class AliHLTTPCTrackHistoComponent
      25             :  * Component for plotting proparties of Tracks. 
      26             :  * The component gives out 2 NTuples. One for cluster and one for track properties
      27             :  * 
      28             :  * <h2>General properties:</h2> 
      29             :  *
      30             :  * Component ID: \b TPCTrackHisto <br>
      31             :  * Library: \b libAliHLTTPC.so <br>
      32             :  * Input Data Types: AliHLTTPCDefinitions::fgkClustersDataType,
      33             :  *                   AliHLTTPCDefinitions::fgkTracksDataType <br>
      34             :  * Output Data Types: ::kAliHLTDataTypeTNtuple <br> 
      35             :  *
      36             :  * <h2> Mandatory arguments: </h2>
      37             :  * \li No mandaroty arguments. 
      38             :  * 
      39             :  * <h2> Optional arguments: </h2>
      40             :  * 
      41             :  * <h2>Configuration:</h2>
      42             :  * 
      43             :  *
      44             :  * <h2>Default CDB entries:</h2>
      45             :  * The component has for now no CDB entry
      46             :  *
      47             :  * <h2>Performance:</h2>
      48             :  * Not Tested 
      49             :  *
      50             :  * <h2>Memory consumption:</h2>
      51             :  * Not Tested
      52             :  *
      53             :  * <h2>Output size:</h2>
      54             :  * Size variables in Ntuple
      55             :  *
      56             :  * @ingroup alihlt_tpc_components
      57             :  */
      58             : class AliHLTTPCTrackHistoComponent : public AliHLTProcessor
      59             : {
      60             : public:
      61             :   /** default constructor */
      62             :   AliHLTTPCTrackHistoComponent();
      63             :   /** destructor */
      64             :   virtual ~AliHLTTPCTrackHistoComponent();
      65             : 
      66             :   // Public functions to implement AliHLTComponent's interface.
      67             :   // These functions are required for the registration process
      68             : 
      69             :   /** interface function, see AliHLTComponent for description */
      70             :   const char* GetComponentID();
      71             :   /** interface function, see AliHLTComponent for description */
      72             :   void GetInputDataTypes(AliHLTComponentDataTypeList& list);
      73             :   /** interface function, see AliHLTComponent for description */
      74             :   AliHLTComponentDataType GetOutputDataType();
      75             :   /** interface function, see AliHLTComponent for description */
      76             :   int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);
      77             :   /** interface function, see AliHLTComponent for description */
      78             :   virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
      79             :   /** interface function, see AliHLTComponent for description */
      80             :   AliHLTComponent* Spawn();
      81             :   /** interface function, see @ref AliHLTComponent for description */
      82             :   void GetOCDBObjectDescription( TMap* const targetMap);
      83             : 
      84             : protected:
      85             : 
      86             :   // Protected functions to implement AliHLTComponent's interface.
      87             :   // These functions provide initialization as well as the actual processing
      88             :   // capabilities of the component. 
      89             : 
      90             :   /** interface function, see AliHLTComponent for description */
      91             :   int DoInit( int argc, const char** argv );
      92             :   /** interface function, see AliHLTComponent for description */
      93             :   int DoDeinit();
      94             :   /** interface function, see AliHLTComponent for description */
      95             :   int DoEvent( const AliHLTComponentEventData& /*evtData*/, AliHLTComponentTriggerData& trigData );
      96             :   /** inherited from AliHLTComponent: handle re-configuration event */
      97             :   int Reconfigure(const char* cdbEntry, const char* chainId);
      98             :   /** inherited from AliHLTComponent, scan one argument and its parameters */
      99             :   int ScanConfigurationArgument(int argc, const char** argv);
     100             : 
     101             :   using AliHLTProcessor::DoEvent;
     102             :   
     103             : private:
     104             :   /** copy constructor prohibited */
     105             :   AliHLTTPCTrackHistoComponent(const AliHLTTPCTrackHistoComponent&);
     106             :   /** assignment operator prohibited */
     107             :   AliHLTTPCTrackHistoComponent& operator=(const AliHLTTPCTrackHistoComponent&);
     108             :   /**
     109             :    * Configure the component.
     110             :    * Parse a string for the configuration arguments and set the component
     111             :    * properties.
     112             :    */ 
     113             :   
     114             :   void ReadTracks(const AliHLTComponentBlockData* iter,Int_t &tt);
     115             : 
     116             :   void PushHisto();
     117             :  
     118             :   Int_t fNEvents;    //! transient
     119             :   Int_t fNtotTracks; //! transient
     120             : 
     121             :   Int_t fEvtMod;     //! number of events reached to reset the counter
     122             :   Int_t fBufferSize; //! size of circular buffer (number of entries) for the ntuples
     123             :   Bool_t fdEdx;      //! plot dEdx
     124             :   //  Bool_t fReset;  //! Reset track counter every certain events
     125             : 
     126             :   TH1F *fMeanMultiplicity; //! transient (mean multiplicity for every 20 evts vs. #evt by Z.Y.)
     127             :   TH1F *fMultiplicity;     //! transient (track multiplicity by Z.Y.)
     128             :   //TH1F *fdNdEta;           //! transient (dN/dEta)
     129             :      
     130             :   //TH2F *fNClusterVsXY;   //! transient (#Clusters vs. x, y positions, by ZY)
     131             :   //TH2F *fChargeVsXY;     //! transient (Charge distr. vs. x, y added by ZY)
     132             :   TProfile *fDeDxVsP;    //! transient (dEdX vs. p)
     133             : 
     134             :   TNtuple *fClusters;                             //! transient  
     135             :   TNtuple *fTracks;                               //! transient
     136             : 
     137             :   AliHLTTPCSpacePointData *fClustersArray[36][6]; //! transient
     138             :   UInt_t                   fNSpacePoints[36][6];  //! transient
     139             :   
     140             :   /** the default configuration entry for this component */
     141             :   static const char* fgkOCDBEntry; //!transient
     142             : 
     143           6 :   ClassDef(AliHLTTPCTrackHistoComponent, 0);
     144             : 
     145             : };
     146             : #endif

Generated by: LCOV version 1.11