]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/AliHLTTPCHistogramHandlerComponent.h
using new TPC offline functions (r27421) to significantly speed up the reconstruction...
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCHistogramHandlerComponent.h
CommitLineData
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
25class TH1;
26class 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 */
42class 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