2 // $Id: AliHLTGlobalCompareFlatComponent $
4 #ifndef ALIHLTGLOBALCOMPAREFLATCOMPONENT_H
5 #define ALIHLTGLOBALCOMPAREFLATCOMPONENT_H
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 */
11 /** @file AliHLTGlobalCompareFlatComponent.h
12 @author Steffen Weber <s.weber@gsi.de>
13 @brief Compare flat events from different inputs
16 // see below for class documentation
18 // refer to README to build package
20 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
22 #include "AliHLTProcessor.h"
27 class AliESDtrackCuts;
29 class AliHLTMultiplicityCorrelations;
30 class AliHLTGlobalTriggerDecision;
31 class AliHLTTestInputHandler;
34 class AliHLTGlobalCompareFlatComponent : public AliHLTProcessor {
38 * ---------------------------------------------------------------------------------
39 * Constructor / Destructor
40 * ---------------------------------------------------------------------------------
44 AliHLTGlobalCompareFlatComponent();
47 virtual ~AliHLTGlobalCompareFlatComponent();
50 * ---------------------------------------------------------------------------------
51 * Public functions to implement AliHLTComponent's interface.
52 * These functions are required for the registration process
53 * ---------------------------------------------------------------------------------
56 /** interface function, see @ref AliHLTComponent for description */
57 const Char_t* GetComponentID();
59 /** interface function, see @ref AliHLTComponent for description */
60 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
62 /** interface function, see @ref AliHLTComponent for description */
63 AliHLTComponentDataType GetOutputDataType();
65 /** interface function, see @ref AliHLTComponent for description */
66 void GetOutputDataSize( ULong_t& constBase, Double_t& inputMultiplier );
68 /** interface function, see @ref AliHLTComponent for description */
69 // void GetOCDBObjectDescription( TMap* const targetMap);
71 /** interface function, see @ref AliHLTComponent for description */
72 AliHLTComponent* Spawn();
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 * ---------------------------------------------------------------------------------
84 // AliHLTComponent interface functions
86 /** interface function, see @ref AliHLTComponent for description */
87 Int_t DoInit( Int_t /*argc*/, const Char_t** /*argv*/ );
89 /** interface function, see @ref AliHLTComponent for description */
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,
98 AliHLTComponentBlockDataList& outputBlocks);
100 using AliHLTProcessor::DoEvent;
104 * Configure the component.
105 * Parse a string for the configuration arguments and set the component
108 int Configure(const char* arguments);
110 /** interface function, see @ref AliHLTComponent for description */
111 Int_t Reconfigure(const Char_t* cdbEntry, const Char_t* chainId);
113 /** interface function, see @ref AliHLTComponent for description */
114 Int_t ReadPreprocessorValues(const Char_t* modules);
116 ///////////////////////////////////////////////////////////////////////////////////
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 * ---------------------------------------------------------------------------------
128 /** copy constructor prohibited */
129 AliHLTGlobalCompareFlatComponent(const AliHLTGlobalCompareFlatComponent&);
131 /** assignment operator prohibited */
132 AliHLTGlobalCompareFlatComponent& operator=(const AliHLTGlobalCompareFlatComponent&);
133 void printDiff( string name, double val1, double val2);
134 void printDiff( string name, int n , double* vals1, double* vals2 );
135 void printDiff( string name, TString val1, TString val2);
138 * ---------------------------------------------------------------------------------
140 * ---------------------------------------------------------------------------------
144 * ---------------------------------------------------------------------------------
146 * ---------------------------------------------------------------------------------
149 /** UID for merging */
154 static const Int_t fDim = 14;
159 ClassDef(AliHLTGlobalCompareFlatComponent, 0)