]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/JET/cone/AliHLTJETConeJetComponent.h
* Added fast interface to fastjet
[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 -->
1f9fec4a 50 * \li -algorithm <i> JetAlgorithm to be run </u><br>
51 * - Possible values : FSCSquareCell, FFSCRadiusCell <br>
52 * - Default : FSCSquareCell <br>
53 *
54 * \li -leading <i> use leading seed only </u><br>
55 * - Possible values : 0, 1 <br>
56 * - Default : 0 <br>
57 *
6ce099ba 58 * \li -coneRadius <i> Cone radius for cone finder </i> <br>
59 * - Default : 0.4 <br>
60 *
61 * \li -trackCutMinPt <i> min pt for cut on tracks, in GeV/c </i> <br>
62 * - Default : 1.0 <br>
63 *
64 * \li -seedCutMinPt <i> min pt for cut on cone seeds, in GeV/c </i> <br>
65 * - Default : 5.0 <br>
66 *
67 * \li -jetCutMinPt <i> min Et for cut on found jets, in GeV/c </i> <br>
68 * - Default : 15.0 <br>
69 *
33daad3d 70 * @ingroup alihlt_jet
6ce099ba 71 * @ingroup alihlt_jet_cone
33daad3d 72 */
73
74class AliHLTJETConeJetComponent : public AliHLTProcessor {
75public:
76
77 /*
78 * ---------------------------------------------------------------------------------
79 * Constructor / Destructor
80 * ---------------------------------------------------------------------------------
81 */
82
83 /** constructor */
84 AliHLTJETConeJetComponent();
85
86 /** destructor */
87 virtual ~AliHLTJETConeJetComponent();
88
89 /*
90 * ---------------------------------------------------------------------------------
91 * Public functions to implement AliHLTComponent's interface.
92 * These functions are required for the registration process
93 * ---------------------------------------------------------------------------------
94 */
95
96 /** interface function, see @ref AliHLTComponent for description */
97 const Char_t* GetComponentID();
98
99 /** interface function, see @ref AliHLTComponent for description */
100 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
101
102 /** interface function, see @ref AliHLTComponent for description */
103 AliHLTComponentDataType GetOutputDataType();
104
105 /** interface function, see @ref AliHLTComponent for description */
106 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
107
108 /** interface function, see @ref AliHLTComponent for description */
109 AliHLTComponent* Spawn();
110
111protected:
112
113 /*
114 * ---------------------------------------------------------------------------------
115 * Protected functions to implement AliHLTComponent's interface.
116 * These functions provide initialization as well as the actual processing
117 * capabilities of the component.
118 * ---------------------------------------------------------------------------------
119 */
120
121 /** Initialization
122 * Overwrites the AliHLTProcessor::DoInit() method.
123 * @param argc size of the argument array
124 * @param argv agument array for component initialization
125 * @return number of processed members of the argv <br>
126 * -EINVAL unknown argument <br>
127 * -EPROTO parameter for argument missing
128 */
129 Int_t DoInit( Int_t argc, const Char_t** argv );
130
131 /** DeInitialization
132 * Calls also the one of AliHLTProcessor.
133 */
134 Int_t DoDeinit();
135
136 /** EventLoop
137 * Data processing method for the component.
138 * The component uses the @ref alihltcomponent-high-level-interface
139 * to retrieve and put serialized Root object into the output stream.
140 * @param evtData event data structure
141 * @param trigData trigger data structure
142 * @return
143 */
144 Int_t DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData );
145
146 using AliHLTProcessor::DoEvent;
147
148 ///////////////////////////////////////////////////////////////////////////////////
149
150private:
151 /*
152 * ---------------------------------------------------------------------------------
153 * Private functions to implement AliHLTComponent's interface.
154 * These functions provide initialization as well as the actual processing
155 * capabilities of the component.
156 * ---------------------------------------------------------------------------------
157 */
158
159 /** copy constructor prohibited */
160 AliHLTJETConeJetComponent(const AliHLTJETConeJetComponent&);
161
162 /** assignment operator prohibited */
163 AliHLTJETConeJetComponent& operator=(const AliHLTJETConeJetComponent&);
164
165 /*
166 * ---------------------------------------------------------------------------------
167 * Members - private
168 * ---------------------------------------------------------------------------------
169 */
6ce099ba 170
0734d112 171 /** Ptr to the jet finder */
6ce099ba 172 AliHLTJETConeFinder *fJetFinder; //!transient
33daad3d 173
0734d112 174 /** Ptr to the jet finder header */
6ce099ba 175 AliHLTJETConeHeader *fJetHeader; //!transient
176
177 /** Ptr to track cuts */
178 AliHLTJETConeSeedCuts *fSeedCuts; //!transient
179
0734d112 180 /** Ptr to jet reader */
181 AliHLTJETReader *fJetReader; //!transient
182
183 /** Ptr to jet reader header */
184 AliHLTJETReaderHeader *fJetReaderHeader; //!transient
33daad3d 185
0734d112 186 /** Ptr to track cuts */
6ce099ba 187 AliHLTJETTrackCuts *fTrackCuts; //!transient
188
189 /** Ptr to jet cuts */
190 AliHLTJETJetCuts *fJetCuts; //!transient
33daad3d 191
6ce099ba 192 /** Ptr to jet container holding AliAODJets */
193 AliHLTJets *fJets; //!transient
194
1f9fec4a 195 ClassDef(AliHLTJETConeJetComponent, 1)
33daad3d 196
197};
198#endif