]> git.uio.no Git - u/mrichter/AliRoot.git/blame - RALICE/icepack/IceDwalk.h
02-dec-2007 NvE New memberfunctions GetNstrings() introduced in IceEvent.
[u/mrichter/AliRoot.git] / RALICE / icepack / IceDwalk.h
CommitLineData
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
19class 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