]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/AliHLTTPCTrackHistoComponent.h
added a method return the QAdata file name (MUON request)
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCTrackHistoComponent.h
CommitLineData
dadc7068 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 ploting charge in clusters
14*/
15
16#include "AliHLTProcessor.h"
17#include "AliHLTTPCSpacePointData.h"
18#include "AliHLTTPCTrackSegmentData.h"
19
20class AliHLTTPCConfMapper;
21class TH1F;
22
23/**
24 * @class AliHLTTPCTrackHistoComponent
25 * Component for ploting proparties of Tracks.
26 * There has to be uesd one argument, or the component will not plot anything.
27 *
28 * Component ID: \b TPCTrackHisto <br>
29 * Library: \b libAliHLTTPC.
30 *
31 * Mandatory arguments: <br>
32 *
33 *
34 * Optional arguments: <br>
35 *
36 * \li -plot-All <br>
37 * Plots all the Histograms (default kFALSE)
38 * \li -plot-nClusters <br>
39 * Plots Number of Clusters on Tracks (default kFALSE)
40 * \li -plot-ChargeClusters <br>
41 * Plots Charge on all Clusters (default kFALSE)
42 * \li -plot-ChargeUsedClusters <br>
43 * Plots Charge on Clusters used for Tracks (default kFALSE)
44 * \li -plot-pT <br>
45 * Plots pT for Tracks (default kFALSE)
46 * \li -plot-Residuals <br>
47 * Plots Residual of Tracks (default kFALSE)
48 * \li -plot-Tgl <br>
49 * Plots Tgl for tracks (default kFALSE)
50 * @ingroup alihlt_tpc
51 */
52class AliHLTTPCTrackHistoComponent : public AliHLTProcessor
53{
54public:
55 /** default constructor */
56 AliHLTTPCTrackHistoComponent();
57 /** destructor */
58 virtual ~AliHLTTPCTrackHistoComponent();
59
60 // Public functions to implement AliHLTComponent's interface.
61 // These functions are required for the registration process
62
63 /** interface function, see @ref AliHLTComponent for description */
64 const char* GetComponentID();
65 /** interface function, see @ref AliHLTComponent for description */
66 void GetInputDataTypes(AliHLTComponentDataTypeList& list);
67 /** interface function, see @ref AliHLTComponent for description */
68 AliHLTComponentDataType GetOutputDataType();
69 /** interface function, see @ref AliHLTComponent for description */
70 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
71 /** interface function, see @ref AliHLTComponent for description */
72 AliHLTComponent* Spawn();
73
74protected:
75
76 // Protected functions to implement AliHLTComponent's interface.
77 // These functions provide initialization as well as the actual processing
78 // capabilities of the component.
79
80 /** interface function, see @ref AliHLTComponent for description */
81 int DoInit( int argc, const char** argv );
82 /** interface function, see @ref AliHLTComponent for description */
83 int DoDeinit();
84 /** interface function, see @ref AliHLTComponent for description */
85 int DoEvent( const AliHLTComponentEventData& /*evtData*/, AliHLTComponentTriggerData& trigData );
86
87 using AliHLTProcessor::DoEvent;
88
89private:
90 /** copy constructor prohibited */
91 AliHLTTPCTrackHistoComponent(const AliHLTTPCTrackHistoComponent&);
92 /** assignment operator prohibited */
93 AliHLTTPCTrackHistoComponent& operator=(const AliHLTTPCTrackHistoComponent&);
94 /**
95 * Configure the component.
96 * Parse a string for the configuration arguments and set the component
97 * properties.
98 */
99 int Configure(const char* arguments);
100
101 void ReadTracks(const AliHLTComponentBlockData* iter,Int_t &tt);
102
103 void PushHisto();
104
105 TH1F * fHistoNClustersOnTracks; //! transient
106 TH1F * fHistoAllClusters; //! transient
107 TH1F * fHistoUsedClusters; //! transient
108 TH1F * fHistoPT; //! transient
109 TH1F * fHistoResidual; //! transient
110 TH1F * fHistoTgl; //! transient
111
112 Bool_t fPlotAll; //! transient
113 Bool_t fPlotNClustersOnTracks; //! transient
114 Bool_t fPlotChargeClusters; //! transient
115 Bool_t fPlotChargeUsedClusters; //! transient
116 Bool_t fPlotPT; //! transient
117 Bool_t fPlotResidual; //! transient
118 Bool_t fPlotTgl; //! transient
119
120 vector<AliHLTTPCSpacePointData> fClusters; //! transient
121 vector<AliHLTTPCTrackSegmentData> fTracks; //! transient
122
123 vector<UInt_t> fTrackClusterID[36][6]; //! transient
124
125 ClassDef(AliHLTTPCTrackHistoComponent, 0);
126
127};
128#endif