]>
Commit | Line | Data |
---|---|---|
a2e57ab1 | 1 | //-*- Mode: C++ -*- |
2 | // $Id: AliHLTGlobalCompareFlatComponent $ | |
3 | ||
4 | #ifndef ALIHLTGLOBALCOMPAREFLATCOMPONENT_H | |
5 | #define ALIHLTGLOBALCOMPAREFLATCOMPONENT_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 AliHLTGlobalCompareFlatComponent.h | |
12 | @author Steffen Weber <s.weber@gsi.de> | |
13 | @brief Compare flat events from different inputs | |
14 | */ | |
15 | ||
16 | // see below for class documentation | |
17 | // or | |
18 | // refer to README to build package | |
19 | // or | |
20 | // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt | |
21 | ||
22 | #include "AliHLTProcessor.h" | |
23 | ||
24 | class THnSparse; | |
25 | ||
26 | class AliESDVZERO; | |
27 | class AliESDtrackCuts; | |
28 | class AliHLTCTPData; | |
29 | class AliHLTMultiplicityCorrelations; | |
30 | class AliHLTGlobalTriggerDecision; | |
31 | class AliHLTTestInputHandler; | |
32 | ||
33 | ||
34 | class AliHLTGlobalCompareFlatComponent : public AliHLTProcessor { | |
35 | public: | |
36 | ||
37 | /* | |
38 | * --------------------------------------------------------------------------------- | |
39 | * Constructor / Destructor | |
40 | * --------------------------------------------------------------------------------- | |
41 | */ | |
42 | ||
43 | /** constructor */ | |
44 | AliHLTGlobalCompareFlatComponent(); | |
45 | ||
46 | /** destructor */ | |
47 | virtual ~AliHLTGlobalCompareFlatComponent(); | |
48 | ||
49 | /* | |
50 | * --------------------------------------------------------------------------------- | |
51 | * Public functions to implement AliHLTComponent's interface. | |
52 | * These functions are required for the registration process | |
53 | * --------------------------------------------------------------------------------- | |
54 | */ | |
55 | ||
56 | /** interface function, see @ref AliHLTComponent for description */ | |
57 | const Char_t* GetComponentID(); | |
58 | ||
59 | /** interface function, see @ref AliHLTComponent for description */ | |
60 | void GetInputDataTypes( vector<AliHLTComponentDataType>& list); | |
61 | ||
62 | /** interface function, see @ref AliHLTComponent for description */ | |
63 | AliHLTComponentDataType GetOutputDataType(); | |
64 | ||
65 | /** interface function, see @ref AliHLTComponent for description */ | |
66 | void GetOutputDataSize( ULong_t& constBase, Double_t& inputMultiplier ); | |
67 | ||
68 | /** interface function, see @ref AliHLTComponent for description */ | |
69 | // void GetOCDBObjectDescription( TMap* const targetMap); | |
70 | ||
71 | /** interface function, see @ref AliHLTComponent for description */ | |
72 | AliHLTComponent* Spawn(); | |
73 | ||
74 | protected: | |
75 | ||
76 | /* | |
77 | * --------------------------------------------------------------------------------- | |
78 | * Protected functions to implement AliHLTComponent's interface. | |
79 | * These functions provide initialization as well as the actual processing | |
80 | * capabilities of the component. | |
81 | * --------------------------------------------------------------------------------- | |
82 | */ | |
83 | ||
84 | // AliHLTComponent interface functions | |
85 | ||
86 | /** interface function, see @ref AliHLTComponent for description */ | |
87 | Int_t DoInit( Int_t /*argc*/, const Char_t** /*argv*/ ); | |
88 | ||
89 | /** interface function, see @ref AliHLTComponent for description */ | |
90 | Int_t DoDeinit(); | |
91 | ||
92 | /** interface function, see @ref AliHLTComponent for description */ | |
93 | int DoEvent( const AliHLTComponentEventData& evtData, | |
94 | const AliHLTComponentBlockData* blocks, | |
95 | AliHLTComponentTriggerData& trigData, | |
96 | AliHLTUInt8_t* outputPtr, | |
97 | AliHLTUInt32_t& size, | |
98 | AliHLTComponentBlockDataList& outputBlocks); | |
99 | ||
100 | using AliHLTProcessor::DoEvent; | |
101 | ||
102 | ||
103 | /** | |
104 | * Configure the component. | |
105 | * Parse a string for the configuration arguments and set the component | |
106 | * properties. | |
107 | */ | |
108 | int Configure(const char* arguments); | |
109 | ||
110 | /** interface function, see @ref AliHLTComponent for description */ | |
111 | Int_t Reconfigure(const Char_t* cdbEntry, const Char_t* chainId); | |
112 | ||
113 | /** interface function, see @ref AliHLTComponent for description */ | |
114 | Int_t ReadPreprocessorValues(const Char_t* modules); | |
115 | ||
116 | /////////////////////////////////////////////////////////////////////////////////// | |
117 | ||
118 | private: | |
119 | ||
120 | /* | |
121 | * --------------------------------------------------------------------------------- | |
122 | * Private functions to implement AliHLTComponent's interface. | |
123 | * These functions provide initialization as well as the actual processing | |
124 | * capabilities of the component. | |
125 | * --------------------------------------------------------------------------------- | |
126 | */ | |
127 | ||
128 | /** copy constructor prohibited */ | |
129 | AliHLTGlobalCompareFlatComponent(const AliHLTGlobalCompareFlatComponent&); | |
130 | ||
131 | /** assignment operator prohibited */ | |
132 | AliHLTGlobalCompareFlatComponent& operator=(const AliHLTGlobalCompareFlatComponent&); | |
133 | void printDiff( string name, double val1, double val2); | |
a88a189e | 134 | void printDiff( string name, int n , double* vals1, double* vals2 ); |
a2e57ab1 | 135 | void printDiff( string name, TString val1, TString val2); |
136 | ||
137 | /* | |
138 | * --------------------------------------------------------------------------------- | |
139 | * Helper | |
140 | * --------------------------------------------------------------------------------- | |
141 | */ | |
142 | ||
143 | /* | |
144 | * --------------------------------------------------------------------------------- | |
145 | * Members - private | |
146 | * --------------------------------------------------------------------------------- | |
147 | */ | |
148 | ||
149 | /** UID for merging */ | |
150 | ||
151 | /* | |
152 | THnSparse * fhDiff; | |
153 | ||
154 | static const Int_t fDim = 14; | |
155 | */ | |
156 | ofstream outFile; | |
157 | ||
158 | ||
159 | ClassDef(AliHLTGlobalCompareFlatComponent, 0) | |
160 | }; | |
161 | #endif |