Split: fixed more module incpaths
[u/mrichter/AliRoot.git] / HLT / JET / AliHLTJETReaderHeader.h
1 //-*- Mode: C++ -*-
2
3 // $Id:  $
4
5 #ifndef ALIHLTJETREADERHEADER_H
6 #define ALIHLTJETREADERHEADER_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   AliHLTJETReaderHeader.h
13     @author Jochen Thaeder
14     @date   
15     @brief  ReaderHeader for jet finder
16 */
17
18 #include "AliHLTJETTrackCuts.h"
19 #include "AliHLTJETConeSeedCuts.h"
20
21 #include "AliJetReaderHeader.h"
22 #include "AliHLTLogging.h"
23
24 /**
25  * @class  AliHLTJETReaderHeader
26  * ReaderHeader for jet finder
27  *
28  * @ingroup alihlt_jet
29  */
30
31 class AliHLTJETReaderHeader : public AliJetReaderHeader, public AliHLTLogging {
32   
33 public:
34
35   /*
36    * ---------------------------------------------------------------------------------
37    *                            Constructor / Destructor
38    * ---------------------------------------------------------------------------------
39    */
40
41   /** standard constructor */
42   AliHLTJETReaderHeader();
43
44   /** destructor */
45   virtual ~AliHLTJETReaderHeader();
46
47   /*
48    * ---------------------------------------------------------------------------------
49    *                                   Initialize
50    * ---------------------------------------------------------------------------------
51    */
52   
53   /** Initialize reader header for cone jet finder
54    *  @return 0 on success, otherwise <0
55    */
56   Int_t Initialize();
57
58   /*
59    * ---------------------------------------------------------------------------------
60    *                                     Setter
61    * ---------------------------------------------------------------------------------
62    */
63   
64   /** Set Analysis Cuts
65    *  @param cuts ptr to AliHLTJETTrackCuts 
66    */
67   void SetTrackCuts( AliHLTJETTrackCuts* cuts )  { fTrackCuts = cuts; }
68  
69   /** Get Analysis Cuts
70    *  @param cuts ptr to AliHLTJETConeSeedCuts 
71    */
72   void SetSeedCuts( AliHLTJETConeSeedCuts* cuts ){ fSeedCuts = cuts; }
73
74   /** Set the cone radius */
75   void SetConeRadius( Float_t f ) { fConeRadius = f; }
76
77   /** Set grid binning in eta */
78   void SetGridEtaBinning( Float_t f ) { fGridEtaBinning = f; }
79
80   /** Set grid binning in phi */
81   void SetGridPhiBinning( Float_t f ) { fGridPhiBinning = f; }
82
83   /** Set algorithm type */
84   void SetJetAlgorithm( AliHLTJETBase::JetAlgorithmType_t a ) { fAlgorithm = a; }
85
86   /** Set Usage of Kinematics */
87   void SetUseMC( Bool_t b ) { fUseMC = b; }
88
89   /*
90    * ---------------------------------------------------------------------------------
91    *                                     Getter
92    * ---------------------------------------------------------------------------------
93    */
94
95   /** Get Analysis Cuts
96    *  @return ptr to AliHLTJETTrackCuts 
97    */
98   AliHLTJETTrackCuts* GetTrackCuts()     { return fTrackCuts; }
99  
100   /** Get Analysis Cuts
101    *  @return ptr to AliHLTJETConeSeedCuts
102    */
103   AliHLTJETConeSeedCuts* GetSeedCuts()   { return fSeedCuts; }
104   
105   /** Get grid eta range */
106   Float_t GetGridEtaRange()              { return fGridEtaRange; }
107
108   /** Get grid phi range */
109   Float_t GetGridPhiRange()              { return fGridPhiRange; }
110
111   /** Get grid eta binning */
112   Float_t GetGridEtaBinning()            { return fGridEtaBinning; }
113   
114   /** Get grid phi binning */
115   Float_t GetGridPhiBinning()            { return fGridPhiBinning; }
116
117   /** Get cone radius */
118   Float_t GetConeRadius()                { return fConeRadius; }
119
120   /** Get algorithm type */
121   AliHLTJETBase::JetAlgorithmType_t GetJetAlgorithm() { return fAlgorithm; }
122
123   /** Get Usage of Kinematics */
124   Bool_t  GetUseMC()                     { return fUseMC; }
125
126   ///////////////////////////////////////////////////////////////////////////////////
127
128 private:
129
130   /** copy constructor prohibited */
131   AliHLTJETReaderHeader (const AliHLTJETReaderHeader&);
132
133   /** assignment operator prohibited */
134   AliHLTJETReaderHeader& operator= (const AliHLTJETReaderHeader&);
135
136   /*
137    * ---------------------------------------------------------------------------------
138    *                             Members - private
139    * ---------------------------------------------------------------------------------
140    */
141
142   /** Cuts on track selection */
143   AliHLTJETTrackCuts        *fTrackCuts;            //! transient
144
145   /** Cuts on seed selection */
146   AliHLTJETConeSeedCuts     *fSeedCuts;             //! transient
147
148   // -- Grid members
149
150   /** Grid binning in eta */
151   Float_t                    fGridEtaBinning;       // see above
152
153   /** Grid binning in phi */
154   Float_t                    fGridPhiBinning;       // see above
155
156   // -- Grid binning 
157
158   /** Grid eta range */
159   Float_t                    fGridEtaRange;         // see above
160
161   /** Grid phi range 
162    *  abs(phimin)+phiMax + 2*coneRadius;
163    */
164   Float_t                    fGridPhiRange;         // see above
165
166   // -- Algorithm members
167
168   /** Algorithm */
169   AliHLTJETBase::JetAlgorithmType_t fAlgorithm;     // see above
170
171   /** Cone radius */
172   Float_t                    fConeRadius;           // see above
173   
174   /** Use MC Data -- only needed for off-line */
175   Bool_t                     fUseMC;                // see above 
176
177   ClassDef(AliHLTJETReaderHeader, 1)
178
179 };
180 #endif
181