]>
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 |
0257d620 | 23 | virtual ~IceDwalk(); // Destructor |
24 | virtual void Exec(Option_t* opt); // Direct walk reconstruction | |
25 | void SetDmin(Float_t d,TString s="A"); // Set minimum hit distance to form a track element | |
26 | void SetDtmarg(Int_t dt,TString s="A"); // Set maximum hit time difference margin for track elements | |
27 | void SetMaxDhit(Float_t d,TString s="A"); // Set maximum distance (in scat. length) for hit association | |
28 | void SetTangmax(Float_t ang,TString s="A"); // Set max. angular separation for track candidate clustering into jets | |
29 | void SetTdistmax(Float_t d,TString s="A",Int_t invol=1);// Set maximum track distance for track candidate clustering | |
30 | void SetJangmax(Float_t ang,TString s="A",Int_t iter=1);// Set max. angular separation for jet merging into 1 single track | |
31 | void SetJdistmax(Float_t d,TString s="A",Int_t invol=1);// Set maximum jet distance for jet merging | |
32 | void SetMaxMod(Int_t nmax,TString s="A"); // Set max. number of good fired (D)OMs for events to be processed | |
33 | void SetMinMod(Int_t nmin,TString s="A"); // Set min. number of good fired (D)OMs for events to be processed | |
34 | void SetMaxHits(Int_t nmax,TString s="A"); // Set max. number of good hits per (D)OM to be processed | |
35 | void SetVgroupUsage(Int_t flag,TString s="A"); // (De)activate usage of distinct phase and group velocities | |
43d03f00 | 36 | void SetAsType(Int_t flag,TString s); // Select # assoc. hits or strings for quality indicator |
0257d620 | 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 | |
67338e65 | 39 | |
40 | protected : | |
0257d620 | 41 | IceEvent* fEvt; // Pointer to the event structure |
42 | Float_t fDminA; // Minimum Amanda OM hit distance (in m) to form a track element | |
43 | Float_t fDminI; // Minimum InIce DOM hit distance (in m) to form a track element | |
44 | Int_t fDtmargA; // Maximum Amanda OM hit time difference margin (in ns) for track elements | |
45 | Int_t fDtmargI; // Maximum InIce DOM hit time difference margin (in ns) for track elements | |
46 | Float_t fMaxdhitA; // Maximum Amanda OM hit distance (in scat. length) for hit association | |
47 | Float_t fMaxdhitI; // Maximum InIce DOM hit distance (in scat. length) for hit association | |
48 | Float_t fTangmaxA; // Amanda angular separation (in deg) within which track candidates are clustered in a jet | |
49 | Float_t fTangmaxI; // InIce angular separation (in deg) within which track candidates are clustered in a jet | |
50 | Float_t fTdistmaxA; // Maximum Amanda track distance (in m) for track candidate clustering | |
51 | Float_t fTdistmaxI; // Maximum InIce track distance (in m) for track candidate clustering | |
52 | Int_t fTinvolA; // Amanda flag to denote maximum track distance testing inside/outside detector volume | |
53 | Int_t fTinvolI; // InIce flag to denote maximum track distance testing inside/outside detector volume | |
54 | Float_t fJangmaxA; // Amanda angular separation (in deg) within which jets are merged into 1 single track | |
55 | Float_t fJangmaxI; // InIce angular separation (in deg) within which jets are merged into 1 single track | |
56 | Int_t fJiterateA; // Amanda flag to indicate iteration in the jet merging process | |
57 | Int_t fJiterateI; // InIce flag to indicate iteration in the jet merging process | |
58 | Float_t fJdistmaxA; // Amanda maximum jet distance (in m) for jet merging | |
59 | Float_t fJdistmaxI; // InIce maximum jet distance (in m) for jet merging | |
60 | Int_t fJinvolA; // Amanda flag to denote maximum jet distance testing inside/outside detector volume | |
61 | Int_t fJinvolI; // InIce flag to denote maximum jet distance testing inside/outside detector volume | |
62 | Int_t fMaxmodA; // The max. number of good fired Amanda OMs for events to get processed | |
63 | Int_t fMaxmodI; // The max. number of good fired InIce DOMs for events to get processed | |
64 | Int_t fMinmodA; // The min. number of good fired Amanda OMs for events to get processed | |
65 | Int_t fMinmodI; // The min. number of good fired InIce DOMs for events to get processed | |
66 | Int_t fMaxhitsA; // The maximum number of good hits per Amanda OM to be processed | |
67 | Int_t fMaxhitsI; // The maximum number of good hits per InIce DOM to be processed | |
68 | Int_t fVgroupA; // Amanda flag to indicate usage of distinct phase and group velocities | |
69 | Int_t fVgroupI; // InIce flag to indicate usage of distinct phase and group velocities | |
43d03f00 | 70 | Int_t fAsTypeA; // Amanda flag to indicate usage of # assoc. hits or strings for quality |
71 | Int_t fAsTypeI; // InIce flag to indicate usage of # assoc. hits or strings for quality | |
0257d620 | 72 | TString fTrackname; // The name identifier for the produced first guess tracks |
73 | Float_t fCharge; // User defined charge of the produced first guess tracks | |
67338e65 | 74 | |
0257d620 | 75 | virtual void Amanda(); // Direct walk reconstruction for Amanda OM signals |
76 | virtual void InIce(); // Direct walk reconstruction for InIce DOM signals | |
43d03f00 | 77 | virtual void AssociateHits(TObjArray& tes,TObjArray& hits,Int_t vgroup,Float_t maxdhit,Int_t astype,Float_t& qmax);// Hit association |
78 | virtual void SelectQvalue(TObjArray& tes,Int_t astype,Float_t qmax); // TC selection via Q-value | |
79 | virtual void ClusterTracks(TObjArray& tes,TObjArray& jets,Float_t tangmax,Int_t tinvol,Float_t tdistmax,Int_t astype,Float_t qmax);// Track clustering | |
80 | virtual void MergeJets(TObjArray& jets,Float_t jangmax,Float_t jdistmax,Int_t jinvol,Int_t jiterate,Int_t astype);// Jet Merging | |
0257d620 | 81 | virtual void StoreTracks(TObjArray& jets,Float_t jangmax,TString name,TString title); // Final track storage |
bfde1ea0 | 82 | |
43d03f00 | 83 | ClassDef(IceDwalk,10) // TTask derived class to perform (improved) direct walk reconstruction |
67338e65 | 84 | }; |
85 | #endif |