NCFS-Pack
A generic (astro)particle physics analysis framework
 
Loading...
Searching...
No Matches
IceDwalk.h
Go to the documentation of this file.
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#include "TArrayI.h"
8
9#include "NcSample.h"
10
11#include "IceRecoBase.h"
12
14
15class IceDwalk : public IceRecoBase
16{
17 public :
18 IceDwalk(const char* name="IceDwalk",const char* title="Direct walk reconstruction"); // Constructor
19 virtual ~IceDwalk(); // Destructor
20 virtual void Exec(Option_t* opt); // Direct walk reconstruction
21 void SetDmin(Float_t d,TString s); // Set minimum hit distance to form a track element
22 void SetDtmarg(Int_t dt,TString s); // Set maximum hit time difference margin (in ns) for track elements
23 void SetMaxDhit(Float_t d,TString s); // Set maximum distance (in scat. length) for hit association
24 void SetDthit(Float_t dtmin,Float_t dtmax,TString s);// Set time residual interval (in ns) for hit association
25 void SetTangmax(Float_t ang,TString s); // Set max. angular separation for track candidate clustering into jets
26 void SetTdistmax(Float_t d,TString s,Int_t invol=1); // Set maximum track distance for track candidate clustering
27 void SetJangmax(Float_t ang,TString s,Int_t iter=1); // Set max. angular separation for jet merging into 1 single track
28 void SetJdistmax(Float_t d,TString s,Int_t invol=1); // Set maximum jet distance for jet merging
29 void SetAsType(Int_t flag,TString s,Float_t w=-1); // Select # assoc. hits or strings for quality indicator
30 void SetHitWeight(Float_t w); // Set weight for associated hit count
31 void SetConditionalReco(Int_t flag); // (De)activate conditional reconstruction for the various detector combinations
32 void SetQvalueCut(Float_t qcut); // Set threshold for final track Qvalue selection
33
34 protected :
35 Float_t fDminA; // Minimum Amanda OM hit distance (in m) to form a track element
36 Float_t fDminI; // Minimum InIce DOM hit distance (in m) to form a track element
37 Float_t fDminIC; // Minimum standard IceCube InIce DOM hit distance (in m) to form a track element
38 Float_t fDminDC; // Minimum DeepCore DOM hit distance (in m) to form a track element
39 Int_t fDtmargA; // Maximum Amanda OM hit time difference margin (in ns) for track elements
40 Int_t fDtmargI; // Maximum InIce DOM hit time difference margin (in ns) for track elements
41 Int_t fDtmargIC; // Maximum standard IceCube InIce DOM hit time difference margin (in ns) for track elements
42 Int_t fDtmargDC; // Maximum DeepCore DOM hit time difference margin (in ns) for track elements
43 Float_t fMaxdhitA; // Maximum Amanda OM hit distance (in scat. length) for hit association
44 Float_t fMaxdhitI; // Maximum InIce DOM hit distance (in scat. length) for hit association
45 Float_t fMaxdhitIC; // Maximum standard IceCube InIce DOM hit distance (in scat. length) for hit association
46 Float_t fMaxdhitDC; // Maximum DeepCore DOM hit distance (in scat. length) for hit association
47 Float_t fDtminA; // Minimal Amanda value of time residual (in ns) for hit association
48 Float_t fDtmaxA; // Maximal Amanda value of time residual (in ns) for hit association
49 Float_t fDtminI; // Minimal InIce value of time residual (in ns) for hit association
50 Float_t fDtmaxI; // Maximal InIce value of time residual (in ns) for hit association
51 Float_t fDtminIC; // Minimal standard IceCube InIce value of time residual (in ns) for hit association
52 Float_t fDtmaxIC; // Maximal standard IceCube InIce value of time residual (in ns) for hit association
53 Float_t fDtminDC; // Minimal DeepCore value of time residual (in ns) for hit association
54 Float_t fDtmaxDC; // Maximal DeepCore value of time residual (in ns) for hit association
55 Float_t fTangmaxA; // Amanda angular separation (in deg) within which track candidates are clustered in a jet
56 Float_t fTangmaxI; // InIce angular separation (in deg) within which track candidates are clustered in a jet
57 Float_t fTangmaxIC; // Standard IceCube InIce angular separation (in deg) within which track candidates are clustered in a jet
58 Float_t fTangmaxDC; // DeepCore angular separation (in deg) within which track candidates are clustered in a jet
59 Float_t fTdistmaxA; // Maximum Amanda track distance (in m) for track candidate clustering
60 Float_t fTdistmaxI; // Maximum InIce track distance (in m) for track candidate clustering
61 Float_t fTdistmaxIC; // Maximum standard IceCube InIce track distance (in m) for track candidate clustering
62 Float_t fTdistmaxDC; // Maximum DeepCore track distance (in m) for track candidate clustering
63 Int_t fTinvolA; // Amanda flag to denote maximum track distance testing inside/outside detector volume
64 Int_t fTinvolI; // InIce flag to denote maximum track distance testing inside/outside detector volume
65 Int_t fTinvolIC; // Standard IceCube InIce flag to denote maximum track distance testing inside/outside detector volume
66 Int_t fTinvolDC; // DeepCore flag to denote maximum track distance testing inside/outside detector volume
67 Float_t fJangmaxA; // Amanda angular separation (in deg) within which jets are merged into 1 single track
68 Float_t fJangmaxI; // InIce angular separation (in deg) within which jets are merged into 1 single track
69 Float_t fJangmaxIC; // Standard IceCube InIce angular separation (in deg) within which jets are merged into 1 single track
70 Float_t fJangmaxDC; // DeepCore angular separation (in deg) within which jets are merged into 1 single track
71 Int_t fJiterateA; // Amanda flag to indicate iteration in the jet merging process
72 Int_t fJiterateI; // InIce flag to indicate iteration in the jet merging process
73 Int_t fJiterateIC; // Standard IceCube InIce flag to indicate iteration in the jet merging process
74 Int_t fJiterateDC; // DeepCore flag to indicate iteration in the jet merging process
75 Float_t fJdistmaxA; // Amanda maximum jet distance (in m) for jet merging
76 Float_t fJdistmaxI; // InIce maximum jet distance (in m) for jet merging
77 Float_t fJdistmaxIC; // Standard IceCube InIce maximum jet distance (in m) for jet merging
78 Float_t fJdistmaxDC; // DeepCore maximum jet distance (in m) for jet merging
79 Int_t fJinvolA; // Amanda flag to denote maximum jet distance testing inside/outside detector volume
80 Int_t fJinvolI; // InIce flag to denote maximum jet distance testing inside/outside detector volume
81 Int_t fJinvolIC; // Standard IceCube InIce flag to denote maximum jet distance testing inside/outside detector volume
82 Int_t fJinvolDC; // DeepCore flag to denote maximum jet distance testing inside/outside detector volume
83 Int_t fAsTypeA; // Amanda flag to indicate usage of # assoc. hits or strings for quality
84 Int_t fAsTypeI; // InIce flag to indicate usage of # assoc. hits or strings for quality
85 Int_t fAsTypeIC; // Standard IceCube InIce flag to indicate usage of # assoc. hits or strings for quality
86 Int_t fAsTypeDC; // DeepCore flag to indicate usage of # assoc. hits or strings for quality
87 Float_t fWstringA; // Amanda weight for string count w.r.t. hit count in track quality
88 Float_t fWstringI; // InIce weight for string count w.r.t. hit count in track quality
89 Float_t fWstringIC; // Standard IceCube InIce weight for string count w.r.t. hit count in track quality
90 Float_t fWstringDC; // DeepCore weight for string count w.r.t. hit count in track quality
91 Float_t fHitweight; // Weight for associated hit counting
92 Int_t fConditional; // Flag to indicate conditional reconstruction of the various detector combinations
93 Float_t fQcut; // Threshold for final track Qvalue selection
94
95 Int_t Amanda(); // Direct walk reconstruction for Amanda OM signals
96 Int_t IceCube(TObjArray& hits); // Direct walk reconstruction with the standard IceCube InIce DOM signals c.q. criteria
97 Int_t InIce(TObjArray& hits); // Direct walk reconstruction with all InIce DOM signals c.q. criteria
98 Int_t DeepCore(TObjArray& hits); // Direct walk reconstruction with the DeepCore DOM signals c.q. criteria
99 Int_t MakeTEs(Int_t cln,Int_t maxhits,Float_t dmin,Float_t dtmarg,Float_t dtmin,Float_t dtmax,TString domclass,TObjArray& tes,TObjArray& hits,Int_t gethits);// TE creation
100 void AssociateHits(TObjArray& tes,TObjArray& hits,Int_t astype,Float_t ws,Float_t dtmin,Float_t dtmax,Float_t maxdhit,Int_t vgroup,Int_t cln,Int_t slc,Float_t& qmax);// Hit association
101 void SelectQvalue(TObjArray& tes,Float_t qmax); // TC selection via Q-value
102 void ClusterTracks(TObjArray& tes,TObjArray& jets,Float_t tangmax,Int_t tinvol,Float_t tdistmax,Float_t qmax);// Track clustering
103 void MergeJets(TObjArray& jets,Float_t jangmax,Float_t jdistmax,Int_t jinvol,Int_t jiterate,Float_t qmax); // Jet Merging
104 Int_t StoreTracks(TObjArray& jets,Int_t minahits,Int_t minamods,Float_t jangmax,TString name,TString title,TObjArray& hits); // Final track storage
105
106 ClassDef(IceDwalk,17) // IceRecoBase derived TTask processor to perform (improved) direct walk reconstruction
107};
108#endif
void SetQvalueCut(Float_t qcut)
Float_t fJangmaxIC
Definition IceDwalk.h:69
Float_t fDtminIC
Definition IceDwalk.h:51
Int_t fJinvolIC
Definition IceDwalk.h:81
Float_t fHitweight
Definition IceDwalk.h:91
Int_t fDtmargIC
Definition IceDwalk.h:41
Int_t DeepCore(TObjArray &hits)
void AssociateHits(TObjArray &tes, TObjArray &hits, Int_t astype, Float_t ws, Float_t dtmin, Float_t dtmax, Float_t maxdhit, Int_t vgroup, Int_t cln, Int_t slc, Float_t &qmax)
Int_t StoreTracks(TObjArray &jets, Int_t minahits, Int_t minamods, Float_t jangmax, TString name, TString title, TObjArray &hits)
Float_t fTdistmaxI
Definition IceDwalk.h:60
Int_t fJinvolA
Definition IceDwalk.h:79
Int_t fJiterateA
Definition IceDwalk.h:71
Int_t fAsTypeDC
Definition IceDwalk.h:86
Int_t fTinvolIC
Definition IceDwalk.h:65
Float_t fDtmaxDC
Definition IceDwalk.h:54
Float_t fTangmaxDC
Definition IceDwalk.h:58
Float_t fDminA
Definition IceDwalk.h:35
Float_t fTangmaxA
Definition IceDwalk.h:55
Int_t fJinvolDC
Definition IceDwalk.h:82
Float_t fDtmaxA
Definition IceDwalk.h:48
Float_t fMaxdhitA
Definition IceDwalk.h:43
Int_t IceCube(TObjArray &hits)
Int_t fAsTypeA
Definition IceDwalk.h:83
Float_t fMaxdhitI
Definition IceDwalk.h:44
void ClusterTracks(TObjArray &tes, TObjArray &jets, Float_t tangmax, Int_t tinvol, Float_t tdistmax, Float_t qmax)
Int_t fDtmargA
Definition IceDwalk.h:39
Int_t fTinvolA
Definition IceDwalk.h:63
Float_t fWstringA
Definition IceDwalk.h:87
Int_t fConditional
Definition IceDwalk.h:92
Int_t fAsTypeIC
Definition IceDwalk.h:85
void SetHitWeight(Float_t w)
Float_t fJangmaxDC
Definition IceDwalk.h:70
Int_t MakeTEs(Int_t cln, Int_t maxhits, Float_t dmin, Float_t dtmarg, Float_t dtmin, Float_t dtmax, TString domclass, TObjArray &tes, TObjArray &hits, Int_t gethits)
void SetTdistmax(Float_t d, TString s, Int_t invol=1)
Definition IceDwalk.cxx:731
Int_t fTinvolDC
Definition IceDwalk.h:66
Float_t fDtmaxIC
Definition IceDwalk.h:52
Float_t fJangmaxI
Definition IceDwalk.h:68
void SetDmin(Float_t d, TString s)
Definition IceDwalk.cxx:479
Float_t fMaxdhitIC
Definition IceDwalk.h:45
Float_t fTdistmaxA
Definition IceDwalk.h:59
Float_t fDtmaxI
Definition IceDwalk.h:50
Int_t InIce(TObjArray &hits)
Float_t fTdistmaxIC
Definition IceDwalk.h:61
Int_t fAsTypeI
Definition IceDwalk.h:84
Float_t fQcut
Definition IceDwalk.h:93
Float_t fJdistmaxDC
Definition IceDwalk.h:78
Int_t fTinvolI
Definition IceDwalk.h:64
void SetConditionalReco(Int_t flag)
Float_t fTangmaxIC
Definition IceDwalk.h:57
Int_t fJiterateI
Definition IceDwalk.h:72
Float_t fTangmaxI
Definition IceDwalk.h:56
Float_t fJangmaxA
Definition IceDwalk.h:67
void SetDthit(Float_t dtmin, Float_t dtmax, TString s)
Definition IceDwalk.cxx:606
Float_t fTdistmaxDC
Definition IceDwalk.h:62
void SetJdistmax(Float_t d, TString s, Int_t invol=1)
Definition IceDwalk.cxx:873
Float_t fDtminA
Definition IceDwalk.h:47
Int_t Amanda()
Float_t fJdistmaxI
Definition IceDwalk.h:76
Float_t fDminIC
Definition IceDwalk.h:37
Float_t fDtminI
Definition IceDwalk.h:49
Float_t fDtminDC
Definition IceDwalk.h:53
Float_t fJdistmaxA
Definition IceDwalk.h:75
void SetMaxDhit(Float_t d, TString s)
Definition IceDwalk.cxx:565
void SetTangmax(Float_t ang, TString s)
Definition IceDwalk.cxx:669
Float_t fJdistmaxIC
Definition IceDwalk.h:77
void SetJangmax(Float_t ang, TString s, Int_t iter=1)
Definition IceDwalk.cxx:797
IceDwalk(const char *name="IceDwalk", const char *title="Direct walk reconstruction")
Definition IceDwalk.cxx:355
Float_t fWstringIC
Definition IceDwalk.h:89
Int_t fDtmargI
Definition IceDwalk.h:40
void SetDtmarg(Int_t dt, TString s)
Definition IceDwalk.cxx:520
void SetAsType(Int_t flag, TString s, Float_t w=-1)
Definition IceDwalk.cxx:938
Int_t fJinvolI
Definition IceDwalk.h:80
Float_t fWstringI
Definition IceDwalk.h:88
Int_t fJiterateIC
Definition IceDwalk.h:73
Float_t fMaxdhitDC
Definition IceDwalk.h:46
virtual void Exec(Option_t *opt)
Float_t fDminDC
Definition IceDwalk.h:38
Float_t fDminI
Definition IceDwalk.h:36
Int_t fJiterateDC
Definition IceDwalk.h:74
virtual ~IceDwalk()
Definition IceDwalk.cxx:470
void MergeJets(TObjArray &jets, Float_t jangmax, Float_t jdistmax, Int_t jinvol, Int_t jiterate, Float_t qmax)
void SelectQvalue(TObjArray &tes, Float_t qmax)
Int_t fDtmargDC
Definition IceDwalk.h:42
Float_t fWstringDC
Definition IceDwalk.h:90
IceRecoBase(const char *name="IceRecoBase", const char *title="Base class for IceCube reconstruction tasks")