307 if (rmax >= 0)
fRmaxA=rmax;
312 if (rmax >= 0)
fRmaxT=rmax;
349 if (s==
"TWRDaq")
fTwinAT=dtmax;
350 if (s==
"TDOM")
fTwinT=dtmax;
389 if (name==
"Average")
fTtimAM=-1;
395 if (name==
"Average")
fTtimAT=-1;
401 if (name==
"Average")
fTtimT=-1;
407 if (name==
"Average")
fTtimIC=-1;
413 if (name==
"Average")
fTtimDC=-1;
507 NcJob* parent=(
NcJob*)(gROOT->GetListOfTasks()->FindObject(name.Data()));
518 if (seldev->
GetSignal(
"Select") < 0.1)
return;
523 params.SetNameTitle(
"IceCleanHits",
"IceCleanHits processor parameters");
622 fEvt->AddDevice(params);
654 TObjArray* aoms=
fEvt->GetDevices(
"IceAOM");
660 for (Int_t i=0; i<aoms->GetEntries(); i++)
697 for (Int_t iom=0; iom<oms.GetEntries(); iom++)
701 omid=omx->GetUniqueID();
707 if (omid>=303) readout=2;
709 for (Int_t ih=1; ih<=omx->
GetNhits(); ih++)
753 if (clean) hits.Add(sx);
760 Int_t nhits=hits.GetEntries();
770 for (Int_t jh1=0; jh1<nhits; jh1++)
776 for (Int_t jh2=0; jh2<nhits; jh2++)
783 if (omx1==omx2)
continue;
812 TObjArray* aoms=
fEvt->GetDevices(
"IceAOM");
818 for (Int_t i=0; i<aoms->GetEntries(); i++)
855 for (Int_t iom=0; iom<oms.GetEntries(); iom++)
859 omid=omx->GetUniqueID();
865 if (omid>=303) readout=2;
867 for (Int_t ih=1; ih<=omx->
GetNhits(); ih++)
911 if (clean) hits.Add(sx);
918 Int_t nhits=hits.GetEntries();
928 for (Int_t jh1=0; jh1<nhits; jh1++)
934 for (Int_t jh2=0; jh2<nhits; jh2++)
941 if (omx1==omx2)
continue;
970 TObjArray* doms=
fEvt->GetDevices(
"IceTDOM");
976 for (Int_t i=0; i<doms->GetEntries(); i++)
980 for (Int_t ih=1; ih<=omx->
GetNhits(); ih++)
1037 TObjArray* doms=
fEvt->GetDevices(
"IceICDOM");
1043 for (Int_t i=0; i<doms->GetEntries(); i++)
1045 omx=(
IceGOM*)doms->At(i);
1047 for (Int_t ih=1; ih<=omx->
GetNhits(); ih++)
1104 TObjArray* doms=
fEvt->GetDevices(
"IceDCDOM");
1110 for (Int_t i=0; i<doms->GetEntries(); i++)
1112 omx=(
IceGOM*)doms->At(i);
1114 for (Int_t ih=1; ih<=omx->
GetNhits(); ih++)
1172 for (Int_t ih=0; ih<hits.GetEntries(); ih++)
1180 if (adc<adcmin || adc>adcmax) sx->
SetDead(
"ADC");
1183 if (tot<totmin || tot>totmax) sx->
SetDead(
"TOT");
1206 Int_t nhits=hits.GetEntries();
1207 for (Int_t jh1=0; jh1<nhits; jh1++)
1217 for (Int_t jh2=0; jh2<nhits; jh2++)
1226 if (omx1==omx2)
continue;
1231 if (dt>dtmax)
continue;
1238 if (dr>rmax)
continue;
1259 if (peaks) npeaks=peaks->GetSize();
1260 if (npeaks<1) npeaks=1;
1261 for (Int_t ih=0; ih<hits.GetEntries(); ih++)
1273 for (Int_t ipeak=0; ipeak<npeaks; ipeak++)
1275 if (peaks) ttrig=peaks->At(ipeak);
1276 if (fabs(le-fabs(ttrig))<=twin)
Signal (Hit) handling of a generic Amanda Optical Module (AOM).
TTask derived class to perform hit cleaning.
void SetAdcRange(Float_t min, Float_t max, TString s)
IceCleanHits(const char *name="IceCleanHits", const char *title="Hit cleaning")
void SetTotRange(Float_t min, Float_t max, TString s)
virtual void Exec(Option_t *opt)
void SetIsolation(Float_t rmax, Float_t dtmax, TString s)
void Amplitude(TObjArray &hits, Float_t adcmin, Float_t adcmax, Float_t totmin, Float_t totmax) const
void SetTwindow(Float_t dtmax, TString s)
void SetTtime(Float_t t, TString s, Int_t slc=0, Int_t mult=0)
void TimeWindow(TObjArray &hits, Float_t ttrig, Float_t twin, TArrayF *peaks=0) const
void Isolation(TObjArray &hits, Float_t dtmax, Float_t rmax) const
void SetTname(TString name, TString s)
Handling of IceCube event data.
Signal (Hit) handling of a generic IceCube Optical Module (GOM).
void AddNamedSlot(TString s)
Int_t GetDeadValue(Int_t j=1) const
Signal (Hit) handling of a generic device.
NcSignal * GetHit(Int_t j) const
Base class for top level job in a task based procedure.
TObject * GetObject(const char *classname) const
Handling of positions (with timestamps) in various reference frames.
void GetPosition(Double_t *r, TString f, TString u="rad", Float_t s=-1) const
Double_t GetDistance(NcPosition &p, Float_t scale=-1)
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