2 // $Id: AliHLTFlatAnaManagerComponent $
4 #ifndef ALIHLTFLATANAMANAGERCOMPONENT_H
5 #define ALIHLTFLATANAMANAGERCOMPONENT_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 AliHLTFlatAnaManagerComponent.h
12 @author Jochen Thaeder <jochen@thaeder.de>
13 @brief Component for Multiplicty Correlations
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"
28 class AliESDtrackCuts;
30 class AliHLTMultiplicityCorrelations;
31 class AliHLTGlobalTriggerDecision;
32 class AliAnalysisManager;
33 class AliHLTTestInputHandler;
36 * @class AliHLTFlatAnaManagerComponent
37 * Create Correlations for Multiplicities
39 * <h2>General properties:</h2>
41 * Component ID: \b MultiplicityCorrelations <br>
42 * Library: \b libAliHLTGlobal.so <br>
43 * Input Data Types: @ref kAliHLTDataTypeESDObject <br>
44 * Output Data Types: @ref kAliHLTDataTypeTObject|kAliHLTDataOriginHLT <br>
46 * <h2>Mandatory arguments:</h2>
47 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
49 * <h2>Optional arguments:</h2>
50 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
52 * <h2>Configuration:</h2>
53 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
55 * \li -minpt <i> pt </i> <br>
56 * minimum pt - pt range
57 * \li -maxpt <i> pt </i> <br>
58 * maximum pt - pt range
59 * \li -min-ldca <i> dca </i> <br>
60 * minimum longitudinal dca to reference point
61 * \li -max-ldca <i> dca </i> <br>
62 * maximum longitudinal dca to reference point
63 * \li -min-tdca <i> dca </i> <br>
64 * minimum transverse dca to reference point
65 * \li -max-tdca <i> dca </i> <br>
66 * maximum transverse dca to reference point
67 * \li -etarange <i> eta </i> <br>
70 * \li -binningVzero <i> bins min max </i> <br>
71 * bins (Int_t), minBin (Float_t), maxBin (Float_t)
72 * \li -binningTpc <i> bins min max </i> <br>
73 * bins (Int_t), minBin (Float_t), maxBin (Float_t)
74 * \li -binningZdc <i> bins min max </i> <br>
75 * bins (Int_t), minBin (Float_t), maxBin (Float_t)
76 * \li -binningZnp <i> bins min max </i> <br>
77 * bins (Int_t), minBin (Float_t), maxBin (Float_t)
78 * \li -binningZem <i> bins min max </i> <br>
79 * bins (Int_t), minBin (Float_t), maxBin (Float_t)
80 * \li -binningCalo <i> bins min max </i> <br>
81 * bins (Int_t), minBin (Float_t), maxBin (Float_t)
83 * \li -addTrigger <i> TriggerClass beginning (eg CPBI1) </i> <br>
85 * <h2>Default CDB entries:</h2>
86 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
88 * <tt>HLT/ConfigGlobal/MultiplicityCorrelations</tt>
89 * \li -TObjString object holding a string with the configuration parameters
92 * <h2>Performance:</h2>
94 * <h2>Memory consumption:</h2>
96 * <h2>Input size:</h2>
97 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
101 * <h2>Output size:</h2>
102 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
106 * <h2>Macros Tests</h2>
107 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
109 * <tt>macros/makeConfigurationObjectMultiplicityCorrelations.C</tt>
110 * \li - Create configuration TObjString
112 * <tt>macros/HLTMultiplicityCorrelationsTest.C</tt>
113 * \li - Test macro for test in off-line environment
115 * <tt>macros/runMultiplicityCorrelationsTest.sh</tt>
116 * \li - Run Test macro HLTMultiplicityCorrelationsTest.C
118 * @ingroup alihlt_physics
120 class AliHLTFlatAnaManagerComponent : public AliHLTProcessor {
124 * ---------------------------------------------------------------------------------
125 * Constructor / Destructor
126 * ---------------------------------------------------------------------------------
130 AliHLTFlatAnaManagerComponent();
133 virtual ~AliHLTFlatAnaManagerComponent();
136 * ---------------------------------------------------------------------------------
137 * Public functions to implement AliHLTComponent's interface.
138 * These functions are required for the registration process
139 * ---------------------------------------------------------------------------------
142 /** interface function, see @ref AliHLTComponent for description */
143 const Char_t* GetComponentID();
145 /** interface function, see @ref AliHLTComponent for description */
146 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
148 /** interface function, see @ref AliHLTComponent for description */
149 AliHLTComponentDataType GetOutputDataType();
151 /** interface function, see @ref AliHLTComponent for description */
152 void GetOutputDataSize( ULong_t& constBase, Double_t& inputMultiplier );
154 /** interface function, see @ref AliHLTComponent for description */
155 void GetOCDBObjectDescription( TMap* const targetMap);
157 /** interface function, see @ref AliHLTComponent for description */
158 AliHLTComponent* Spawn();
163 * ---------------------------------------------------------------------------------
164 * Protected functions to implement AliHLTComponent's interface.
165 * These functions provide initialization as well as the actual processing
166 * capabilities of the component.
167 * ---------------------------------------------------------------------------------
170 // AliHLTComponent interface functions
172 /** interface function, see @ref AliHLTComponent for description */
173 Int_t DoInit( Int_t /*argc*/, const Char_t** /*argv*/ );
175 /** interface function, see @ref AliHLTComponent for description */
178 /** interface function, see @ref AliHLTComponent for description */
179 Int_t DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
181 using AliHLTProcessor::DoEvent;
184 /** interface function, see @ref AliHLTComponent for description */
185 Int_t Reconfigure(const Char_t* cdbEntry, const Char_t* chainId);
187 /** interface function, see @ref AliHLTComponent for description */
188 Int_t ReadPreprocessorValues(const Char_t* modules);
190 ///////////////////////////////////////////////////////////////////////////////////
195 * ---------------------------------------------------------------------------------
196 * Private functions to implement AliHLTComponent's interface.
197 * These functions provide initialization as well as the actual processing
198 * capabilities of the component.
199 * ---------------------------------------------------------------------------------
202 /** copy constructor prohibited */
203 AliHLTFlatAnaManagerComponent(const AliHLTFlatAnaManagerComponent&);
205 /** assignment operator prohibited */
206 AliHLTFlatAnaManagerComponent& operator=(const AliHLTFlatAnaManagerComponent&);
210 * ---------------------------------------------------------------------------------
212 * ---------------------------------------------------------------------------------
216 * ---------------------------------------------------------------------------------
218 * ---------------------------------------------------------------------------------
221 /** UID for merging */
222 AliHLTUInt32_t fUID; // see above
224 AliAnalysisManager *fAnalysisManager; // Manger
226 AliHLTTestInputHandler *fInputHandler; // input handler
228 ClassDef(AliHLTFlatAnaManagerComponent, 0)