]>
Commit | Line | Data |
---|---|---|
67338e65 | 1 | #ifndef IceDwalk_h |
2 | #define IceDwalk_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" | |
413d0114 | 12 | #include "TArrayI.h" |
67338e65 | 13 | |
14 | #include "AliJob.h" | |
15 | #include "AliSample.h" | |
16 | #include "IceEvent.h" | |
17 | #include "IceGOM.h" | |
18 | ||
19 | class IceDwalk : public TTask | |
20 | { | |
21 | public : | |
bfde1ea0 | 22 | IceDwalk(const char* name="IceDwalk",const char* title="Direct walk reconstruction"); // Constructor |
67338e65 | 23 | virtual ~IceDwalk(); // Destructor |
24 | virtual void Exec(Option_t* opt); // Direct walk reconstruction | |
413d0114 | 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 | |
25eefd00 | 27 | void SetMaxDhit(Float_t d); // Set maximum distance (in scat. length) for hit association |
413d0114 | 28 | void SetTangmax(Float_t ang); // Set max. angular separation for track candidate clustering into jets |
25eefd00 | 29 | void SetTdistmax(Float_t d,Int_t invol=1);// Set maximum track distance for track candidate clustering |
30 | void SetJangmax(Float_t ang,Int_t iter=1);// Set max. angular separation for jet merging into 1 single track | |
31 | void SetJdistmax(Float_t d,Int_t invol=1);// Set maximum jet distance for jet merging | |
6f94f699 | 32 | void SetMaxModA(Int_t nmax); // Set max. number of good fired Amanda modules for events to be processed |
33 | void SetMinModA(Int_t nmin); // Set min. number of good fired Amanda modules for events to be processed | |
35e721bf | 34 | void SetMaxHitsA(Int_t nmax); // Set max. number of good hits per Amanda module to be processed |
25eefd00 | 35 | void SetVgroupUsage(Int_t flag); // (De)activate usage of distinct phase and group velocities |
d6860cf1 | 36 | void SetTrackName(TString s); // Set (alternative) name for the produced first guess tracks |
30672a96 | 37 | void SetCharge(Float_t charge);// Set user defined charge for the produced first guess tracks |
67338e65 | 38 | |
39 | protected : | |
bfde1ea0 | 40 | IceEvent* fEvt; // Pointer to the event structure |
413d0114 | 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 | |
25eefd00 | 43 | Float_t fMaxdhit; // Maximum distance (in scat. length) for hit association |
413d0114 | 44 | Float_t fTangmax; // Angular separation (in deg) within which track candidates are clustered in a jet |
25eefd00 | 45 | Float_t fTdistmax; // Maximum track distance (in m) for track candidate clustering |
46 | Int_t fTinvol; // Flag to denote maximum track distance testing inside/outside detector volume | |
413d0114 | 47 | Float_t fJangmax; // Angular separation (in deg) within which jets are merged into 1 single track |
25eefd00 | 48 | Int_t fJiterate; // Flag to indicate iteration in the jet merging process |
49 | Float_t fJdistmax; // Maximum jet distance (in m) for jet merging | |
50 | Int_t fJinvol; // Flag to denote maximum jet distance testing inside/outside detector volume | |
35e721bf | 51 | Int_t fMaxmodA; // The max. number of good fired Amanda modules for events to get processed |
52 | Int_t fMinmodA; // The min. number of good fired Amanda modules for events to get processed | |
53 | Int_t fMaxhitsA; // The maximum number of good hits per Amanda module to be processed | |
25eefd00 | 54 | Int_t fVgroup; // Flag to indicate usage of distinct phase and group velocities |
d6860cf1 | 55 | TString fTrackname;// The name identifier for the produced first guess tracks |
30672a96 | 56 | Float_t fCharge; // User defined charge of the produced first guess tracks |
67338e65 | 57 | |
bfde1ea0 | 58 | virtual void AssociateHits(TObjArray& tes,TObjArray& hits,Float_t& qmax,Int_t& nahmax); // Hit association |
59 | virtual void SelectQvalue(TObjArray& tes,Float_t qmax); // TC selection via Q-value | |
60 | virtual void ClusterTracks(TObjArray& tes,TObjArray& jets,Float_t qmax); // Track clustering | |
61 | virtual void MergeJets(TObjArray& jets); // Jet Merging | |
62 | virtual void StoreTracks(TObjArray& jets); // Final track storage | |
63 | ||
64 | ClassDef(IceDwalk,8) // TTask derived class to perform (improved) direct walk reconstruction | |
67338e65 | 65 | }; |
66 | #endif |