]> git.uio.no Git - u/mrichter/AliRoot.git/blob - RALICE/icepack/IceDwalkx.h
25-sep-2006 NvE AliSample extended with memberfunction GetSpread() and also
[u/mrichter/AliRoot.git] / RALICE / icepack / IceDwalkx.h
1 #ifndef IceDwalkx_h
2 #define IceDwalkx_h
3
4 // Copyright(c) 2003, IceCube Experiment at the South Pole, All rights reserved.
5 // See cxx source for full Copyright notice.
6
7 // $Id$
8
9 #include "TROOT.h"
10 #include "TTask.h"
11 #include "TString.h"
12 #include "TArrayI.h"
13
14 #include "AliJob.h"
15 #include "AliSample.h"
16 #include "IceEvent.h"
17 #include "IceGOM.h"
18
19 class IceDwalkx : public TTask
20 {
21  public :
22   IceDwalkx(const char* name="",const char* title=""); // Constructor
23   virtual ~IceDwalkx();                                // Destructor
24   virtual void Exec(Option_t* opt);                    // Direct walk reconstruction
25   void SetDmin(Float_t d);       // Set minimum hit distance to form a track element
26   void SetDtmarg(Int_t dt);      // Set maximum hit time difference margin for track elements
27   void SetTangmax(Float_t ang);  // Set max. angular separation for track candidate clustering into jets
28   void SetRtangmax(Float_t ang); // Set max. ang. separation for relative r0 direction for track candidate clustering
29   void SetRtdmax(Float_t d);     // Set maximum r0 distance for track candidate clustering
30   void SetJangmax(Float_t ang);  // Set max. angular separation for jet merging into 1 single track
31   void SetRjangmax(Float_t ang); // Set max. angular separation for relative r0 direction for jet merging
32   void SetRjdmax(Float_t d);     // Set maximum r0 distance for jet merging
33   void SetMaxModA(Int_t nmax);   // Set max. number of good fired Amanda modules for events to be processed
34   void SetMinModA(Int_t nmin);   // Set min. number of good fired Amanda modules for events to be processed
35   void SetMaxHitsA(Int_t nmax);  // Set max. number of good hits per Amanda module to be processed
36   void SetVgroupUsage(Int_t flag); // (De)activate usage of distinct phase and group velocities
37   void SetTrackName(TString s);  // Set (alternative) name for the produced first guess tracks
38   void SetCharge(Float_t charge);// Set user defined charge for the produced first guess tracks
39
40  protected :
41   Float_t fDmin;     // Minimum hit distance (in m) to form a track element 
42   Int_t fDtmarg;     // Maximum hit time difference margin (in ns) for track elements
43   Float_t fTangmax;  // Angular separation (in deg) within which track candidates are clustered in a jet
44   Float_t fRtangmax; // Relative r0 angular separation (in deg) for track candidate clustering
45   Float_t fRtdmax;   // Maximum r0 distance (in m) for track candidate clustering
46   Float_t fJangmax;  // Angular separation (in deg) within which jets are merged into 1 single track
47   Float_t fRjangmax; // Relative r0 angular separation (in deg) for jet clustering
48   Float_t fRjdmax;   // Maximum r0 distance (in m) for jet merging
49   Int_t fMaxmodA;    // The max. number of good fired Amanda modules for events to get processed
50   Int_t fMinmodA;    // The min. number of good fired Amanda modules for events to get processed
51   Int_t fMaxhitsA;   // The maximum number of good hits per Amanda module to be processed
52   Int_t fVgroup;     // Flag to indicate usage of distinct phase and group velocities
53   TString fTrackname;// The name identifier for the produced first guess tracks
54   Float_t fCharge;   // User defined charge of the produced first guess tracks
55
56  ClassDef(IceDwalkx,1) // TTask derived class to perform (Amanda-like) direct walk reconstruction
57 };
58 #endif