]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/JET/AliHLTJETTrackCuts.h
61a7770e2598a29e598a23fb77ee560903dd7cf7
[u/mrichter/AliRoot.git] / HLT / JET / AliHLTJETTrackCuts.h
1 //-*- Mode: C++ -*-
2
3 // $Id: AliHLTJETTrackCuts.h $
4
5 #ifndef ALIHLTJETTRACKCUTS_H
6 #define ALIHLTJETTRACKCUTS_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   AliHLTJETTrackCuts.h
13     @author Jochen Thaeder
14     @date   
15     @brief  Cuts for jet input tracks
16 */
17
18 #include "AliAnalysisCuts.h"
19 #include "AliHLTLogging.h"
20
21 #include "AliESDtrack.h"
22 #include "TParticle.h"
23
24 /**
25  * @class  AliHLTJETTrackCuts
26  * Cuts for MC tracks and ESD tracks 
27  *
28  * @ingroup alihlt_jet
29  */
30
31 class AliHLTJETTrackCuts : public AliAnalysisCuts, public AliHLTLogging {
32   
33 public:
34
35   /*
36    * ---------------------------------------------------------------------------------
37    *                            Constructor / Destructor
38    * ---------------------------------------------------------------------------------
39    */
40
41   /** standard constructor */
42   AliHLTJETTrackCuts(const Char_t* name = "AliHLTJETTrackCuts", const Char_t* title = "");
43
44   /** destructor */
45   virtual ~AliHLTJETTrackCuts();
46
47   /*
48    * ---------------------------------------------------------------------------------
49    *                                   Selection
50    * ---------------------------------------------------------------------------------
51    */
52   
53   /** Select track
54       @param obj esd track or particle
55       @return kTRUE if selected, kFALSE otherwise
56   */
57   Bool_t IsSelected( TObject* obj, TObject *obj2 = 0 );
58
59   /** Select track
60       @param particle particle
61       @return kTRUE if selected, kFALSE otherwise
62   */
63   Bool_t IsSelected( TParticle* particle );
64
65   /** Select track
66       @param esdTrack esd track 
67       @return kTRUE if selected, kFALSE otherwise
68   */
69   Bool_t IsSelected( AliESDtrack* esdTrack );
70   
71   /** Select track
72       Not implemented
73       @return kTRUE 
74   */
75   Bool_t IsSelected( TList* /*list*/ ) { return kTRUE; }
76
77   /*
78    * ---------------------------------------------------------------------------------
79    *                                     Setter
80    * ---------------------------------------------------------------------------------
81    */
82   
83   /** Set selction of charged particles only */
84   void SetChargedOnly( Bool_t b ) { fChargedOnly = b; }
85
86   /** Set cut on min pt */
87   void SetMinPt( Float_t f )      { fPtMin = f; }
88
89   /** Set cut on eta acceptance */
90   void SetEtaRange( Float_t etaMin, Float_t etaMax ) { fEtaMin = etaMin; fEtaMax = etaMax; }
91
92   /** Set cut on phi acceptance */
93   void SetPhiRange( Float_t phiMin, Float_t phiMax ) { fPhiMin = phiMin; fPhiMax = phiMax; }
94
95   ///////////////////////////////////////////////////////////////////////////////////
96
97 private:
98
99   /** copy constructor prohibited */
100   AliHLTJETTrackCuts (const AliHLTJETTrackCuts&);
101
102   /** assignment operator prohibited */
103   AliHLTJETTrackCuts& operator= (const AliHLTJETTrackCuts&);
104
105   /*
106    * ---------------------------------------------------------------------------------
107    *                             Members - private
108    * ---------------------------------------------------------------------------------
109    */
110
111   /** Only charged tracks */
112   Bool_t             fChargedOnly;              // see above
113
114   /** Minimum pt */
115   Float_t            fPtMin;                    // see above
116
117   /** Minimum eta */
118   Float_t            fEtaMin;                   // see above
119
120   /** Maximum eta */
121   Float_t            fEtaMax;                   // see above
122
123   /** Minimum phi */
124   Float_t            fPhiMin;                   // see above
125
126   /** Maximum phi */
127   Float_t            fPhiMax;                   // see above
128
129   ClassDef(AliHLTJETTrackCuts, 1)
130
131 };
132 #endif
133