#include "htofclusterf.h"

HTofClusterF


class description - source file - inheritance tree (.pdf)

class HTofClusterF : public HReconstructor

Inheritance Chart:
TObject
<-
TNamed
<-
HTask
<-
HReconstructor
<-
HTofClusterF
<-
HTofClusterFSim

    protected:
Float_t calcProb(Float_t edep, char* aset = "all") void calcWeightedMean() void fillClusterData() void fillPreviousData() void readHit() void writeCluster(Int_t mode) void writeProb() public:
HTofClusterF() HTofClusterF(Text_t* name, Text_t* title) ~HTofClusterF() static TClass* Class() virtual Int_t execute() virtual Bool_t finalize() virtual Bool_t init() void initParContainer(HSpectrometer*, HRuntimeDb*) virtual TClass* IsA() const virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members

    private:
HTofHit* hit HTofCluster* cluster Float_t tof_ph Float_t xposMod_ph Float_t tof_h Float_t xposMod_h Float_t edep_h Float_t xposModAdc_h Float_t lAmp_h Float_t rAmp_h Float_t xlab_h Float_t ylab_h Float_t zlab_h Int_t flagAdc_h Float_t absTd_h Float_t absXd_h Float_t tof_c Float_t xposMod_c Float_t edep_c Float_t xposModAdc_c Float_t lAmp_c Float_t rAmp_c Float_t xlab_c Float_t ylab_c Float_t zlab_c Int_t flagAdc_c Int_t size_c protected:
HCategory* fHitCat Pointer to the hit category HCategory* fClusterCat Pointer to the cluster category HLocation fLoc Location of hit HLocation fpLoc Location of previous hit HLocation fCLoc Location of cluster HIterator* iterh Iterator through hit category. HIterator* iterc Iterator through cluster category. HTofGeomPar* fTofGeometry Container for TOF geometry. HSpecGeomPar* fSpecGeometry Container for Spectrometer geometry. HTofClusterFPar* fClusterFPar Clusterfinder parameter container.

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(void)

HTofClusterF(Text_t *name,Text_t *title) : HReconstructor (name,title)

~HTofClusterF(void)

Int_t execute(void)

void writeProb(void)
 Call the function
 Float_t HTofClusterF::calcProb(Float_t edep, char* 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, char* aset)
 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 *spec, HRuntimeDb *rtdb)
 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)



Inline Functions


             Bool_t finalize()
            TClass* Class()
            TClass* IsA() const
               void ShowMembers(TMemberInspector& insp, char* parent)
               void Streamer(TBuffer& b)
               void StreamerNVirtual(TBuffer& b)


Author: 1/12/2001 D.Zovinec
Last update: Fri Jan 26 12:35:40 2007


ROOT page - Class index - Class Hierarchy - Top of the page

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.