_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.
HTofClusterF() | |
HTofClusterF(const Text_t* name, const Text_t* title) | |
virtual | ~HTofClusterF() |
void | TObject::AbstractMethod(const char* method) const |
virtual void | TObject::AppendPad(Option_t* option = "") |
virtual void | HReconstructor::Browse(TBrowser* b) |
static TClass* | Class() |
virtual const char* | TObject::ClassName() const |
virtual void | TNamed::Clear(Option_t* option = "") |
virtual TObject* | TNamed::Clone(const char* newname = "") const |
virtual Int_t | TNamed::Compare(const TObject* obj) const |
virtual Bool_t | HReconstructor::connectTask(HTask* task, Int_t n = 0) |
virtual void | TNamed::Copy(TObject& named) const |
virtual void | TObject::Delete(Option_t* option = "")MENU |
virtual Int_t | TObject::DistancetoPrimitive(Int_t px, Int_t py) |
virtual void | TObject::Draw(Option_t* option = "") |
virtual void | TObject::DrawClass() constMENU |
virtual TObject* | TObject::DrawClone(Option_t* option = "") constMENU |
virtual void | TObject::Dump() constMENU |
virtual void | TObject::Error(const char* method, const char* msgfmt) const |
virtual Int_t | execute() |
virtual void | TObject::Execute(const char* method, const char* params, Int_t* error = 0) |
virtual void | TObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0) |
virtual void | TObject::ExecuteEvent(Int_t event, Int_t px, Int_t py) |
virtual void | TObject::Fatal(const char* method, const char* msgfmt) const |
virtual void | TNamed::FillBuffer(char*& buffer) |
virtual Bool_t | finalize() |
virtual TObject* | TObject::FindObject(const char* name) const |
virtual TObject* | TObject::FindObject(const TObject* obj) const |
virtual HTask* | HReconstructor::getComposite() |
virtual void | HReconstructor::getConnections() |
virtual Option_t* | TObject::GetDrawOption() const |
static Long_t | TObject::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_t | TObject::GetObjectStat() |
virtual Option_t* | TObject::GetOption() const |
virtual HTask* | HTask::getOwner() |
TObjArray | HReconstructor::getTable() |
virtual HTask* | HReconstructor::getTask(const Char_t* name) |
virtual const char* | TNamed::GetTitle() const |
virtual UInt_t | TObject::GetUniqueID() const |
virtual Bool_t | TObject::HandleTimer(TTimer* timer) |
virtual ULong_t | TNamed::Hash() const |
virtual void | TObject::Info(const char* method, const char* msgfmt) const |
virtual Bool_t | TObject::InheritsFrom(const char* classname) const |
virtual Bool_t | TObject::InheritsFrom(const TClass* cl) const |
virtual Bool_t | init() |
void | initParContainer(HSpectrometer*, HRuntimeDb*) |
virtual void | TObject::Inspect() constMENU |
void | TObject::InvertBit(UInt_t f) |
virtual TClass* | IsA() const |
virtual Bool_t | TObject::IsEqual(const TObject* obj) const |
virtual Bool_t | HReconstructor::IsFolder() const |
Bool_t | TObject::IsOnHeap() const |
virtual Bool_t | TNamed::IsSortable() const |
virtual void | HReconstructor::isTimed(Bool_t flag = kTRUE) |
Bool_t | TObject::IsZombie() const |
virtual void | TNamed::ls(Option_t* option = "") const |
void | TObject::MayNotUse(const char* method) const |
virtual HTask* | HReconstructor::next(Int_t& errCode) |
virtual Bool_t | TObject::Notify() |
static void | TObject::operator delete(void* ptr) |
static void | TObject::operator delete(void* ptr, void* vp) |
static void | TObject::operator delete[](void* ptr) |
static void | TObject::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 void | TObject::Paint(Option_t* option = "") |
virtual void | TObject::Pop() |
virtual void | TNamed::Print(Option_t* option = "") const |
virtual void | HReconstructor::printTimer() |
virtual Int_t | TObject::Read(const char* name) |
virtual void | TObject::RecursiveRemove(TObject* obj) |
virtual Bool_t | HTask::reinit() |
void | TObject::ResetBit(UInt_t f) |
virtual void | HReconstructor::resetTimer() |
virtual void | TObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU |
virtual void | TObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "") |
void | HReconstructor::setActive(Bool_t state)MENU |
void | TObject::SetBit(UInt_t f) |
void | TObject::SetBit(UInt_t f, Bool_t set) |
virtual Bool_t | HTask::setConnections() |
virtual void | TObject::SetDrawOption(Option_t* option = "")MENU |
static void | TObject::SetDtorOnly(void* obj) |
void | HTask::setManual() |
virtual void | TNamed::SetName(const char* name)MENU |
virtual void | TNamed::SetNameTitle(const char* name, const char* title) |
static void | TObject::SetObjectStat(Bool_t stat) |
virtual void | HTask::setOwner(HTask* atask) |
virtual void | TNamed::SetTitle(const char* title = "")MENU |
virtual void | TObject::SetUniqueID(UInt_t uid) |
virtual void | ShowMembers(TMemberInspector& insp, char* parent) |
virtual Int_t | TNamed::Sizeof() const |
virtual void | Streamer(TBuffer& b) |
void | StreamerNVirtual(TBuffer& b) |
virtual void | TObject::SysError(const char* method, const char* msgfmt) const |
Bool_t | TObject::TestBit(UInt_t f) const |
Int_t | TObject::TestBits(UInt_t f) const |
virtual void | TObject::UseCurrentStyle() |
virtual void | TObject::Warning(const char* method, const char* msgfmt) const |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const |
Float_t | calcProb(Float_t edep, const Char_t* aset = "all") |
void | calcWeightedMean() |
virtual void | TObject::DoError(int level, const char* location, const char* fmt, va_list va) const |
void | fillClusterData() |
void | fillPreviousData() |
void | TObject::MakeZombie() |
void | readHit() |
void | writeCluster(Int_t mode) |
void | writeProb() |
enum TObject::EStatusBits { | kCanDelete | |
kMustCleanup | ||
kObjInCanvas | ||
kIsReferenced | ||
kHasUUID | ||
kCannotPick | ||
kNoContextMenu | ||
kInvalidObject | ||
}; | ||
enum TObject::[unnamed] { | kIsOnHeap | |
kNotDeleted | ||
kZombie | ||
kBitMask | ||
kSingleKey | ||
kOverwrite | ||
kWriteDelete | ||
}; |
Bool_t | HReconstructor::fActive | Active flag |
HLocation | fCLoc | Location of cluster |
HCategory* | fClusterCat | Pointer to the cluster category |
HTofClusterFPar* | fClusterFPar | Clusterfinder parameter container. |
TList* | HReconstructor::fHistograms | List of histograms generated by this reconstructor. |
HCategory* | fHitCat | Pointer to the hit category |
Bool_t | HTask::fIsTimed | timer flag |
HLocation | fLoc | Location of hit |
TString | TNamed::fName | object identifier |
TObjArray | HReconstructor::fOutputs | |
HSpecGeomPar* | fSpecGeometry | Container for Spectrometer geometry. |
TStopwatch | HReconstructor::fTimer | Task timer |
TString | TNamed::fTitle | object title |
HTofGeomPar* | fTofGeometry | Container for TOF geometry. |
HLocation | fpLoc | Location of previous hit |
Bool_t | HTask::isConnected | |
Bool_t | HTask::isInitialised | |
HIterator* | iterc | Iterator through cluster category. |
HIterator* | iterh | Iterator through hit category. |
Bool_t | HTask::manual | |
HTask* | HTask::owner |
Float_t | absTd_h | |
Float_t | absXd_h | |
HTofCluster* | cluster | |
Float_t | edep_c | |
Float_t | edep_h | |
Int_t | flagAdc_c | |
Int_t | flagAdc_h | |
HTofHit* | hit | |
Float_t | lAmp_c | |
Float_t | lAmp_h | |
Float_t | rAmp_c | |
Float_t | rAmp_h | |
Int_t | size_c | |
Float_t | tof_c | |
Float_t | tof_h | |
Float_t | tof_ph | |
Float_t | xlab_c | |
Float_t | xlab_h | |
Float_t | xposModAdc_c | |
Float_t | xposModAdc_h | |
Float_t | xposMod_c | |
Float_t | xposMod_h | |
Float_t | xposMod_ph | |
Float_t | ylab_c | |
Float_t | ylab_h | |
Float_t | zlab_c | |
Float_t | zlab_h |
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)
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.
Auxiliary function. It stores the date into the HTofCluster based category.
Adds to the runtime database "rtdb" the containers needed by the Cluster Finder
spec is used to get information of the spectrometer setup.