]>
Commit | Line | Data |
---|---|---|
ae24e8b7 | 1 | //-*- Mode: C++ -*- |
2 | // $Id$ | |
3 | ||
4 | #ifndef ALIHLTTRDTRACKHISTOCOMPONENT_H | |
5 | #define ALIHLTTRDTRACKHISTOCOMPONENT_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 | ||
11 | #include "AliHLTProcessor.h" | |
12 | ||
13 | /** | |
14 | * @class AliHLTTRDQHistoComponent | |
15 | * Component for ploting charge in clusters | |
16 | * | |
17 | * Component ID: \b TRDQHisto <br> | |
18 | * Library: \b libAliHLTTRD. | |
19 | * | |
20 | * Mandatory arguments: <br> | |
21 | * | |
22 | * | |
23 | * Optional arguments: <br> | |
24 | * | |
25 | * | |
26 | * @ingroup alihlt_tpc_components | |
27 | */ | |
28 | ||
29 | class TH1F; | |
30 | class TClonesArray; | |
31 | class AliHLTTRDTrackHistoComponent : public AliHLTProcessor | |
32 | { | |
33 | public: | |
34 | /** default constructor */ | |
35 | AliHLTTRDTrackHistoComponent(); | |
36 | /** destructor */ | |
37 | virtual ~AliHLTTRDTrackHistoComponent(); | |
38 | ||
39 | // Public functions to implement AliHLTComponent's interface. | |
40 | // These functions are required for the registration process | |
41 | ||
42 | /** interface function, see AliHLTComponent for description */ | |
43 | const char* GetComponentID(); | |
44 | /** interface function, see AliHLTComponent for description */ | |
45 | void GetInputDataTypes(AliHLTComponentDataTypeList& list); | |
46 | /** interface function, see AliHLTComponent for description */ | |
47 | AliHLTComponentDataType GetOutputDataType(); | |
48 | /** interface function, see AliHLTComponent for description */ | |
49 | virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier ); | |
50 | /** interface function, see AliHLTComponent for description */ | |
51 | AliHLTComponent* Spawn(); | |
52 | ||
53 | protected: | |
54 | ||
55 | // Protected functions to implement AliHLTComponent's interface. | |
56 | // These functions provide initialization as well as the actual processing | |
57 | // capabilities of the component. | |
58 | ||
59 | /** interface function, see AliHLTComponent for description */ | |
60 | int DoInit( int argc, const char** argv ); | |
61 | /** interface function, see AliHLTComponent for description */ | |
62 | int DoDeinit(); | |
63 | /** interface function, see AliHLTComponent for description */ | |
64 | int DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData ); | |
65 | ||
66 | using AliHLTProcessor::DoEvent; | |
67 | ||
68 | int Configure(const char* arguments); | |
69 | ||
70 | private: | |
71 | /** copy constructor prohibited */ | |
72 | AliHLTTRDTrackHistoComponent(const AliHLTTRDTrackHistoComponent&); | |
73 | /** assignment operator prohibited */ | |
74 | AliHLTTRDTrackHistoComponent& operator=(const AliHLTTRDTrackHistoComponent&); | |
75 | /** | |
76 | * Configure the component. | |
77 | * Parse a string for the configuration arguments and set the component | |
78 | * properties. | |
79 | */ | |
80 | ||
81 | AliHLTUInt32_t fOutputSize; // output size | |
2d7cea9e | 82 | AliHLTUInt32_t fSpec; // accumulated specification |
83 | TClonesArray* fTracksArray; // input array | |
ae24e8b7 | 84 | |
802b480b | 85 | TH1F *fClPerTrkl; // Number of clusters per tracklet |
86 | TH1F *fTrklPerTrk; // Number of tracklets per track | |
1ea1f8e0 | 87 | TH1F *fEvSize; // Event size in kbyte |
802b480b | 88 | TH1F *fEtaDistrib; // Eta distribution |
89 | TH1F *fPhiDistrib; // Phi distribution | |
90 | TH1F *fPtDistrib; // Pt distribution | |
ae24e8b7 | 91 | |
92 | ClassDef(AliHLTTRDTrackHistoComponent, 0); | |
93 | }; | |
94 | #endif |