3 // $Id: AliHLTJETFastJetHeader.h $
5 #ifndef ALIHLTJETFASTJETHEADER_H
6 #define ALIHLTJETFASTJETHEADER_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 AliHLTJETFastJetHeader.h
13 @author Jochen Thaeder
15 @brief Header of the FastJet finder interface
18 // see below for class documentation
20 // refer to README to build package
22 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
24 //#include "fastjet/PseudoJet.hh"
26 #include "fastjet/ClusterSequenceArea.hh"
27 #include "fastjet/AreaDefinition.hh"
28 #include "fastjet/JetDefinition.hh"
30 #include "AliJetHeader.h"
31 #include "AliJetReaderHeader.h"
32 #include "AliHLTLogging.h"
34 #include "AliHLTJETBase.h"
37 * @class AliHLTJETFastJetHeader
38 * FastJet Interface for the fasjet package ( v.2.4.1 )
41 * @ingroup alihlt_jet_fastjet
44 class AliHLTJETFastJetHeader : public AliJetHeader, public AliHLTLogging {
49 * ---------------------------------------------------------------------------------
50 * Constructor / Destructor
51 * ---------------------------------------------------------------------------------
54 /** standard constructor */
55 AliHLTJETFastJetHeader();
58 virtual ~AliHLTJETFastJetHeader();
61 * ---------------------------------------------------------------------------------
63 * ---------------------------------------------------------------------------------
66 /** Initialize the jet header
67 * @return 0 on success, < 0 on failure
72 * ---------------------------------------------------------------------------------
74 * ---------------------------------------------------------------------------------
78 * @param rh ptr to Analysis Cuts
80 void SetReaderHeader(AliJetReaderHeader* rh ) { fReaderHeader = rh; }
83 * @param cuts ptr to AliHLTJETJetCuts
85 void SetJetCuts( AliHLTJETJetCuts* cuts ) { fJetCuts = cuts; }
88 * ---------------------------------------------------------------------------------
90 * ---------------------------------------------------------------------------------
93 /** Get Min Pt for jets */
94 Double_t GetPtMin() const {return fPtMin;}
97 * @return ptr to AliHLTJETJetCuts
99 AliHLTJETJetCuts* GetJetCuts() { return fJetCuts; }
101 // -- FastJet Getters
102 // --------------------
104 /** Get jet definition */
105 fastjet::JetDefinition* GetJetDefinition() {return fJetDefinition;}
107 /** Get area definition */
108 fastjet::AreaDefinition* GetAreaDefinition() {return fAreaDefinition;}
110 /** Get range definition */
111 fastjet::RangeDefinition* GetRangeDefinition() {return fRangeDefinition;}
114 * ---------------------------------------------------------------------------------
116 * ---------------------------------------------------------------------------------
119 /** Print fastjet parameters */
120 void PrintParameters() const;
122 ///////////////////////////////////////////////////////////////////////////////////
126 /** copy constructor prohibited */
127 AliHLTJETFastJetHeader (const AliHLTJETFastJetHeader&);
129 /** assignment operator prohibited */
130 AliHLTJETFastJetHeader& operator= (const AliHLTJETFastJetHeader&);
133 * ---------------------------------------------------------------------------------
135 * ---------------------------------------------------------------------------------
138 // -- fastjet::JetDefinition parameters
139 // --------------------------------------
142 * Default : fastjet::kt_algorithm
144 fastjet::JetAlgorithm fAlgorithm; // see above
147 * Default : fastjet::Best
149 fastjet::Strategy fStrategy; // see above
151 /** Recombination scheme
152 * Default : fastjet::BIpt_scheme;
154 fastjet::RecombinationScheme fRecombScheme; // see above
156 // -- fastjet::GhostedAreaSpec parameters
157 // ----------------------------------------
160 Double_t fGhostArea; // see above
162 /** Ghost area - active repeats */
163 Int_t fActiveAreaRepeats; // see above
165 // -- fastjet::AreaDefinition parameters
166 // ---------------------------------------
168 /** Area Definition */
169 fastjet::AreaType fAreaType; // see above
171 // -- fastjet::ClusterSequenceArea options parameters
172 // ----------------------------------------------------
174 /** Jet pt > ptmin */
175 Double_t fPtMin; // see above
177 // -- fastjet classes
178 // --------------------
180 /** Jet definition */
181 fastjet::JetDefinition *fJetDefinition; //! transient
183 /** Ghost definition */
184 fastjet::GhostedAreaSpec *fGhostedAreaSpec; //! transient
186 /** Area definition */
187 fastjet::AreaDefinition *fAreaDefinition; //! transient
189 /** Range definition */
190 fastjet::RangeDefinition *fRangeDefinition; //! transient
193 // -------------------
195 /** Ptr to jet reader header */
196 AliJetReaderHeader *fReaderHeader; //! transient
198 /** Cuts on jet selection */
199 AliHLTJETJetCuts *fJetCuts; //! transient
202 ClassDef(AliHLTJETFastJetHeader,1)