3 // $Id: AliHLTJETFastJetComponent.h $
5 #ifndef ALIHLTJETFASTJETCOMPONENT_H
6 #define ALIHLTJETFASTJETCOMPONENT_H
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 *
12 /** @file AliHLTJETFastJetComponent.h
13 @author Jochen Thaeder <thaeder@kip.uni-heidelberg.de>
15 @brief Component to run the FastJet jetfinder
18 #include "AliHLTProcessor.h"
20 #include "AliFastJetFinder.h"
21 #include "AliFastJetHeader.h"
23 #include "AliHLTJETReader.h"
24 #include "AliHLTJETReaderHeader.h"
26 #include "AliHLTJETTrackCuts.h"
29 * @class AliHLTJETFastJetComponent
30 * Component to run the FastJet jetfinder
35 class AliHLTJETFastJetComponent : public AliHLTProcessor {
39 * ---------------------------------------------------------------------------------
40 * Constructor / Destructor
41 * ---------------------------------------------------------------------------------
45 AliHLTJETFastJetComponent();
48 virtual ~AliHLTJETFastJetComponent();
51 * ---------------------------------------------------------------------------------
52 * Public functions to implement AliHLTComponent's interface.
53 * These functions are required for the registration process
54 * ---------------------------------------------------------------------------------
57 /** interface function, see @ref AliHLTComponent for description */
58 const Char_t* GetComponentID();
60 /** interface function, see @ref AliHLTComponent for description */
61 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
63 /** interface function, see @ref AliHLTComponent for description */
64 AliHLTComponentDataType GetOutputDataType();
66 /** interface function, see @ref AliHLTComponent for description */
67 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
69 /** interface function, see @ref AliHLTComponent for description */
70 AliHLTComponent* Spawn();
75 * ---------------------------------------------------------------------------------
76 * Protected functions to implement AliHLTComponent's interface.
77 * These functions provide initialization as well as the actual processing
78 * capabilities of the component.
79 * ---------------------------------------------------------------------------------
83 * Overwrites the AliHLTProcessor::DoInit() method.
84 * @param argc size of the argument array
85 * @param argv agument array for component initialization
86 * @return number of processed members of the argv <br>
87 * -EINVAL unknown argument <br>
88 * -EPROTO parameter for argument missing
90 Int_t DoInit( Int_t argc, const Char_t** argv );
93 * Calls also the one of AliHLTProcessor.
98 * Data processing method for the component.
99 * The component uses the @ref alihltcomponent-high-level-interface
100 * to retrieve and put serialized Root object into the output stream.
101 * @param evtData event data structure
102 * @param trigData trigger data structure
105 Int_t DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData );
107 using AliHLTProcessor::DoEvent;
109 ///////////////////////////////////////////////////////////////////////////////////
113 * ---------------------------------------------------------------------------------
114 * Private functions to implement AliHLTComponent's interface.
115 * These functions provide initialization as well as the actual processing
116 * capabilities of the component.
117 * ---------------------------------------------------------------------------------
120 /** copy constructor prohibited */
121 AliHLTJETFastJetComponent(const AliHLTJETFastJetComponent&);
123 /** assignment operator prohibited */
124 AliHLTJETFastJetComponent& operator=(const AliHLTJETFastJetComponent&);
127 * ---------------------------------------------------------------------------------
129 * ---------------------------------------------------------------------------------
132 /** pointer to the jet finder object */
133 AliFastJetFinder *fJetFinder; //!transient
135 /** Ptr to the jet finder header */
136 AliFastJetHeader *fJetHeader; //!transient
138 /** Ptr to jet reader */
139 AliHLTJETReader *fJetReader; //!transient
141 /** Ptr to jet reader header */
142 AliHLTJETReaderHeader *fJetReaderHeader; //!transient
144 /** Ptr to track cuts */
145 AliHLTJETTrackCuts *fJetTrackCuts; //!transient
147 ClassDef(AliHLTJETFastJetComponent, 0)