ROOT logo
AliRoot » TRD » AliTRDclusterizer

class AliTRDclusterizer: public TNamed


TRD cluster finder


Function Members (Methods)

public:
AliTRDclusterizer(const AliTRDReconstructor *const rec = 0x0)
AliTRDclusterizer(const AliTRDclusterizer& c)
AliTRDclusterizer(const Text_t* name, const Text_t* title, const AliTRDReconstructor *const rec = 0x0)
virtual~AliTRDclusterizer()
voidTObject::AbstractMethod(const char* method) const
Bool_tAddLabels()
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidCopy(TObject& c) const
virtual voidTObject::Delete(Option_t* option = "")MENU
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 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 voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Int_tGetAddedClusters() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TNamed::GetName() const
Int_tGetNTimeBins() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
static UChar_tGetStatus(Short_t& signal)
virtual const char*TNamed::GetTitle() const
UInt_tGetTriggerFlags(const Int_t sector) 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_tIsClustersOwner() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
Bool_tMakeClusters()
Bool_tMakeClusters(Int_t det)
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
Bool_tOpen(const Char_t* name, Int_t nEvent = 0)
Bool_tOpenInput(Int_t nEvent = 0)
Bool_tOpenOutput()
Bool_tOpenOutput(TTree *const clusterTree)
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)
AliTRDclusterizer&operator=(const AliTRDclusterizer& c)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
Bool_tRaw2Clusters(AliRawReader* rawReader)
Bool_tRaw2ClustersChamber(AliRawReader* rawReader)
virtual Int_tTObject::Read(const char* name)
Bool_tReadDigits()
Bool_tReadDigits(AliRawReader* rawReader)
Bool_tReadDigits(TTree* digitsTree)
Bool_tReadTracklets()
Bool_tReadTracks()
virtual TClonesArray*RecPoints()
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
voidResetRecPoints()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidSetClustersOwner(Bool_t own = kTRUE)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetRawVersion(const Int_t iver)
voidSetReconstructor(const AliTRDReconstructor* rec)
voidSetSkipTransform(Bool_t b = kTRUE)
voidSetStoreRawSignals(Bool_t b = kTRUE)
virtual voidTNamed::SetTitle(const char* title = "")MENU
voidSetTrackletsOwner(Bool_t own = kTRUE)
voidSetTracksOwner(Bool_t own = kTRUE)
virtual voidTObject::SetUniqueID(UInt_t uid)
Bool_tSetUseLabels(const Bool_t kset)
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 TClonesArray*TrackletsArray(const TString& trkltype = "")
virtual TClonesArray*TracksArray()
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
Bool_tWriteClusters(Int_t det)
protected:
virtual voidAddClusterToArray(AliTRDcluster* cluster)
voidApplyTCTM(Short_t *const arr, const Int_t nTime, const Int_t nexp)
voidConvExp(Short_t *const arr, const Int_t nTime)
voidCreateCluster(const AliTRDclusterizer::MaxStruct& Max)
voidDeConvExp(Short_t *const arr, const Int_t nTime, const Int_t nexp)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Bool_tFivePadCluster(AliTRDclusterizer::MaxStruct& ThisMax, AliTRDclusterizer::MaxStruct& NeighbourMax)
Int_tGetCorruption(UChar_t encoding) const
UChar_tGetPadStatus(UChar_t encoding) const
Bool_tIsMaximum(const AliTRDclusterizer::MaxStruct& Max, UChar_t& padStatus, Float_t *const Signals)
voidTObject::MakeZombie()
voidSetPadStatus(const UChar_t status, UChar_t& encoding) const
voidTailCancelation(const AliTRDrecoParam *const recoParam)
Float_tUnfold(Double_t eps, Int_t layer, const Double_t *const padSignal) const
private:
voidCalcAdditionalInfo(const AliTRDclusterizer::MaxStruct& Max, Short_t *const signals, Int_t& nPadCount)

Data Members

public:
enum { kTrOwner
kClOwner
kLabels
kSkipTrafo
kLUT
kGAUS
knewDM
kTracksOwner
kRawSignal
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Int_tfBaselineBaseline of the ADC values
Float_tfCalGainFactorDetValueCalibration value for chamber wise noise
AliTRDCalROC*fCalGainFactorROCCalibration object with pad wise values for the gain factors
Float_tfCalNoiseDetValueCalibration value for chamber wise noise
AliTRDCalROC*fCalNoiseROCCalibration object with pad wise values for the noise
AliTRDCalOnlineGainTableROC*fCalOnlGainROCCalibration table of online gain factors
AliTRDCalSingleChamberStatus*fCalPadStatusROCCalibration object with the pad status
Int_tfClusterROCThe index to the first cluster of a given ROC
TTree*fClusterTree! Tree with the cluster
Int_tfColMaxNumber of Colums in one detector
Int_tfDetCurrent detecor
AliTRDarrayADC*fDigitsArray holding the digits
AliTRDdigitsManager*fDigitsManager! TRD digits manager
AliTRDarrayADC*fDigitsRawArray holding the raw digits if requested
AliTRDSignalIndex*fIndexesArray holding the indexes to the digits
Int_tfLayerCurrent layer of the detector
Float_tfMaxThreshThreshold value for the maximum
Float_tfMaxThreshTestThreshold value for the maximum to test agains
Float_tfMinLeftRightCutSigmaThreshold value for the sum pad (cut noise)
Float_tfMinMaxCutSigmaThreshold value for the maximum (cut noise)
TStringTNamed::fNameobject identifier
Int_tfNoOfClustersNumber of Clusters already processed and still owned by the clusterizer
AliTRDrawStream*fRawStreamRaw data streamer
Int_tfRawVersionExpected raw version of the data - default is 2
TClonesArray*fRecPoints! Array of clusters
const AliTRDReconstructor*fReconstructor! reconstructor
AliRunLoader*fRunLoader! Run Loader
Float_tfSigThreshThreshold value for the digit signal
Int_tfTimeTotalNumber of time bins
TStringTNamed::fTitleobject title
TClonesArray*fTracklets! Array of online tracklets
TClonesArray*fTracks! Array of GTU tracks
AliTRDtransform*fTransform! Transforms the reconstructed space points
UInt_tfTrgFlags[18]trigger flags
UShort_tfVolidVolume ID
Int_tfirstClusterROCThe number of cluster in a given ROC

Class Charts

Inheritance Chart:
TNamed
AliTRDclusterizer

Function documentation

AliTRDclusterizer(const AliTRDReconstructor *const rec = 0x0)
 AliTRDclusterizer default constructor

AliTRDclusterizer(const Text_t* name, const Text_t* title, const AliTRDReconstructor *const rec = 0x0)
 AliTRDclusterizer constructor

AliTRDclusterizer(const AliTRDclusterizer& c)
 AliTRDclusterizer copy constructor

~AliTRDclusterizer()
 AliTRDclusterizer destructor

AliTRDclusterizer & operator=(const AliTRDclusterizer& c)
 Assignment operator

void Copy(TObject& c) const
 Copy function

Bool_t Open(const Char_t* name, Int_t nEvent = 0)
 Opens the AliROOT file. Output and input are in the same file

Bool_t OpenOutput()
 Open the output file

Bool_t OpenOutput(TTree *const clusterTree)
 Connect the output tree

Bool_t OpenInput(Int_t nEvent = 0)
 Opens a ROOT-file with TRD-hits and reads in the digits-tree

Bool_t WriteClusters(Int_t det)
 Fills TRDcluster branch in the tree with the clusters
 found in detector = det. For det=-1 writes the tree.

Bool_t ReadDigits()
 Reads the digits arrays from the input aliroot file

Bool_t ReadDigits(TTree* digitsTree)
 Reads the digits arrays from the input tree

Bool_t ReadDigits(AliRawReader* rawReader)
 Reads the digits arrays from the ddl file

Bool_t ReadTracklets()
 Reads simulated tracklets from the input aliroot file

Bool_t ReadTracks()
 Reads simulated GTU tracks from the input aliroot file

Bool_t MakeClusters()
 Creates clusters from digits

Bool_t Raw2Clusters(AliRawReader* rawReader)
 Creates clusters from raw data

Bool_t Raw2ClustersChamber(AliRawReader* rawReader)
 Creates clusters from raw data

UChar_t GetStatus(Short_t& signal)
 Check if a pad is masked

void SetPadStatus(const UChar_t status, UChar_t& encoding) const
 Set the pad status into out
 First three bits are needed for the position encoding

UChar_t GetPadStatus(UChar_t encoding) const
 return the staus encoding of the corrupted pad

Int_t GetCorruption(UChar_t encoding) const
 Return the position of the corruption

Bool_t MakeClusters(Int_t det)
 Generates the cluster.

Bool_t IsMaximum(const AliTRDclusterizer::MaxStruct& Max, UChar_t& padStatus, Float_t *const Signals)
 Returns true if this row,col,time combination is a maximum.
 Gives back the padStatus and the signals of the center pad and the two neighbouring pads.

Bool_t FivePadCluster(AliTRDclusterizer::MaxStruct& ThisMax, AliTRDclusterizer::MaxStruct& NeighbourMax)
 Look for 5 pad cluster with minimum in the middle
 Gives back the ratio

void CreateCluster(const AliTRDclusterizer::MaxStruct& Max)
 Creates a cluster at the given position and saves it in RecPoints

void CalcAdditionalInfo(const AliTRDclusterizer::MaxStruct& Max, Short_t *const signals, Int_t& nPadCount)
 Calculate number of pads/cluster and
 ADC signals at position 0, 1, 5 and 6
void AddClusterToArray(AliTRDcluster* cluster)
 Add a cluster to the array

Bool_t AddLabels()
 Add the track indices to the found clusters

Float_t Unfold(Double_t eps, Int_t layer, const Double_t *const padSignal) const
 Method to unfold neighbouring maxima.
 The charge ratio on the overlapping pad is calculated
 until there is no more change within the range given by eps.
 The resulting ratio is then returned to the calling method.

void TailCancelation(const AliTRDrecoParam *const recoParam)
 Applies the tail cancelation

void ApplyTCTM(Short_t *const arr, const Int_t nTime, const Int_t nexp)
 Steer tail cancellation

void ConvExp(Short_t *const arr, const Int_t nTime)
 Tail maker

void DeConvExp(Short_t *const arr, const Int_t nTime, const Int_t nexp)
 Tail cancellation by deconvolution for PASA v4 TRF

TClonesArray * RecPoints()
 Returns the list of rec points

TClonesArray * TrackletsArray(const TString& trkltype = "")
 Returns the array of on-line tracklets

TClonesArray* TracksArray()
 return array of GTU tracks (create TClonesArray if necessary)
void ResetRecPoints()
Bool_t SetUseLabels(const Bool_t kset)
{ SetBit(kLabels, kset); return TestBit(kLabels); }
void SetRawVersion(const Int_t iver)
{ fRawVersion = iver; }
void SetReconstructor(const AliTRDReconstructor* rec)
Int_t GetAddedClusters() const
{return fNoOfClusters;}
Int_t GetNTimeBins() const
{return fTimeTotal;}
Bool_t IsClustersOwner() const
{return TestBit(kClOwner);}
void SetClustersOwner(Bool_t own = kTRUE)
void SetTrackletsOwner(Bool_t own = kTRUE)
void SetTracksOwner(Bool_t own = kTRUE)
void SetSkipTransform(Bool_t b = kTRUE)
void SetStoreRawSignals(Bool_t b = kTRUE)
UInt_t GetTriggerFlags(const Int_t sector) const
{ return fTrgFlags[sector]; }