]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/JET/fastjet/AliHLTJETFastJetComponent.h
Enlarging window for DCS DPs retrieval for short runs for GRP + Keeping connection...
[u/mrichter/AliRoot.git] / HLT / JET / fastjet / AliHLTJETFastJetComponent.h
CommitLineData
33daad3d 1//-*- Mode: C++ -*-
2
3// $Id: AliHLTJETFastJetComponent.h $
4
5#ifndef ALIHLTJETFASTJETCOMPONENT_H
6#define ALIHLTJETFASTJETCOMPONENT_H
7
8//* This file is property of and copyright by the ALICE HLT Project *
9//* ALICE Experiment at CERN, All rights reserved. *
10//* See cxx source for full Copyright notice *
11
12/** @file AliHLTJETFastJetComponent.h
13 @author Jochen Thaeder <thaeder@kip.uni-heidelberg.de>
14 @date
15 @brief Component to run the FastJet jetfinder
16*/
17
18#include "AliHLTProcessor.h"
19
0734d112 20#include "AliHLTJETReader.h"
21#include "AliHLTJETReaderHeader.h"
22
23#include "AliHLTJETTrackCuts.h"
1f9fec4a 24#include "AliHLTJETJetCuts.h"
25
26#include "AliHLTJETFastJetFinder.h"
27#include "AliHLTJETFastJetHeader.h"
33daad3d 28
29/**
30 * @class AliHLTJETFastJetComponent
31 * Component to run the FastJet jetfinder
32 *
1f9fec4a 33 * <h2>General properties:</h2>
34 *
35 * Component ID: \b JETFaseJetFinder <br>
36 * Library: \b libAliHLTJET.so <br>
37 * Input Data Types: <br>
38 * - kAliHLTDataTypeMCObject|kAliHLTDataOriginHLT --> class AliHLTMCEvent<br>
d3146a77 39 * - kAliHLTDataTypeESDObject|kAliHLTDataOriginOffline --> class AliHLTESDEvent<br>
1f9fec4a 40 * - kAliHLTDataTypeESDObject|kAliHLTDataOriginHLT --> class AliHLTESDEvent<br>
41 * Output Data Types: <br>
42 * - kAliHLTDataTypeJet|kAliHLTDataOriginHLT --> class AliHLTJets<br>
43 *
44 * <h2>Mandatory arguments:</h2>
45 * There are no mandatrory arguments <br>
46 *
47 * <h2>Optional arguments:</h2>
48 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
49 * \li -algorithm <i> JetAlgorithm to be run </u><br>
50 * - Possible values : Kt, AntiKt <br>
51 * - Default : Kt <br>
52 *
d3146a77 53 * \li -coneRadius <i> Cone radius for cone finder </i> <br>
54 * - Default : 0.4 <br>
1f9fec4a 55 *
d3146a77 56 * \li -trackCutMinPt <i> min pt for cut on tracks, in GeV/c </i> <br>
57 * - Default : 1.0 <br>
1f9fec4a 58 *
d3146a77 59 * \li -jetCutMinPt <i> min Et for cut on found jets, in GeV/c </i> <br>
60 * - Default : 15.0 <br>
1f9fec4a 61 *
33daad3d 62 * @ingroup alihlt_jet
1f9fec4a 63 * @ingroup alihlt_jet_fastjet
33daad3d 64 */
65
66class AliHLTJETFastJetComponent : public AliHLTProcessor {
67public:
68
69 /*
70 * ---------------------------------------------------------------------------------
71 * Constructor / Destructor
72 * ---------------------------------------------------------------------------------
73 */
74
75 /** constructor */
76 AliHLTJETFastJetComponent();
77
78 /** destructor */
79 virtual ~AliHLTJETFastJetComponent();
80
81 /*
82 * ---------------------------------------------------------------------------------
83 * Public functions to implement AliHLTComponent's interface.
84 * These functions are required for the registration process
85 * ---------------------------------------------------------------------------------
86 */
87
88 /** interface function, see @ref AliHLTComponent for description */
89 const Char_t* GetComponentID();
90
91 /** interface function, see @ref AliHLTComponent for description */
92 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
93
94 /** interface function, see @ref AliHLTComponent for description */
95 AliHLTComponentDataType GetOutputDataType();
96
97 /** interface function, see @ref AliHLTComponent for description */
98 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
99
100 /** interface function, see @ref AliHLTComponent for description */
101 AliHLTComponent* Spawn();
102
103protected:
104
105 /*
106 * ---------------------------------------------------------------------------------
107 * Protected functions to implement AliHLTComponent's interface.
108 * These functions provide initialization as well as the actual processing
109 * capabilities of the component.
110 * ---------------------------------------------------------------------------------
111 */
112
113 /** Initialization
114 * Overwrites the AliHLTProcessor::DoInit() method.
115 * @param argc size of the argument array
116 * @param argv agument array for component initialization
117 * @return number of processed members of the argv <br>
118 * -EINVAL unknown argument <br>
119 * -EPROTO parameter for argument missing
120 */
121 Int_t DoInit( Int_t argc, const Char_t** argv );
122
123 /** DeInitialization
124 * Calls also the one of AliHLTProcessor.
125 */
126 Int_t DoDeinit();
127
128 /** EventLoop
129 * Data processing method for the component.
130 * The component uses the @ref alihltcomponent-high-level-interface
131 * to retrieve and put serialized Root object into the output stream.
132 * @param evtData event data structure
133 * @param trigData trigger data structure
134 * @return
135 */
136 Int_t DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData );
137
138 using AliHLTProcessor::DoEvent;
139
140 ///////////////////////////////////////////////////////////////////////////////////
141
142private:
143 /*
144 * ---------------------------------------------------------------------------------
145 * Private functions to implement AliHLTComponent's interface.
146 * These functions provide initialization as well as the actual processing
147 * capabilities of the component.
148 * ---------------------------------------------------------------------------------
149 */
150
151 /** copy constructor prohibited */
152 AliHLTJETFastJetComponent(const AliHLTJETFastJetComponent&);
153
154 /** assignment operator prohibited */
155 AliHLTJETFastJetComponent& operator=(const AliHLTJETFastJetComponent&);
156
157 /*
158 * ---------------------------------------------------------------------------------
159 * Members - private
160 * ---------------------------------------------------------------------------------
161 */
162
1f9fec4a 163 /** Ptr to the jet finder */
164 AliHLTJETFastJetFinder *fJetFinder; //!transient
165
166 /** Ptr to the jet finder header */
167 AliHLTJETFastJetHeader *fJetHeader; //!transient
168
0734d112 169 /** Ptr to jet reader */
170 AliHLTJETReader *fJetReader; //!transient
1f9fec4a 171
0734d112 172 /** Ptr to jet reader header */
173 AliHLTJETReaderHeader *fJetReaderHeader; //!transient
174
175 /** Ptr to track cuts */
1f9fec4a 176 AliHLTJETTrackCuts *fTrackCuts; //!transient
177
178 /** Ptr to jet cuts */
179 AliHLTJETJetCuts *fJetCuts; //!transient
180
181 /** Ptr to jet container holding AliAODJets */
182 AliHLTJets *fJets;
183
184 ClassDef(AliHLTJETFastJetComponent, 1)
33daad3d 185
186};
187#endif