173 fParams.AddNamedSlot(
"CleanA");
179 fParams.AddNamedSlot(
"CleanI");
185 fParams.AddNamedSlot(
"CleanIC");
191 fParams.AddNamedSlot(
"CleanDC");
221 fParams.AddNamedSlot(
"MaxmodA");
227 fParams.AddNamedSlot(
"MaxmodI");
233 fParams.AddNamedSlot(
"MaxmodIC");
239 fParams.AddNamedSlot(
"MaxmodDC");
266 fParams.AddNamedSlot(
"MinmodA");
272 fParams.AddNamedSlot(
"MinmodI");
278 fParams.AddNamedSlot(
"MinmodIC");
284 fParams.AddNamedSlot(
"MinmodDC");
317 fParams.AddNamedSlot(
"MaxhitsA");
323 fParams.AddNamedSlot(
"MaxhitsI");
329 fParams.AddNamedSlot(
"MaxhitsIC");
335 fParams.AddNamedSlot(
"MaxhitsDC");
371 fParams.AddNamedSlot(
"SingleA");
377 fParams.AddNamedSlot(
"Single1A");
386 fParams.AddNamedSlot(
"SingleIC");
392 fParams.AddNamedSlot(
"Single1IC");
401 fParams.AddNamedSlot(
"SingleDC");
407 fParams.AddNamedSlot(
"Single1DC");
416 fParams.AddNamedSlot(
"SingleI");
422 fParams.AddNamedSlot(
"Single1I");
449 fParams.AddNamedSlot(
"MinahitsA");
455 fParams.AddNamedSlot(
"MinahitsI");
461 fParams.AddNamedSlot(
"MinahitsIC");
467 fParams.AddNamedSlot(
"MinahitsDC");
493 fParams.AddNamedSlot(
"MinamodsA");
499 fParams.AddNamedSlot(
"MinamodsI");
505 fParams.AddNamedSlot(
"MinamodsIC");
511 fParams.AddNamedSlot(
"MinamodsDC");
580 fParams.AddNamedSlot(
"Thetatrk");
581 fParams.AddNamedSlot(
"Thetahits");
605 fParams.AddNamedSlot(
"LambdaA");
611 fParams.AddNamedSlot(
"LambdaUD");
617 fParams.AddNamedSlot(
"LambdaDL");
623 fParams.AddNamedSlot(
"LambdaLD");
653 fParams.AddNamedSlot(
"LabsUD");
659 fParams.AddNamedSlot(
"LabsDL");
665 fParams.AddNamedSlot(
"LabsLD");
688 fParams.AddNamedSlot(
"TsigmaA");
694 fParams.AddNamedSlot(
"TsigmaIC");
700 fParams.AddNamedSlot(
"TsigmaDC");
729 fParams.AddNamedSlot(
"VgroupA");
735 fParams.AddNamedSlot(
"VgroupIC");
741 fParams.AddNamedSlot(
"VgroupDC");
747 fParams.AddNamedSlot(
"VgroupI");
822 for (Int_t i=0; i<nen; i++)
824 TObjString* sx=(TObjString*)
fUseNames->At(i);
827 if (s==classname)
return;
834 TObjString* name=
new TObjString();
835 name->SetString(classname);
839 fParams.AddNamedSlot(
"UseTracks");
840 fParams.SetSignal(1,
"UseTracks");
848// Template for the implementation of a reconstruction processor. //
855 NcJob* parent=(
NcJob*)(gROOT->GetListOfTasks()->FindObject(name.Data()));
867 if (seldev->
GetSignal(
"Select") < 0.1)
return;
873 fParams.SetNameTitle(
"IceRecoBase",
"IceRecoBase complete event reco parameters");
877 fParams.SetNameTitle(
"IceRecoBase4Track",
"IceRecoBase track based reco parameters");
891 cout <<
" *IceRecoBase* First guess selections to be processed (-1=all)." << endl;
892 for (Int_t i=0; i<nclasses; i++)
896 str=strx->GetString();
898 cout <<
" Maximally " << ntkmax <<
" track(s) per event for procedure : " << str.Data() << endl;
935 theta=p.
GetX(2,
"sph",
"deg");
943 TObjArray* sorted=sorter.
SortHits(
"LE",1,hits,7);
947 for (Int_t i=0; i<sorted->GetEntries(); i++)
955 if (omx->InheritsFrom(
"IceAOM"))
continue;
963 hitpath=
fEvt->GetHitPath(sorted,1);
964 theta=hitpath.
GetX(2,
"sph",
"deg");
Handling of IceCube event data.
TTask derived base class for the various IceCube reconstruction tasks.
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")
void SetSLChitUsage(Int_t flag, TString s)
void SetCleaned(Int_t flag, TString s)
void SetAbsorptionLength(Float_t lambda, TString s)
void SetVgroupUsage(Int_t flag, TString s)
virtual void Exec(Option_t *opt)
void SetCharge(Float_t charge)
void SetMinAmods(Int_t nmin, TString s)
void UseTracks(TString classname, Int_t n=-1)
void SetMinMod(Int_t nmin, TString s)
void SetMaxMod(Int_t nmax, TString s)
void SetMaxHits(Int_t nmax, TString s)
void SetMinAhits(Int_t nmin, TString s)
virtual void FlipTrack(NcTrack *t) const
void SetFlipAngles(Float_t thetatrk, Float_t thetahits)
void SetTrackName(TString s)
void SetTimeJitter(Float_t sigma, TString s)
Handling of 3-vectors in various reference frames.
Double_t GetX(Int_t i, TString f, TString u="rad")
void AddNamedSlot(TString s)
Signal (Hit) handling of a generic device.
TObjArray * SortHits(TString name, Int_t mode=-1, TObjArray *hits=0, Int_t mcal=1, Int_t deadcheck=1, TObjArray *ordered=0)
Base class for top level job in a task based procedure.
TObject * GetObject(const char *classname) const
Generic handling of (extrapolated) detector signals.
virtual void SetSignal(Double_t sig, Int_t j=1)
NcDevice * GetDevice() const
virtual Float_t GetSignal(Int_t j=1, Int_t mode=0) const
Handling of the attributes of a reconstructed particle track.
void Set3Momentum(Nc3Vector &p)
Nc3Vector Get3Momentum(Float_t scale=-1) const
TObject * GetFitDetails()
TObjArray * GetSignals(const char *classname, Int_t par=0, TObjArray *signals=0)