NCFS-Pack
A generic (astro)particle physics analysis framework
 
Loading...
Searching...
No Matches
IceRecoBase.h
Go to the documentation of this file.
1#ifndef IceRecoBase_h
2#define IceRecoBase_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 "TROOT.h"
8#include "TTask.h"
9#include "TString.h"
10#include "TObjString.h"
11
12#include "NcJob.h"
13#include "IceEvent.h"
14#include "IceGOM.h"
15
17
18class IceRecoBase : public TTask
19{
20 public :
21 IceRecoBase(const char* name="IceRecoBase",const char* title="Base class for IceCube reconstruction tasks"); // Constructor
22 virtual ~IceRecoBase(); // Destructor
23 virtual void Exec(Option_t* opt); // Base for the actual reconstruction processor
24 void SetCleaned(Int_t flag,TString s); // Set flag to select usage of only cleaned hits or all hits
25 void SetMaxMod(Int_t nmax,TString s); // Set max. number of good fired (D)OMs for events to be processed
26 void SetMinMod(Int_t nmin,TString s); // Set min. number of good fired (D)OMs for events to be processed
27 void SetMaxHits(Int_t nmax,TString s); // Set max. number of good hits per (D)OM to be processed
28 void SetSingleHit(Int_t ndoms,TString s,Int_t ndoms1=0); // Set minimum number of good firing (D)OMs at which only the first hit will be used
29 void SetMinAhits(Int_t nmin,TString s); // Set min. number of associated hits to produce a reconstructed track
30 void SetMinAmods(Int_t nmin,TString s); // Set min. number of associated (D)OMs to produce a reconstructed track
31 void SetSLChitUsage(Int_t flag,TString s); // (De)activate usage of Soft Local Coincidence hits
32 void SetFlipAngles(Float_t thetatrk,Float_t thetahits); // Polar angle thresholds for track direction flipping
33 void SetScatteringLength(Float_t lambda,TString s); // Set average photon scattering length
34 void SetAbsorptionLength(Float_t lambda,TString s); // Set average photon absorbtion length
35 void SetTimeJitter(Float_t sigma,TString s); // Set average PMT time jitter in ns.
36 void SetTrackName(TString s); // Set (alternative) name for the produced reconstructed tracks
37 void SetCharge(Float_t charge); // Set user defined charge for the produced reconstructed tracks
38 void UseTracks(TString classname,Int_t n=-1); // Specify input tracks to be used for track based reconstruction
39 void SetVgroupUsage(Int_t flag,TString s); // (De)activate usage of distinct phase and group velocities
40
41 protected :
42 Int_t fFirst; // Flag to denote first invokation of the processor
43 IceEvent* fEvt; // Pointer to the current event
44 Int_t fCleanA; // Amanda flag to indicate usage of only cleaned hits
45 Int_t fCleanI; // InIce flag to indicate usage of only cleaned hits
46 Int_t fCleanIC; // Standard IceCube InIce flag to indicate usage of only cleaned hits
47 Int_t fCleanDC; // DeepCore flag to indicate usage of only cleaned hits
48 Int_t fMaxmodA; // The max. number of good fired Amanda OMs for events to get processed
49 Int_t fMaxmodI; // The max. number of good fired InIce DOMs for events to get processed
50 Int_t fMaxmodIC; // The max. number of good fired standard IceCube InIce DOMs for events to get processed
51 Int_t fMaxmodDC; // The max. number of good fired DeepCore DOMs for events to get processed
52 Int_t fMinmodA; // The min. number of good fired Amanda OMs for events to get processed
53 Int_t fMinmodI; // The min. number of good fired InIce DOMs for events to get processed
54 Int_t fMinmodIC; // The min. number of good fired standard IceCube InIce DOMs for events to get processed
55 Int_t fMinmodDC; // The min. number of good fired DeepCore DOMs for events to get processed
56 Int_t fMaxhitsA; // The maximum number of good hits per Amanda OM to be processed
57 Int_t fMaxhitsI; // The maximum number of good hits per InIce DOM to be processed
58 Int_t fMaxhitsIC; // The maximum number of good hits per standard IceCube InIce DOM to be processed
59 Int_t fMaxhitsDC; // The maximum number of good hits per DeepCore DOM to be processed
60 Int_t fSingleA; // Minimum number of good firing Amanda OMs at which only first hits will be used
61 Int_t fSingleIC; // Minimum number of good firing standard IceCube InIce DOMs at which only first hits will be used
62 Int_t fSingleI; // Minimum number of good firing InIce DOMs at which only first hits will be used
63 Int_t fSingleDC; // Minimum number of good firing DeepCore DOMs at which only first hits will be used
64 Int_t fSingle1A; // Minimum number of good firing Amanda OMs on a single string at which only first hits will be used
65 Int_t fSingle1IC; // Minimum number of good firing standard IceCube InIce DOMs on a single string at which only first hits will be used
66 Int_t fSingle1I; // Minimum number of good firing InIce DOMs on a single string at which only first hits will be used
67 Int_t fSingle1DC; // Minimum number of good firing DeepCore DOMs on a single string at which only first hits will be used
68 Int_t fMinahitsA; // The minimum number of associated hits to produce an Amanda reconstructed track
69 Int_t fMinahitsI; // The minimum number of associated hits to produce a hybrid InIce (I) reconstructed track
70 Int_t fMinahitsIC; // The minimum number of associated hits to produce a standard IceCube (IC) reconstructed track
71 Int_t fMinahitsDC; // The minimum number of associated hits to produce a DeepCore (DC) reconstructed track
72 Int_t fMinamodsA; // The minimum number of associated OMs to produce an Amanda reconstructed track
73 Int_t fMinamodsI; // The minimum number of associated DOMs to produce a hybrid InIce (I) reconstructed track
74 Int_t fMinamodsIC; // The minimum number of associated DOMs to produce a standard IceCube (IC) reconstructed track
75 Int_t fMinamodsDC; // The minimum number of associated DOMs to produce a DeepCore (DC) reconstructed track
76 Int_t fSlcI; // InIce flag to indicate usage of SLC hits
77 Int_t fSlcIC; // Standard IceCube InIce flag to indicate usage of SLC hits
78 Int_t fSlcDC; // DeepCore flag to indicate usage of SLC hits
79 Float_t fThetatrk; // Track polar angle threshold (in degrees) for track direction flipping
80 Float_t fThetahits; // Hit path polar angle threshold (in degrees) for track direction flipping
81 Float_t fLambdaA; // Average photon scattering length (in meter) for Amanda OMs
82 Float_t fLambdaUD; // Average photon scattering length (in meter) for InIce DOMs in the Upper Detector above the dust layer
83 Float_t fLambdaDL; // Average photon scattering length (in meter) for InIce DOMs in the Dust Layer
84 Float_t fLambdaLD; // Average photon scattering length (in meter) for InIce DOMs in the Lower Detector below the dust layer
85 Float_t fLabsA; // Average photon absorption length (in meter) for Amanda OMs
86 Float_t fLabsUD; // Average photon absorption length (in meter) for InIce DOMs in the Upper Detector above the dust layer
87 Float_t fLabsDL; // Average photon absorption length (in meter) for InIce DOMs in the Dust Layer
88 Float_t fLabsLD; // Average photon absorption length (in meter) for InIce DOMs in the Lower Detector below the dust layer
89 Float_t fTsigmaA; // PMT jitter (in ns) for Amanda OMs
90 Float_t fTsigmaIC; // PMT jitter (in ns) for standard IceCube DOMs
91 Float_t fTsigmaDC; // PMT jitter (in ns) for DeepCore DOMs
92 Int_t fVgroupA; // Amanda flag to indicate usage of distinct phase and group velocities
93 Int_t fVgroupI; // InIce flag to indicate usage of distinct phase and group velocities
94 Int_t fVgroupIC ; // Standard IceCube InIce flag to indicate usage of distinct phase and group velocities
95 Int_t fVgroupDC ; // DeepCore flag to indicate usage of distinct phase and group velocities
96 TString fTrackname; // The name identifier for the produced first guess tracks
97 Float_t fCharge; // User defined charge of the produced first guess tracks
98 TObjArray* fUseNames; // The first guess classnames to be used
99 TArrayI* fUseNtk; // The max. numbers of the various first guess tracks to be used
100 NcDevice fParams; // Device to store the parameters for this processor
101
102 virtual void FlipTrack(NcTrack* t) const; // Flip the track direction if needed
103
104 ClassDef(IceRecoBase,3) // TTask derived base class for the various IceCube reconstruction tasks
105};
106#endif
Handling of IceCube event data.
Definition IceEvent.h:20
Float_t fLambdaLD
Definition IceRecoBase.h:84
Int_t fMinahitsI
Definition IceRecoBase.h:69
void SetSingleHit(Int_t ndoms, TString s, Int_t ndoms1=0)
void SetScatteringLength(Float_t lambda, TString s)
IceRecoBase(const char *name="IceRecoBase", const char *title="Base class for IceCube reconstruction tasks")
Int_t fMinamodsI
Definition IceRecoBase.h:73
void SetSLChitUsage(Int_t flag, TString s)
Float_t fThetahits
Definition IceRecoBase.h:80
void SetCleaned(Int_t flag, TString s)
Float_t fThetatrk
Definition IceRecoBase.h:79
Int_t fMinahitsIC
Definition IceRecoBase.h:70
Int_t fMinamodsA
Definition IceRecoBase.h:72
void SetAbsorptionLength(Float_t lambda, TString s)
void SetVgroupUsage(Int_t flag, TString s)
Int_t fSingleIC
Definition IceRecoBase.h:61
Int_t fCleanI
Definition IceRecoBase.h:45
virtual ~IceRecoBase()
virtual void Exec(Option_t *opt)
Int_t fCleanIC
Definition IceRecoBase.h:46
Int_t fMinahitsDC
Definition IceRecoBase.h:71
Int_t fVgroupI
Definition IceRecoBase.h:93
Float_t fLabsA
Definition IceRecoBase.h:85
void SetCharge(Float_t charge)
Int_t fVgroupDC
Definition IceRecoBase.h:95
void SetMinAmods(Int_t nmin, TString s)
Int_t fMaxmodA
Definition IceRecoBase.h:48
TArrayI * fUseNtk
Definition IceRecoBase.h:99
void UseTracks(TString classname, Int_t n=-1)
Int_t fCleanDC
Definition IceRecoBase.h:47
Float_t fLabsLD
Definition IceRecoBase.h:88
Int_t fSingle1I
Definition IceRecoBase.h:66
Int_t fSingleDC
Definition IceRecoBase.h:63
Float_t fLabsUD
Definition IceRecoBase.h:86
Float_t fLambdaDL
Definition IceRecoBase.h:83
Int_t fSingleI
Definition IceRecoBase.h:62
Int_t fMinmodDC
Definition IceRecoBase.h:55
Int_t fSingle1DC
Definition IceRecoBase.h:67
void SetMinMod(Int_t nmin, TString s)
Int_t fCleanA
Definition IceRecoBase.h:44
Int_t fMaxmodIC
Definition IceRecoBase.h:50
Int_t fMaxhitsDC
Definition IceRecoBase.h:59
Int_t fMinmodI
Definition IceRecoBase.h:53
void SetMaxMod(Int_t nmax, TString s)
Float_t fTsigmaIC
Definition IceRecoBase.h:90
Int_t fMaxmodI
Definition IceRecoBase.h:49
Int_t fMaxhitsIC
Definition IceRecoBase.h:58
void SetMaxHits(Int_t nmax, TString s)
TString fTrackname
Definition IceRecoBase.h:96
NcDevice fParams
Float_t fCharge
Definition IceRecoBase.h:97
Int_t fSingle1A
Definition IceRecoBase.h:64
void SetMinAhits(Int_t nmin, TString s)
Int_t fMaxmodDC
Definition IceRecoBase.h:51
Int_t fVgroupA
Definition IceRecoBase.h:92
Int_t fMinamodsIC
Definition IceRecoBase.h:74
Float_t fTsigmaDC
Definition IceRecoBase.h:91
virtual void FlipTrack(NcTrack *t) const
Float_t fLabsDL
Definition IceRecoBase.h:87
Float_t fLambdaA
Definition IceRecoBase.h:81
Int_t fSingleA
Definition IceRecoBase.h:60
Float_t fTsigmaA
Definition IceRecoBase.h:89
void SetFlipAngles(Float_t thetatrk, Float_t thetahits)
void SetTrackName(TString s)
Int_t fMinmodIC
Definition IceRecoBase.h:54
Int_t fSingle1IC
Definition IceRecoBase.h:65
Int_t fVgroupIC
Definition IceRecoBase.h:94
Int_t fMaxhitsA
Definition IceRecoBase.h:56
Int_t fMinamodsDC
Definition IceRecoBase.h:75
TObjArray * fUseNames
Definition IceRecoBase.h:98
Int_t fMinahitsA
Definition IceRecoBase.h:68
Int_t fMaxhitsI
Definition IceRecoBase.h:57
IceEvent * fEvt
Definition IceRecoBase.h:43
Float_t fLambdaUD
Definition IceRecoBase.h:82
void SetTimeJitter(Float_t sigma, TString s)
Int_t fMinmodA
Definition IceRecoBase.h:52
Signal (Hit) handling of a generic device.
Definition NcDevice.h:14
Handling of the attributes of a reconstructed particle track.
Definition NcTrack.h:19