]>
Commit | Line | Data |
---|---|---|
cdfe3c01 | 1 | // -*- Mode: C++ -*- |
2 | // $Id$ | |
3 | ||
4 | #ifndef ALIHLTTPCHISTOGRAMHANDLERCOMPONENT_H | |
5 | #define ALIHLTTPCHISTOGRAMHANDLERCOMPONENT_H | |
6 | ||
7 | //* This file is property of and copyright by the ALICE HLT Project * | |
8 | //* ALICE Experiment at CERN, All rights reserved. * | |
9 | //* See cxx source for full Copyright notice * | |
10 | ||
11 | /** @file AliHLTTPCHistogramHandlerComponent.h | |
12 | @author Kalliopi Kanaki | |
13 | @date | |
14 | @brief Component for acting upon histograms | |
15 | */ | |
16 | ||
17 | // see below for class documentation | |
18 | // or | |
19 | // refer to README to build package | |
20 | // or | |
21 | // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt | |
22 | ||
23 | #include "AliHLTProcessor.h" | |
24 | ||
25 | class TH1; | |
26 | class TH2; | |
27 | ||
28 | /** | |
29 | * @class AliHLTTPCHistogramHandlerComponent | |
30 | * Implementation of the component to read histograms from other | |
31 | * components and add, divide etc. | |
32 | * The component implements the interface methods of the @ref AliHLTProcessor. | |
33 | * | |
34 | * The component has the following component arguments: | |
35 | * | |
36 | * -sum-noise-histograms Loops over the output of TPCNoiseMap and adds the histograms | |
37 | * | |
38 | * It loops over histogram input and sums up the TPC histograms per side (at the moment). | |
39 | * | |
40 | * @ingroup alihlt_tpc | |
41 | */ | |
42 | class AliHLTTPCHistogramHandlerComponent : public AliHLTProcessor { | |
43 | ||
44 | public: | |
45 | ||
46 | /** standard constructor */ | |
47 | AliHLTTPCHistogramHandlerComponent(); | |
48 | /** destructor */ | |
49 | virtual ~AliHLTTPCHistogramHandlerComponent(); | |
50 | ||
51 | // Public functions to implement AliHLTComponent's interface. | |
52 | // These functions are required for the registration process | |
53 | ||
54 | /** interface function, see @ref AliHLTComponent for description */ | |
55 | const char* GetComponentID(); | |
56 | /** interface function, see @ref AliHLTComponent for description */ | |
57 | void GetInputDataTypes( vector<AliHLTComponentDataType>& list); | |
58 | /** interface function, see @ref AliHLTComponent for description */ | |
59 | AliHLTComponentDataType GetOutputDataType(); | |
60 | /** interface function, see @ref AliHLTComponent for description */ | |
61 | int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList); | |
62 | /** interface function, see @ref AliHLTComponent for description */ | |
63 | virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier ); | |
64 | /** interface function, see @ref AliHLTComponent for description */ | |
65 | AliHLTComponent* Spawn(); | |
66 | /** function for acting on the saving and cleaning histograms, after they are filled */ | |
67 | void MakeHistosPublic(); | |
68 | ||
69 | protected: | |
70 | ||
71 | // Protected functions to implement AliHLTComponent's interface. | |
72 | // These functions provide initialization as well as the actual processing capabilities of the component. | |
73 | ||
74 | int DoInit( int argc, const char** argv ); | |
75 | int DoDeinit(); | |
76 | int DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData ); | |
77 | int Reconfigure(const char* cdbEntry, const char* chainId); | |
78 | ||
79 | using AliHLTProcessor::DoEvent; | |
80 | ||
81 | private: | |
82 | ||
83 | int Configure(const char* arguments); | |
84 | ||
85 | /** copy constructor prohibited */ | |
86 | AliHLTTPCHistogramHandlerComponent(const AliHLTTPCHistogramHandlerComponent&); | |
87 | ||
88 | /** assignment operator prohibited */ | |
89 | AliHLTTPCHistogramHandlerComponent& operator=(const AliHLTTPCHistogramHandlerComponent&); | |
90 | ||
91 | /** the reader object for data decoding */ | |
92 | AliHLTUInt32_t fSpecification; //!transient | |
93 | ||
94 | ||
95 | Bool_t fNoiseHistograms; //!transient | |
96 | Bool_t fKryptonHistograms; //!transient | |
cdfe3c01 | 97 | |
98 | Int_t fSlice; //!transient | |
99 | ||
0efebbac | 100 | TH1 *fHistTH1Tmp; //!transient |
101 | TH1 *fTotalClusterChargeIROCAll; //!transient | |
102 | TH1 *fTotalClusterChargeOROCAll; //!transient | |
103 | TH1 *fQMaxPartitionAll; //!transient | |
104 | TH1 *fPlotQmaxROCAll; //!transient | |
105 | TH1 *fNumberOfClusters; //!transient | |
106 | ||
cdfe3c01 | 107 | TH2 *fHistTH2Tmp; //!transient |
55f2c86a | 108 | TH2 *fHistTPCSideAmax; //!transient |
109 | TH2 *fHistTPCSideCmax; //!transient | |
110 | TH2 *fHistTPCSideAtot; //!transient | |
111 | TH2 *fHistTPCSideCtot; //!transient | |
112 | TH2 *fHistTPCSideArms; //!transient | |
113 | TH2 *fHistTPCSideCrms; //!transient | |
cdfe3c01 | 114 | |
115 | ||
55f2c86a | 116 | ClassDef(AliHLTTPCHistogramHandlerComponent, 2) |
cdfe3c01 | 117 | }; |
118 | ||
119 | #endif |