investigation of various trigger time settings.
Protection introduced in IceDwalk for the case that no track candidates
are left.
Also protection introduced in IceXtalk for the case that no OM database
was specified.
// with the DAQ system.
// So, currently the 24170 ns will be used for all the 2005 data until
// the issue is settled.
// with the DAQ system.
// So, currently the 24170 ns will be used for all the 2005 data until
// the issue is settled.
+// However, the user can impose a specific trigger time to be used
+// by invokation of the memberfunction SetTtimeA.
+// Specification of a negative trigger time will result in the automatic
+// trigger time setting based on the event timestamp as outlined above.
+// The latter is the default.
//
// The hits which do not fullfill the criteria are flagged "dead" for the
// corresponding signal slot. This means they are still present in the
//
// The hits which do not fullfill the criteria are flagged "dead" for the
// corresponding signal slot. This means they are still present in the
fRmaxA=70;
fDtmaxA=500;
fTwinA=2250;
fRmaxA=70;
fDtmaxA=500;
fTwinA=2250;
}
///////////////////////////////////////////////////////////////////////////
IceCleanHits::~IceCleanHits()
}
///////////////////////////////////////////////////////////////////////////
IceCleanHits::~IceCleanHits()
fTwinA=dtmax;
}
///////////////////////////////////////////////////////////////////////////
fTwinA=dtmax;
}
///////////////////////////////////////////////////////////////////////////
+void IceCleanHits::SetTtimeA(Float_t t)
+{
+// Set Amanda trigger time (in ns).
+// A negative value will induce automatic trigger time setting based
+// on the event timestamp.
+ fTtimA=t;
+}
+///////////////////////////////////////////////////////////////////////////
void IceCleanHits::Exec(Option_t* opt)
{
// Implementation of the hit cleaning procedures.
void IceCleanHits::Exec(Option_t* opt)
{
// Implementation of the hit cleaning procedures.
// It seems that in 2005 the trigger time was changed within the year
// from 24170 ns to 12138 ns. The latter however shows a 2-bump structure,
// so currently the 24170 ns will be used for the 2005 data.
// It seems that in 2005 the trigger time was changed within the year
// from 24170 ns to 12138 ns. The latter however shows a 2-bump structure,
// so currently the 24170 ns will be used for the 2005 data.
- Int_t year=(int)fEvt->GetJE();
- Float_t ttrig=23958;
- if (year==2003) ttrig=23994;
- if (year==2004) ttrig=24059.5;
- if (year==2005) ttrig=24170;
+ if (fTtimA<0)
+ {
+ Int_t year=(int)fEvt->GetJE();
+ fTtimA=23958;
+ if (year==2003) fTtimA=23994;
+ if (year==2004) fTtimA=24059.5;
+ if (year==2005) fTtimA=24170;
+ }
// All Amanda OMs with a signal
TObjArray* aoms=fEvt->GetDevices("IceAOM");
// All Amanda OMs with a signal
TObjArray* aoms=fEvt->GetDevices("IceAOM");
// (to include cable length effects) the uncalibrated LE of each
// hit should be used here as well.
le=sx->GetSignal("LE",-7);
// (to include cable length effects) the uncalibrated LE of each
// hit should be used here as well.
le=sx->GetSignal("LE",-7);
- if (fabs(le-ttrig)>fTwinA)
+ if (fabs(le-fTtimA)>fTwinA)
{
sx->SetDead("LE");
clean=0;
{
sx->SetDead("LE");
clean=0;
void SetTotRangeAO(Float_t min,Float_t max=2000); // Set Amanda optical TOT range (in ns)
void SetIsolationA(Float_t rmax,Float_t dtmax); // Set Amanda isolation radius (in m) and dt (in ns)
void SetTwindowA(Float_t dtmax); // Set Amanda maximal trigger window (in ns)
void SetTotRangeAO(Float_t min,Float_t max=2000); // Set Amanda optical TOT range (in ns)
void SetIsolationA(Float_t rmax,Float_t dtmax); // Set Amanda isolation radius (in m) and dt (in ns)
void SetTwindowA(Float_t dtmax); // Set Amanda maximal trigger window (in ns)
+ void SetTtimeA(Float_t t); // Set Amanda trigger time (in ns)
protected :
IceEvent* fEvt; // Pointer to the current event structure
protected :
IceEvent* fEvt; // Pointer to the current event structure
Float_t fRmaxA; // Maximum Amanda isolation radius in m
Float_t fDtmaxA; // Maximum Amanda isolation dt in ns
Float_t fTwinA; // Maximum Amanda hit time difference from the trigger time
Float_t fRmaxA; // Maximum Amanda isolation radius in m
Float_t fDtmaxA; // Maximum Amanda isolation dt in ns
Float_t fTwinA; // Maximum Amanda hit time difference from the trigger time
+ Float_t fTtimA; // The Amanda trigger time in ns
void Amanda(); // Cleaning of Amanda modules
void InIce(); // Cleaning of IceCube InIce DOMs
void IceTop(); // Cleaning of IceTop DOMs
void Amanda(); // Cleaning of Amanda modules
void InIce(); // Cleaning of IceCube InIce DOMs
void IceTop(); // Cleaning of IceTop DOMs
- ClassDef(IceCleanHits,1) // TTask derived class to perform hit cleaning
+ ClassDef(IceCleanHits,2) // TTask derived class to perform hit cleaning
tes.Compress();
nte=tes.GetEntries();
tes.Compress();
nte=tes.GetEntries();
+ // Exit in case no track candidates are left
+ if (!nte)
+ {
+ if (ntes) delete [] ntes;
+ return;
+ }
+
// Cluster track candidates within a certain opening angle into jets.
TObjArray jets;
jets.SetOwner();
// Cluster track candidates within a certain opening angle into jets.
TObjArray jets;
jets.SetOwner();
+ if (ntes) delete [] ntes;
}
///////////////////////////////////////////////////////////////////////////
}
///////////////////////////////////////////////////////////////////////////
// signals and can as such easily be skipped/removed afterwards.
//
// Note : This processor only works properly on Time and ADC calibrated data.
// signals and can as such easily be skipped/removed afterwards.
//
// Note : This processor only works properly on Time and ADC calibrated data.
+// In case no OM database has been specified for this processor,
+// no cross talk hit correction will be performed.
//
//--- Author: Nick van Eijndhoven 11-aug-2005 Utrecht University
//- Modified: NvE $Date$ Utrecht University
//
//--- Author: Nick van Eijndhoven 11-aug-2005 Utrecht University
//- Modified: NvE $Date$ Utrecht University
{
// Implementation of cross talk hit correction.
{
// Implementation of cross talk hit correction.
TString name=opt;
AliJob* parent=(AliJob*)(gROOT->GetListOfTasks()->FindObject(name.Data()));
TString name=opt;
AliJob* parent=(AliJob*)(gROOT->GetListOfTasks()->FindObject(name.Data()));
Also first (prototype) version of class IceDwalk introduced to perform
direct walk reconstruction. In the /macros directory an example job
icedwalk.cc has been introduced.
Also first (prototype) version of class IceDwalk introduced to perform
direct walk reconstruction. In the /macros directory an example job
icedwalk.cc has been introduced.
+03-nov-2005 NvE User selectable trigger time setting introduced in IceCleanhits to allow
+ investigation of various trigger time settings.
+ Protection introduced in IceDwalk for the case that no track candidates
+ are left.
+ Also protection introduced in IceXtalk for the case that no OM database
+ was specified.