]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/JET/cone/AliHLTJETConeJetComponent.h
* All Cone finder in compile flow, not yet added to cmake
[u/mrichter/AliRoot.git] / HLT / JET / cone / AliHLTJETConeJetComponent.h
CommitLineData
33daad3d 1//-*- Mode: C++ -*-
2
3// $Id: AliHLTJETConeJetComponent.h $
4
5#ifndef ALIHLTJETCONEJETCOMPONENT_H
6#define ALIHLTJETCONEJETCOMPONENT_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 AliHLTJETConeJetComponent.h
13 @author Jochen Thaeder <thaeder@kip.uni-heidelberg.de>
14 @date
15 @brief Component to run the ConeJet jetfinder
16*/
17
18#include "AliHLTProcessor.h"
19
0734d112 20#include "AliHLTJETReader.h"
21#include "AliHLTJETReaderHeader.h"
22
23#include "AliHLTJETTrackCuts.h"
6ce099ba 24#include "AliHLTJETJetCuts.h"
25#include "AliHLTJETConeSeedCuts.h"
26
27#include "AliHLTJETConeFinder.h"
28#include "AliHLTJETConeHeader.h"
0734d112 29
33daad3d 30/**
31 * @class AliHLTJETConeJetComponent
32 * Component to run the ConeJet jetfinder
33 *
6ce099ba 34 * <h2>General properties:</h2>
35 *
36 * Component ID: \b JETConeJetFinder <br>
37 * Library: \b libAliHLTJET.so <br>
38 * Input Data Types: <br>
39 * - kAliHLTDataTypeMCObject|kAliHLTDataOriginHLT --> class AliHLTMCEvent<br>
40 * - kAliHLTDataTypeESDObject|kAliHLTDataOriginOffline --> class AliHLTESDEvent <br>
41 * - kAliHLTDataTypeESDObject|kAliHLTDataOriginHLT --> class AliHLTESDEvent<br>
42 * Output Data Types: <br>
43 * - kAliHLTDataTypeJet|kAliHLTDataOriginHLT --> class AliHLTJets<br>
44 *
45 * <h2>Mandatory arguments:</h2>
46 * There are no mandatrory arguments <br>
47 *
48 * <h2>Optional arguments:</h2>
49 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
50 * \li -coneRadius <i> Cone radius for cone finder </i> <br>
51 * - Default : 0.4 <br>
52 *
53 * \li -trackCutMinPt <i> min pt for cut on tracks, in GeV/c </i> <br>
54 * - Default : 1.0 <br>
55 *
56 * \li -seedCutMinPt <i> min pt for cut on cone seeds, in GeV/c </i> <br>
57 * - Default : 5.0 <br>
58 *
59 * \li -jetCutMinPt <i> min Et for cut on found jets, in GeV/c </i> <br>
60 * - Default : 15.0 <br>
61 *
33daad3d 62 * @ingroup alihlt_jet
6ce099ba 63 * @ingroup alihlt_jet_cone
33daad3d 64 */
65
66class AliHLTJETConeJetComponent : public AliHLTProcessor {
67public:
68
69 /*
70 * ---------------------------------------------------------------------------------
71 * Constructor / Destructor
72 * ---------------------------------------------------------------------------------
73 */
74
75 /** constructor */
76 AliHLTJETConeJetComponent();
77
78 /** destructor */
79 virtual ~AliHLTJETConeJetComponent();
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 AliHLTJETConeJetComponent(const AliHLTJETConeJetComponent&);
153
154 /** assignment operator prohibited */
155 AliHLTJETConeJetComponent& operator=(const AliHLTJETConeJetComponent&);
156
157 /*
158 * ---------------------------------------------------------------------------------
159 * Members - private
160 * ---------------------------------------------------------------------------------
161 */
6ce099ba 162
0734d112 163 /** Ptr to the jet finder */
6ce099ba 164 AliHLTJETConeFinder *fJetFinder; //!transient
33daad3d 165
0734d112 166 /** Ptr to the jet finder header */
6ce099ba 167 AliHLTJETConeHeader *fJetHeader; //!transient
168
169 /** Ptr to track cuts */
170 AliHLTJETConeSeedCuts *fSeedCuts; //!transient
171
0734d112 172 /** Ptr to jet reader */
173 AliHLTJETReader *fJetReader; //!transient
174
175 /** Ptr to jet reader header */
176 AliHLTJETReaderHeader *fJetReaderHeader; //!transient
33daad3d 177
0734d112 178 /** Ptr to track cuts */
6ce099ba 179 AliHLTJETTrackCuts *fTrackCuts; //!transient
180
181 /** Ptr to jet cuts */
182 AliHLTJETJetCuts *fJetCuts; //!transient
33daad3d 183
6ce099ba 184 /** Ptr to jet container holding AliAODJets */
185 AliHLTJets *fJets; //!transient
186
33daad3d 187 ClassDef(AliHLTJETConeJetComponent, 0)
188
189};
190#endif