#include "htofclusterf.h" |
HTofClusterF
class description - source file - inheritance tree (.pdf)
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)
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.
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.