3 #ifndef ALIHLTITSCLUSTERHISTOCOMPONENT_H
4 #define ALIHLTITSCLUSTERHISTOCOMPONENT_H
5 //* This file is property of and copyright by the ALICE HLT Project *
6 //* ALICE Experiment at CERN, All rights reserved. *
7 //* See cxx source for full Copyright notice *
9 /** @file AliHLTITSClusterHistoComponent.h
10 @author Gaute Ovrebekk
11 @brief Component for ploting clusters
14 #include "AliHLTProcessor.h"
17 #include "AliHLTITSSpacePointData.h"
18 #include "TClonesArray.h"
19 #include "AliITSRecPoint.h"
22 * @class AliHLTITSQHistoComponent
23 * Component for ploting charge in clusters
25 * Component ID: \b ITSClusterHisto <br>
26 * Library: \b libAliHLTITS.so
28 * Mandatory arguments: <br>
31 * Optional arguments: <br>
33 * will plot all histograms in the component.
35 * will plot a historgam of the x and y projection of the clusters.
36 * \li -plot-charge <i> multiplicity </i> <br>
37 * will plot the charge of the clusters.
38 * \li -plot-phieta <br>
39 * will plot the phi vs eta distrubution of the clusters.
40 * @ingroup alihlt_tpc_components
42 class AliHLTITSClusterHistoComponent : public AliHLTProcessor
45 /** default constructor */
46 AliHLTITSClusterHistoComponent();
48 virtual ~AliHLTITSClusterHistoComponent();
50 // Public functions to implement AliHLTComponent's interface.
51 // These functions are required for the registration process
53 /** interface function, see AliHLTComponent for description */
54 const char* GetComponentID();
55 /** interface function, see AliHLTComponent for description */
56 void GetInputDataTypes(AliHLTComponentDataTypeList& list);
57 /** interface function, see AliHLTComponent for description */
58 AliHLTComponentDataType GetOutputDataType();
59 /** interface function, see AliHLTComponent for description */
60 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
61 /** interface function, see AliHLTComponent for description */
62 AliHLTComponent* Spawn();
66 // Protected functions to implement AliHLTComponent's interface.
67 // These functions provide initialization as well as the actual processing
68 // capabilities of the component.
70 /** interface function, see AliHLTComponent for description */
71 int DoInit( int argc, const char** argv );
72 /** interface function, see AliHLTComponent for description */
74 /** interface function, see AliHLTComponent for description */
75 int DoEvent( const AliHLTComponentEventData& /*evtData*/, AliHLTComponentTriggerData& trigData );
77 int Reconfigure(const char* cdbEntry, const char* chainId);
79 using AliHLTProcessor::DoEvent;
82 /** copy constructor prohibited */
83 AliHLTITSClusterHistoComponent(const AliHLTITSClusterHistoComponent&);
84 /** assignment operator prohibited */
85 AliHLTITSClusterHistoComponent& operator=(const AliHLTITSClusterHistoComponent&);
87 * Configure the component.
88 * Parse a string for the configuration arguments and set the component
91 int Configure(const char* arguments);
93 TH2F * fXY; //! transient
94 TH2F **fPhieta; //! transient
95 TH1F * fCharge; //! transient
97 Bool_t fPlotCharge; //! transient
98 Bool_t fPlotXYPhiEta; //! transient
100 /// maximum required size of the output buffer
101 /// dynamically adjusted
102 int fOutputSize; //! transient
104 ClassDef(AliHLTITSClusterHistoComponent, 3);