354 Int_t nmods=mods->GetEntries();
355 if (!nmods)
return 0;
364 for (Int_t imod=0; imod<nmods; imod++)
374 for (Int_t idx=0; idx<idxmax; idx++)
385 fStrings->AddAt(jstring,nstrings-1);
412 for (Int_t ih=1; ih<=nh; ih++)
418 if (!(dev->InheritsFrom(classname.Data())))
continue;
425 for (Int_t idx=0; idx<idxmax; idx++)
436 fStrings->AddAt(jstring,nstrings-1);
462 for (Int_t itk=1; itk<=ntk; itk++)
472 for (Int_t ih=1; ih<=nh; ih++)
478 if (!(dev->InheritsFrom(classname.Data())))
continue;
485 for (Int_t idx=0; idx<idxmax; idx++)
496 fStrings->AddAt(jstring,nstrings-1);
560 Int_t nmods=mods->GetEntries();
561 if (!nmods)
return 0;
574 for (Int_t imod=0; imod<nmods; imod++)
589 xmax=float(omx->
GetX(1,
"car"))*scale;
590 ymax=float(omx->
GetX(2,
"car"))*scale;
644 Float_t tfirst=999999;
645 Float_t tlast=-999999;
654 TObject* obj=arr->At(0);
657 if (obj->InheritsFrom(
"IceGOM"))
673 if (trigname==
"Average")
675 for (Int_t itrig=1; itrig<=tdev->
GetNhits(); itrig++)
683 tname=trig->GetName();
684 if (tname.Contains(
"GLOBAL"))
continue;
695 if (trig) ttime=trig->
GetSignal(
"trig_pulse_le");
701 for (Int_t iom=0; iom<oms->GetEntries(); iom++)
703 omx=(
IceGOM*)oms->At(iom);
705 for (Int_t ih=1; ih<=omx->
GetNhits(); ih++)
712 if (ttime<tfirst) tfirst=ttime;
713 if (ttime>tlast) tlast=ttime;
715 if (!slc && sx->
GetSignal(
"SLC")>0.5)
continue;
725 for (Int_t ih=0; ih<hits->GetEntries(); ih++)
732 if (ttime<tfirst) tfirst=ttime;
733 if (ttime>tlast) tlast=ttime;
735 if (!slc && sx->
GetSignal(
"SLC")>0.5)
continue;
745 peaks->AddAt(ttime,0);
748 Int_t ntimes=times.
GetN();
749 if (peaks && tlast>tfirst && ntimes>1)
753 nbins=int((tup-tlow)/dtbin);
754 TH1F thist(
"thist",
"hit times",nbins,tlow,tup);
755 for (Int_t it=1; it<=ntimes; it++)
764 Int_t oldlevel=gErrorIgnoreLevel;
765 gErrorIgnoreLevel=kFatal;
766 Int_t npeaks=spec.
Search(&thist,1,
"goff",0.3);
767 gErrorIgnoreLevel=oldlevel;
772 for (Int_t ip=0; ip<npeaks; ip++)
774 peaks->AddAt(specarr[ip],ip);
800 if (strlen(name)) evt->SetName(name);
Handling of IceCube event data.
Int_t GetNmodules(NcTrack &t, TString classname)
Float_t GetTriggerTime(TString trigname, TObjArray *arr=0, Int_t slc=0, TArrayF *peaks=0) const
virtual TObject * Clone(const char *name="") const
Int_t GetNstrings(TString classname)
TArrayI * fStrings
! Temp. array to hold the string ids of fired modules
Int_t GetStringMax(TString classname, Int_t *id=0, Float_t *x=0, Float_t *y=0)
Signal (Hit) handling of a generic IceCube Optical Module (GOM).
Int_t GetString(Int_t id=0) const
Double_t GetX(Int_t i, TString f, TString u="rad")
Int_t GetDeadValue(Int_t j=1) const
Signal (Hit) handling of a generic device.
NcSignal * GetHit(Int_t j) const
Int_t GetNdevices() const
NcDevice * GetDevice(Int_t i) const
TObjArray * GetDevices(TString classname, TObjArray *devices=0)
Int_t GetNtracks(Int_t idmode=0, Int_t chmode=2, Int_t pcode=0)
NcTrack * GetTrack(Int_t i) const
TObjArray * GetSignals(TString classname, Int_t par=0, TObjArray *signals=0)
Float_t GetUnitScale() const
Sampling and statistics tools for various multi-dimensional data samples.
Double_t GetMedian(Int_t i)
void SetStoreMode(Int_t mode=1, Int_t nmax=0, Int_t i=0)
Double_t GetEntry(Int_t i, Int_t j, Int_t mode=0, Int_t k=0)
Generic handling of (extrapolated) detector signals.
NcDevice * GetDevice() const
virtual Float_t GetSignal(Int_t j=1, Int_t mode=0) const
Facilities for advanced spectral analysis.
virtual Int_t Search(const TH1 *hist, Double_t sigma=2, Option_t *option="", Double_t threshold=0.05)
static void SetDeconIterations(Int_t n=3)
Float_t * GetPositionX() const
Handling of the attributes of a reconstructed particle track.
NcSignal * GetSignal(Int_t j) const
Int_t GetNsignals() const
TObjArray * GetSignals(const char *classname, Int_t par=0, TObjArray *signals=0)