2 #ifndef ALIHLTJETBASE_H
3 #define ALIHLTJETBASE_H
5 /* This file is property of and copyright by the ALICE HLT Project *
6 * ALICE Experiment at CERN, All rights reserved. *
7 * See cxx source for full Copyright notice */
9 /** @file AliHLTJETBase.h
10 @author Jochen Thaeder
12 @brief Base functionality for HLT JET package
16 #include "AliHLTLogging.h"
19 /** Indices in grid position array */
21 kIdxPrimary, /**< 1D index for the main search area */
22 kIdxOutter, /**< 1D index for the outter search area */
23 kIdxEtaPrimary, /**< 2D eta index for the main search area */
24 kIdxPhiPrimary, /**< 2D phi index for the main search area */
25 kIdxPhiOutter /**< 2D phi index for the outter search area */
28 /** Indices in array */
35 /** Used track types */
37 kTrackMC, /**< TParticle */
38 kTrackESD, /**< AliESDtrack */
39 kTrackAOD /**< AliAODtrack */
43 * @class AliHLTJETBase
44 * This class contains a Seed for the JetFinder
48 class AliHLTJETBase : public TObject, public AliHLTLogging {
53 * ---------------------------------------------------------------------------------
54 * Constructor / Destructor
55 * ---------------------------------------------------------------------------------
58 /** Standard constructor */
64 /** Types of jet algorithms */
65 enum JetAlgorithmType_t {
66 kAntiKt, /**< FastJet implementation of the Anti kt */
67 kKt, /**< FastJet implementation of the kt */
68 kFFSCSquareCell, /**< Fast Fixed Seeded Cone, using a square cell */
69 kFFSCRadiusCell, /**< Fast Fixed Seeded Cone, using a radius cell */
70 kJetAlgorithmMax /**< Number of enum entries */
73 /** Array of types of the Jet Algorithms */
74 static const Char_t *fgkJetAlgorithmType[]; //! transient
77 ///////////////////////////////////////////////////////////////////////////////////
81 /** copy constructor prohibited */
82 AliHLTJETBase(const AliHLTJETBase&);
84 /** assignment operator prohibited */
85 AliHLTJETBase& operator=(const AliHLTJETBase&);
88 * ---------------------------------------------------------------------------------
90 * ---------------------------------------------------------------------------------
93 ClassDef(AliHLTJETBase, 0)
101 static Float_t GetDistance2( const Float_t eta1, const Float_t phi1,
102 const Float_t eta2, const Float_t phi2);
104 static Int_t GetCellIndex( const Double_t* aEtaPhi, Int_t* aGridIndex );
106 static void XYZtoRPhiEta( const Double_t *xyz, Double_t *rpe );
108 static void XYZEtoRPhiEtaPt( const Double_t *xyze, Double_t *rpep );
109 static void XYZEtoRPhiEtaPt( const Float_t *xyze, Double_t *rpep );
111 static void XYZEtoEPhiEtaPt( const Double_t *xyze, Double_t *epep );
112 static void XYZEtoEPhiEtaPt( const Float_t *xyze, Double_t *epep );
114 static Double_t GetPtFromXYZ( const Double_t *pxpypz );
115 static Double_t GetPtFromXYZ( const Float_t *pxpypz );
117 static Double_t GetPhiFromXYZ( const Double_t *xyz );
118 static Double_t GetPhiFromXYZ( const Float_t *xyz );
120 static Double_t GetEtaFromXYZ( const Double_t *xyz );
121 static Double_t GetEtaFromXYZ( const Float_t *xyz );