Line data Source code
1 : //-*- Mode: C++ -*-
2 : // $Id$
3 : #ifndef ALIHLTTPCDEDXMONITORINGCOMPONENT_H
4 : #define ALIHLTTPCDEDXMONITORINGCOMPONENT_H
5 :
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 AliHLTTPCdEdxMonitoringComponent.h
11 : /// @author Per-Ivar Lønne, Jochen Thaeder, Matthias Richter, Alexander Kalweit
12 : /// @date 21.08.2011
13 : /// @brief Component for reading ESD from chain and produce a dEdx monitoring plot
14 : ///
15 :
16 : /**
17 : * @class AliHLTTPCdEdxMonitoringComponent
18 : * A component meant to read ESD-files from the chain online
19 : * and produce a plot for dEdx monitoring.
20 : *
21 : * description of what the component does in more detail
22 : * bla
23 : * bla
24 : *
25 : * <h2>General properties:</h2>
26 : *
27 : * Component ID: \b TPCdEdxMonitoring <br>
28 : * Library: \b libAliHLTTPC.so <br>
29 : * Input Data Types: @ref kAliHLTDataTypeESDObject|kAliHLTDataOriginAny <br>
30 : * Output Data Types: @ref kAliHLTDataTypeHistogram|kAliHLTDataOriginHLT <br>
31 : *
32 : * <h2>Mandatory arguments:</h2>
33 : *
34 : * <h2>Optional arguments:</h2>
35 : *
36 : * <h2>Configuration</h2>
37 : * \li -xbins <i> fxbins </i> <br>
38 : * number of bins on x-axis
39 : *
40 : * <h2>Configuration</h2>
41 : * \li -xbins <i> fxmin </i> <br>
42 : * minimum value of x-axis
43 : *
44 : * <h2>Configuration</h2>
45 : * \li -xbins <i> fxmax </i> <br>
46 : * maximum value of x-axis
47 : *
48 : * <h2>Configuration</h2>
49 : * \li -ybins <i> fybins </i> <br>
50 : * number of bins on y-axis
51 : *
52 : * <h2>Configuration</h2>
53 : * \li -ybins <i> fymin </i> <br>
54 : * minimum value of y-axis
55 : *
56 : * <h2>Configuration</h2>
57 : * \li -ybins <i> fymax </i> <br>
58 : * maximum value of y-axis
59 : *
60 : * <h2>Default CDB entries:</h2>
61 : *
62 : * <h2>Performance:</h2>
63 : *
64 : * <h2>Memory Consumption:</h2>
65 : *
66 : * <h2>Output size:</h2>
67 : * 4096
68 : *
69 : * @ingroup alihlt
70 : */
71 :
72 : #include "AliHLTProcessor.h"
73 :
74 : class AliESDtrackCuts; // For setting track cuts
75 : class TH2F;
76 :
77 : class AliHLTTPCdEdxMonitoringComponent : public AliHLTProcessor
78 : {
79 : public:
80 :
81 : /*----------------------------------------------------*
82 : * Constructor and destructor
83 : *----------------------------------------------------*/
84 :
85 : AliHLTTPCdEdxMonitoringComponent();
86 :
87 : virtual ~AliHLTTPCdEdxMonitoringComponent();
88 :
89 :
90 : // AliHLTComponent interface functions
91 : const char* GetComponentID();
92 : void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
93 : AliHLTComponentDataType GetOutputDataType();
94 : void GetOutputDataSize( unsigned long& constBase, Double_t& inputMultiplier );
95 : void GetOCDBObjectDescription( TMap* const targetMap);
96 :
97 : // Spawn function, return new class instance
98 : AliHLTComponent* Spawn();
99 :
100 : protected:
101 : // AliHLTComponent interface functions
102 : Int_t DoInit( Int_t argc, const char** argv );
103 : Int_t DoDeinit();
104 : Int_t DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
105 : using AliHLTProcessor::DoEvent;
106 : Int_t ScanConfigurationArgument(Int_t argc, const char** argv);
107 : Int_t Reconfigure(const char* cdbEntry, const char* chainId);
108 : Int_t ReadPreprocessorValues(const char* modules);
109 :
110 : private:
111 : /** copy constructor prohibited */
112 : AliHLTTPCdEdxMonitoringComponent(const AliHLTTPCdEdxMonitoringComponent&);
113 : /** assignment operator prohibited */
114 : AliHLTTPCdEdxMonitoringComponent& operator=(const AliHLTTPCdEdxMonitoringComponent&);
115 :
116 : // Sets standard trackcuts
117 : void SetDefaultConfiguration();
118 :
119 : // trackcuts
120 : AliESDtrackCuts *fESDTrackCuts; //! transistent
121 :
122 : // histogram
123 : TH2F *fHist; //! transistent
124 : Int_t fxbins; //! transistent
125 : Double_t fxmin; //! transistent
126 : Double_t fxmax; //! transistent
127 : Int_t fybins; //! transistent
128 : Double_t fymin; //! transistent
129 : Double_t fymax; //! transistent
130 :
131 :
132 : // sets some plotstyles
133 : void Plotstyle();
134 :
135 6 : ClassDef(AliHLTTPCdEdxMonitoringComponent, 0)
136 : };
137 : #endif
|