Update handling of different inputs
[u/mrichter/AliRoot.git] / HLT / JET / AliHLTJETReaderHeader.h
CommitLineData
0734d112 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
6ce099ba 18#include "AliHLTJETTrackCuts.h"
19#include "AliHLTJETConeSeedCuts.h"
0734d112 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
31class AliHLTJETReaderHeader : public AliJetReaderHeader, public AliHLTLogging {
32
33public:
34
35 /*
36 * ---------------------------------------------------------------------------------
37 * Constructor / Destructor
38 * ---------------------------------------------------------------------------------
39 */
40
41 /** standard constructor */
42 AliHLTJETReaderHeader();
43
44 /** destructor */
45 virtual ~AliHLTJETReaderHeader();
46
6ce099ba 47 /*
48 * ---------------------------------------------------------------------------------
49 * Initialize
50 * ---------------------------------------------------------------------------------
51 */
52
1f9fec4a 53 /** Initialize reader header for cone jet finder
6ce099ba 54 * @return 0 on success, otherwise <0
55 */
56 Int_t Initialize();
57
0734d112 58 /*
59 * ---------------------------------------------------------------------------------
60 * Setter
61 * ---------------------------------------------------------------------------------
62 */
63
64 /** Set Analysis Cuts
6ce099ba 65 * @param cuts ptr to AliHLTJETTrackCuts
0734d112 66 */
6ce099ba 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; }
0734d112 82
1f9fec4a 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
0734d112 89 /*
90 * ---------------------------------------------------------------------------------
91 * Getter
92 * ---------------------------------------------------------------------------------
93 */
6ce099ba 94
95 /** Get Analysis Cuts
96 * @return ptr to AliHLTJETTrackCuts
97 */
98 AliHLTJETTrackCuts* GetTrackCuts() { return fTrackCuts; }
99
0734d112 100 /** Get Analysis Cuts
6ce099ba 101 * @return ptr to AliHLTJETConeSeedCuts
0734d112 102 */
6ce099ba 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; }
0734d112 116
6ce099ba 117 /** Get cone radius */
118 Float_t GetConeRadius() { return fConeRadius; }
0734d112 119
1f9fec4a 120 /** Get algorithm type */
121 AliHLTJETBase::JetAlgorithmType_t GetJetAlgorithm() { return fAlgorithm; }
122
123 /** Get Usage of Kinematics */
124 Bool_t GetUseMC() { return fUseMC; }
125
0734d112 126 ///////////////////////////////////////////////////////////////////////////////////
127
128private:
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
6ce099ba 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
1f9fec4a 166 // -- Algorithm members
167
168 /** Algorithm */
169 AliHLTJETBase::JetAlgorithmType_t fAlgorithm; // see above
6ce099ba 170
171 /** Cone radius */
172 Float_t fConeRadius; // see above
1f9fec4a 173
438118d4 174 /** Use MC Data -- only needed for off-line */
1f9fec4a 175 Bool_t fUseMC; // see above
0734d112 176
177 ClassDef(AliHLTJETReaderHeader, 1)
178
179};
180#endif
181