class HTofClusterF: public HReconstructor

_HADES_CLASS_DESCRIPTION

 HTofClusterF Tof cluster finder

 Iterates over the hit level of Tof data and finds a cluster-candidates.
 The cluster-candidate is constructed from set of hits when the following
 binary conditions are satisfied for each pair of hits consecutively
 read from HTofHit based category:

 1.) the hits are close to each other (same sector, adjacent rod)
 2.) time difference of two hits is less than value taken from HTofClusterFPar
 3.) xposition difference (in module coordinate system) of two hits is
     less than value taken from HTofClusterFPar

 Above binary conditions construct the chain of clustered hits
 from which the output information stored in the HTofCluster category
 is calculated.

 The data members inherited from HTofHit class, i.e. tof, xpos, xposAdc,
 lAmp, rAmp, xlab, ylab, zlab is calculated for the cluster here as a weighted
 mean of values appropriate to individual hits participating on cluster-candidate.
 The weight is energy deposited in the rod, i.e. edep.
 The edep of the cluster is sum of the edep's of hits.
 The flagAdc is 2 when all flagAdc flags of appropriate hits
 participating on cluster are = 2. In opposite case flagAdc = 0.

 !!! Important: Since the tof rod coordinate systems are shifted each
                other the weighted mean results concerning xpos data member
                would be wrong as it is evaluated in HTofHit relative to this
                reference system. Therefore the appropriate HTofCluster data
                member is evaluated from the position of individual hits
                relative to module reference system. The result stored in
                the HTofCluster is thus given also in module reference system.
                Therefore do not combine the xpos from HTofHit and HTofCluster
                objects without appropriate transformation.

 Additional data member is evaluated, i.e. cluster-candidate size
 (clustSize see HTofCluster)  that is defined as the number of the hits
 participating on cluster-candidate.

 "Simple" hits are also included in the output as the cluster-candidates
 with clustSize = 1.

 The probability function for the cluster-candidates of clustSize = 2 with
 tof < tLimit is calculated by using energy deposited of the cluster-candidate.
 Two probability numbers are thus provided, i.e. clustProbAll for
 cluster-candidates related to all ToF hits and clustProbLep for those
 cluster-candidates related to ToF-RICH correlated hits (leptons).
 Both the probability numbers depend on the parameters stored in
 parameter container HTofClusterFPar.


Function Members (Methods)

public:
HTofClusterF()
HTofClusterF(const Text_t* name, const Text_t* title)
virtual~HTofClusterF()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidHReconstructor::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 Bool_tHReconstructor::connectTask(HTask* task, Int_t n = 0)
virtual voidTNamed::Copy(TObject& named) 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 Int_texecute()
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 Bool_tfinalize()
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual HTask*HReconstructor::getComposite()
virtual voidHReconstructor::getConnections()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual HTask*HTask::getOwner()
TObjArrayHReconstructor::getTable()
virtual HTask*HReconstructor::getTask(const Char_t* name)
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 Bool_tinit()
voidinitParContainer(HSpectrometer*, HRuntimeDb*)
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tHReconstructor::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
virtual voidHReconstructor::isTimed(Bool_t flag = kTRUE)
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual HTask*HReconstructor::next(Int_t& errCode)
virtual Bool_tTObject::Notify()
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)
HTask&HTask::operator=(const HTask&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
virtual voidHReconstructor::printTimer()
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual Bool_tHTask::reinit()
voidTObject::ResetBit(UInt_t f)
virtual voidHReconstructor::resetTimer()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidHReconstructor::setActive(Bool_t state)MENU
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual Bool_tHTask::setConnections()
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidHTask::setManual()
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidHTask::setOwner(HTask* atask)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& 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:
Float_tcalcProb(Float_t edep, const Char_t* aset = "all")
voidcalcWeightedMean()
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidfillClusterData()
voidfillPreviousData()
voidTObject::MakeZombie()
voidreadHit()
voidwriteCluster(Int_t mode)
voidwriteProb()

Data Members

public:
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Bool_tHReconstructor::fActiveActive flag
HLocationfCLocLocation of cluster
HCategory*fClusterCatPointer to the cluster category
HTofClusterFPar*fClusterFParClusterfinder parameter container.
TList*HReconstructor::fHistogramsList of histograms generated by this reconstructor.
HCategory*fHitCatPointer to the hit category
Bool_tHTask::fIsTimedtimer flag
HLocationfLocLocation of hit
TStringTNamed::fNameobject identifier
TObjArrayHReconstructor::fOutputs
HSpecGeomPar*fSpecGeometryContainer for Spectrometer geometry.
TStopwatchHReconstructor::fTimerTask timer
TStringTNamed::fTitleobject title
HTofGeomPar*fTofGeometryContainer for TOF geometry.
HLocationfpLocLocation of previous hit
Bool_tHTask::isConnected
Bool_tHTask::isInitialised
HIterator*itercIterator through cluster category.
HIterator*iterhIterator through hit category.
Bool_tHTask::manual
HTask*HTask::owner
private:
Float_tabsTd_h
Float_tabsXd_h
HTofCluster*cluster
Float_tedep_c
Float_tedep_h
Int_tflagAdc_c
Int_tflagAdc_h
HTofHit*hit
Float_tlAmp_c
Float_tlAmp_h
Float_trAmp_c
Float_trAmp_h
Int_tsize_c
Float_ttof_c
Float_ttof_h
Float_ttof_ph
Float_txlab_c
Float_txlab_h
Float_txposModAdc_c
Float_txposModAdc_h
Float_txposMod_c
Float_txposMod_h
Float_txposMod_ph
Float_tylab_c
Float_tylab_h
Float_tzlab_c
Float_tzlab_h

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

HTofClusterF(void)
HTofClusterF(const Text_t* name, const Text_t* title)
~HTofClusterF(void)
Int_t execute(void)
void writeProb(void)
 Call the function
 Float_t HTofClusterF::calcProb(Float_t edep, Char_t* aset)
 that calculates probability to be a cluster for cluster-candidates
 of size = 2 and tof < mipLimit stored in HTofClusterFPar.
 Default probabilitites are delivered in this version for
 cluster-candidates of size = 2 that are not in MIP region.
   clustProbAll = 0.896
   clustProbLep = 0.948
 The numbers have been evaluated from the simulation.
 Probability is 1 when cluster-candidate size = 1.
 Probability is -1 when cluster-candidate size > 2.
 Probability is -1 when (cluster-candidate size = 2) & (flagAdc != 2)

Float_t calcProb(Float_t edep, const Char_t* aset = "all")
 Calculates the probability for the cluster-candidates of clustSize = 2
 with tof < mipLimit parameter of HTofClusterFPar.
 The probability is evaluated from the energy deposited in the
 cluster-candidate. Evaluation is based on idea that two hits
 caused by two MIP will deposit energy = 2 in ADC calibrated
 spectrum while in case of one incident MIP causing two hits
 the energy deposited is = 1.
 Two probability numbers are stored in the HTofCluster,
 i.e. clustProbAll (evaluated for all hits in ToF)
 and clustProbLep (evaluated for ToF-RICH correlated hits).
 Both the probability numbers depend on the parameters stored
 in HTofClusterFPar that is used here as input.

void readHit(void)
 Auxiliary function.
 It reads data from HTofHit based category.

void writeCluster(Int_t mode)
 Auxiliary function.
 It stores the date into the HTofCluster based category.

void calcWeightedMean()
 Auxiliary function.
 Calculates weighted mean.
void fillPreviousData(void)
 Auxiliary function.

void fillClusterData(void)
 Auxiliary function.

void initParContainer(HSpectrometer* , HRuntimeDb* )
 Adds to the runtime database "rtdb" the containers needed by the Cluster Finder
spec is used to get information of the spectrometer setup.
Bool_t init(void)
Bool_t finalize(void)
{return kTRUE;}

Last change: Sat May 22 13:15:54 2010
Last generated: 2010-05-22 13:15

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.