ROOT logo
AliRoot » TOF » AliTOFClusterFinderV1

class AliTOFClusterFinderV1: public TTask


Class for TOF cluster finder (V1)

Input data: Raw Data or Digits;
Output data: Digits or Rec Points


Function Members (Methods)

public:
AliTOFClusterFinderV1(AliTOFcalib* calib)
AliTOFClusterFinderV1(const AliTOFClusterFinderV1& source)
AliTOFClusterFinderV1(AliRunLoader* runLoader, AliTOFcalib* calib)
virtual~AliTOFClusterFinderV1()
virtual voidTTask::Abort()MENU
voidTObject::AbstractMethod(const char* method) const
virtual voidTTask::Add(TTask* task)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTTask::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTTask::CleanTasks()
virtual voidTTask::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTTask::Continue()MENU
virtual voidTNamed::Copy(TObject& named) const
virtual voidTObject::Delete(Option_t* option = "")MENU
voidDigits2RecPoints(Int_t iEvent)
voidDigits2RecPoints(TTree* digitsTree, TTree* clusterTree)
voidDigits2RecPoints(AliRawReader* rawReader, TTree* clustersTree)
voidDigits2RecPoints(Int_t ievt, AliRawReader* rawReader)
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTTask::Exec(Option_t* option)
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTTask::ExecuteTask(Option_t* option = "0")MENU
virtual voidTTask::ExecuteTasks(Option_t* option)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
voidFillRecPoint()
voidFindClusters23(Int_t nSector, Int_t nPlate, Int_t nStrip)
voidFindClusters24(Int_t nSector, Int_t nPlate, Int_t nStrip)
voidFindClusters34(Int_t nSector, Int_t nPlate, Int_t nStrip)
voidFindClustersPerStrip(Int_t nSector, Int_t nPlate, Int_t nStrip, Int_t group)
voidFindClustersWithoutTOT(Int_t nSector, Int_t nPlate, Int_t nStrip)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
voidFindOnePadClusterPerStrip(Int_t nSector, Int_t nPlate, Int_t nStrip)
Int_tTTask::GetBreakin() const
Int_tTTask::GetBreakout() const
Bool_tGetCalibrateFlag() const
voidGetClusterPars(Int_t* ind, Double_t* pos, Double_t* cov) const
voidGetClusterPars(Int_t counter, Int_t** ind, Double_t* weight, Double_t* pos, Double_t* cov) const
Bool_tGetDecoderVersion() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
TList*TTask::GetListOfTasks() const
Int_tGetMaxDeltaTime() const
virtual const char*TNamed::GetName() const
Int_tGetNumberOfTOFclusters() const
Int_tGetNumberOfTOFtrgPads() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tTTask::IsActive() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTTask::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTTask::ls(Option_t* option = "*") constMENU
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
AliTOFClusterFinderV1&operator=(const AliTOFClusterFinderV1& source)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
voidRaw2Digits(AliRawReader* rawReader, TTree* digitsTree)
voidRaw2Digits(Int_t ievt, AliRawReader* rawReader)
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
voidResetDigits()
voidResetRecpoint()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTTask::SetActive(Bool_t active = kTRUE)TOGGLE
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidTTask::SetBreakin(Int_t breakin = 1)TOGGLE
voidTTask::SetBreakout(Int_t breakout = 1)TOGGLE
voidSetCalibrateFlag(Bool_t dummy)
voidSetDecoderVersion(Int_t version)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetMaxDeltaTime(Int_t a)
voidSetMaxDeltaTime(Float_t a)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetVerbose(Int_t Verbose)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
private:
voidAverageCalculations(Int_t number, Float_t* interestingX, Float_t* interestingY, Float_t* interestingZ, Double_t* interestingTOF, Double_t* interestingTOT, Double_t* interestingADC, Double_t* interestingWeight, Int_t* parTOF, Double_t* posClus, Bool_t& check)
Int_tFindClusterIndex(Double_t z) const
Int_tInsertCluster(AliTOFcluster* tofCluster)
Bool_tMakeSlewingCorrection(Int_t* detectorIndex, Int_t tofDigitToT, Int_t tofDigitTdc, Int_t& tdcCorr)
voidTOFclusterError(Int_t counter, Int_t** ind, Double_t* weight, Double_t* ppos, Double_t* cov) const

Data Members

public:
enum { kTofMaxCluster
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Bool_tTTask::fActivetrue if task is active
Int_tTTask::fBreakin=1 if a break point set at task extry
Int_tTTask::fBreakout=1 if a break point set at task exit
TClonesArray*fDigitsList of digits
Bool_tTTask::fHasExecutedTrue if task has executed
TStringTNamed::fNameobject identifier
Int_tfNumberOfTofClustersNumber of TOF Clusters
Int_tfNumberOfTofDigitsNumber of TOF Digits
Int_tfNumberOfTofTrgPadsNumber of TOF trigger pads
TStringTTask::fOptionOption specified in ExecuteTask
TClonesArray*fRecPointsList of reconstructed points
AliRunLoader*fRunLoaderPointer to Run Loader
TList*TTask::fTasksList of Tasks
TStringTNamed::fTitleobject title
AliTOFcluster*fTofClusters[77777]pointers to the TOF clusters
static TTask*TTask::fgBeginTaskpointer to task initiator
static TTask*TTask::fgBreakPointpointer to current break point
private:
Bool_tfCalibrateTOFtimesused for check
Bool_tfDecoderVersionsetting whether to use the new decoder version
Int_tfMaxDeltaTimemax time difference in between two tof
AliTOFGeometry*fTOFGeometrypointer to the TOF geometry
AliTOFRawStreamfTOFRawStreamAliTOFRawStream variable
AliTOFcalib*fTOFcalibpointer to the TOF calibration info
AliTOFDigitMap*fTOFdigitMapTOF digit map pointer
TTree*fTOFdigitspointer to the TOF digit tree
Int_tfVerboseVerbose level (0:no msg, 1:msg, 2:digits in txt files)
const AliTOFRecoParam*fkRecoParampointer to TOF reconstruction parameters

Class Charts

Inheritance Chart:
TTask
AliTOFClusterFinderV1

Function documentation

AliTOFClusterFinderV1(AliTOFcalib* calib)
 Constructor

AliTOFClusterFinderV1(AliRunLoader* runLoader, AliTOFcalib* calib)
 Constructor

AliTOFClusterFinderV1(const AliTOFClusterFinderV1& source)
 copy constructor
AliTOFClusterFinderV1& operator=(const AliTOFClusterFinderV1& source)
 ass. op.
~AliTOFClusterFinderV1()
void Digits2RecPoints(TTree* digitsTree, TTree* clusterTree)
 Converts digits to recPoints for TOF

void Digits2RecPoints(AliRawReader* rawReader, TTree* clustersTree)
 Converts raw data to recPoints for TOF

void Raw2Digits(AliRawReader* rawReader, TTree* digitsTree)
 Converts raw data to digits for TOF

void FillRecPoint()
 Fill the global TClonesArray of AliTOFcluster objects,
 i.e. fRecPoints

void FindOnePadClusterPerStrip(Int_t nSector, Int_t nPlate, Int_t nStrip)
 This function searches the isolated digits (stored in the fDigits object),
 to perform clusters (stored in the fTofClusters array).
 This research has been made by checking the fTOFdigitMap object,
 filled at digits/raw-data reading time.

void FindClustersWithoutTOT(Int_t nSector, Int_t nPlate, Int_t nStrip)
 This function searches the isolated digits without TOT
 measurement (stored in the fDigits object), to perform clusters
 (stored in the fTofClusters array). This research has been made
 by checking the fTOFdigitMap object, filled at digits/raw-data
 reading time.

void FindClusters34(Int_t nSector, Int_t nPlate, Int_t nStrip)
 This function searches the neighbouring digits (stored in the fDigits object),
 to perform clusters (stored in the fTofClusters array).

 This research has been made by checking the fTOFdigitMap object,
 filled at digits/raw-data reading time.

void FindClusters23(Int_t nSector, Int_t nPlate, Int_t nStrip)
 This function searches the neighbouring digits (stored in the fDigits object),
 to perform clusters (stored in the fTofClusters array).

 This research has been made by checking the fTOFdigitMap object,
 filled at digits/raw-data reading time.

void FindClusters24(Int_t nSector, Int_t nPlate, Int_t nStrip)
 This function searches the neighbouring digits (stored in the fDigits object),
 to perform clusters (stored in the fTofClusters array).

 This research has been made by checking the fTOFdigitMap object,
 filled at digits/raw-data reading time.

void FindClustersPerStrip(Int_t nSector, Int_t nPlate, Int_t nStrip, Int_t group)
 This function searches the neighbouring digits (stored in the fDigits object),
 to perform clusters (stored in the fTofClusters array).

 Each strip is read four times:
  - 1st time: it searches possible clusters formed by four
              neighbouring digits;
  - 2nd time: it searches possible clusters formed by three
              neighbouring digits;
  - 3rd time: it searches possible clusters formed by two
              neighbouring digits;
  - 4th time: the remaining isolated digits have been transformed
              in clusters.
 This research has been made by checking the fTOFdigitMap object,
 filled at digits/raw-data reading time.

Int_t InsertCluster(AliTOFcluster* tofCluster)
 This function adds a TOF cluster to the array of TOF clusters
 sorted in Z, i.e. fTofClusters

Int_t FindClusterIndex(Double_t z) const
 This function returns the index of the nearest cluster in z

void ResetRecpoint()
 Clear the list of reconstructed points

void ResetDigits()
 Clear the list of digits

void GetClusterPars(Int_t* ind, Double_t* pos, Double_t* cov) const
 Starting from the volume indices (ind[5]), for a cluster coming from
 a isolated digits, this function returns:
   the cluster position (pos),
   the cluster covariance matrix elements (cov)

void GetClusterPars(/*Bool_t check,*/ Int_t counter, Int_t **ind, Double_t *weight, Double_t *pos, Double_t *cov)
 Starting from:
               the volumes indices (ind[counter][5]), for a
                  cluster coming from a collection of 'counter'
                  digits,
               the volumes weights (weight[counter]), -controlled
                  by the 'check' variable control-, for a cluster
                  coming from a collection of 'counter' digits,
               the cluster position (pos),
 this function returns:
   the covariance matrix elements (cov) for the found cluster

void TOFclusterError(/*Bool_t check,*/ Int_t counter, Int_t **ind, Double_t *weight, Double_t ppos[], Double_t lcov[])


Bool_t MakeSlewingCorrection(Int_t* detectorIndex, Int_t tofDigitToT, Int_t tofDigitTdc, Int_t& tdcCorr)
 This funtion makes the following:

      - if at least one of the three status (Pulser/Noise/HW) is
        bad, is sets the status of electronic channel, corresponding to the
        volume identified by detectorIndex, as kFALSE;
      - if offline calibration is in the valid status, it performs the
        slewing correction. In particular, by taking into account:
          * the measured tot and tof values (tofDigitToT and tofDigitTdc,
            respectively);
          * the six parameters of 5th order polynomial used
            to fit the tofVStot scatter plot,
         it returns the corrected tof value, i.e. tdcCorr value.

void Digits2RecPoints(Int_t iEvent)
 Converts digits to recpoints for TOF

void Digits2RecPoints(Int_t ievt, AliRawReader* rawReader)
 Converts RAW data to recpoints for TOF

void Raw2Digits(Int_t ievt, AliRawReader* rawReader)
 Converts RAW data to MC digits for TOF

void AverageCalculations(Int_t number, Float_t* interestingX, Float_t* interestingY, Float_t* interestingZ, Double_t* interestingTOF, Double_t* interestingTOT, Double_t* interestingADC, Double_t* interestingWeight, Int_t* parTOF, Double_t* posClus, Bool_t& check)
 Calculates the mean values for cluster position (x,y,z),
  TOF charge and time

void SetVerbose(Int_t Verbose)
{fVerbose=Verbose;}
void SetDecoderVersion(Int_t version)
{fDecoderVersion=version;}
Bool_t GetDecoderVersion() const
UShort_t GetClusterVolIndex(Int_t *ind) const; //Volume Id getter
{return fDecoderVersion;}
void SetMaxDeltaTime(Int_t a)
void SetMaxDeltaTime(Float_t a)
Int_t GetMaxDeltaTime() const
{return fMaxDeltaTime;}
Int_t GetNumberOfTOFclusters() const
Int_t GetNumberOfTOFtrgPads() const
void SetCalibrateFlag(Bool_t dummy)
Bool_t GetCalibrateFlag() const