#include "hrichcorrelatorsim.h"

HRichCorrelatorSim


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

class HRichCorrelatorSim : public HRichCorrelator

Inheritance Chart:
TObject
<-
TNamed
<-
HTask
<-
HReconstructor
<-
HRichCorrelator
<-
HRichCorrelatorSim

    public:
HRichCorrelatorSim() HRichCorrelatorSim(Text_t* name, Text_t* title) HRichCorrelatorSim(Text_t* name, Text_t* title, char* filename, Bool_t style = kFALSE) ~HRichCorrelatorSim() void assignMdcTracks(Int_t) void assignRichTracks(Int_t) void assignShowerTrack(Int_t) void assignTofTracks(Int_t) Float_t calcMdcWeight(Int_t) Float_t calcRichWeight(Int_t) static TClass* Class() void cleanTracks() void corrTracksMT_S(HHitMatchSim*) void corrTracksRM(HHitMatchSim*) void corrTracksRT_S(HHitMatchSim*) void diag(HHitMatchSim*) void diagOut(HHitMatchSim*, HTrackInfo*) void evalBiCorrs(HHitMatchSim*) virtual Int_t execute() virtual Bool_t finalize() HCategory* getGeantKineCat() HCategory* getGeantRichMirrorCat() HParSet* getGeometryPar() virtual void iniCounters() virtual Bool_t init() virtual TClass* IsA() const Int_t isConvLep(Int_t) Int_t isGCorrRing(HTrackInfo*) Int_t isGRing(HHitMatchSim*) Int_t isLepOnMDC(HHitMatchSim*, Int_t) Int_t isLepOnMirror(HHitMatchSim*) Int_t isPi0Dalitz(Int_t) Int_t matchRingMirrtracks(HRichHitSim* pH, Int_t trackMirr, Int_t idMirr) void matchTracks(HHitMatchSim*) virtual Bool_t reinit() void setGeantTrackInfoMT_S(Int_t, HTrackInfo*) void setGeantTrackInfoRM(Int_t, Int_t, HTrackInfo*) void setGeantTrackInfoRT_S(Int_t, HTrackInfo*) void setGeometryPar(HParSet* pPar) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members


    protected:
HParSet* pGeoPar ! HCategory* fGeantKineCat ! HIterator* iter_kine ! HCategory* fGeantRichMirrorCat ! HIterator* iter_mirror ! HCategory* fGeantMdcCat ! HIterator* iter_mdcgeant ! HCategory* fShowerTrack ! HIterator* iter_showertrack ! Int_t richTracks[3] ! Int_t richWeights[3] ! Int_t mdcTracks[5] ! Int_t mdcWeights[5] ! Int_t tofTracks[2] ! Int_t showerTracks[5] ! Int_t sumWeightsRich Int_t sumWeightsMdc Int_t ng_Part Int_t ngGNb_RM Int_t ngGNb_RT_S Int_t ngGNb_MT_S Int_t ngGNb_RMT_S Int_t ngGNbRMonly Int_t ngGNbRTSonly Int_t ngGNbMTSonly Int_t ngGNbRMTSonly Int_t ngNb_RW Int_t ngNb_MW Float_t fg_RW Float_t fg_MW Int_t ngNb_Fakes Int_t ngNb_ConfTracklet Int_t ng_ParId[100]

Class Description

 HRichCorrelatorSim

 executes HRichCorrelator and uses additional info from GEANT
 fills HHitMatchSim


HRichCorrelatorSim(Text_t *name,Text_t *title) : HRichCorrelator(name,title)

HRichCorrelatorSim(Text_t *name,Text_t *title, char* filename, Bool_t style) : HRichCorrelator(name,title,filename,style)

HRichCorrelatorSim()

~HRichCorrelatorSim(void)

Bool_t init()

void iniCounters(void)

Bool_t reinit()
  cout<<"in reinit function"<<endl;

void diag(HHitMatchSim * pHM)
 function that prints the found GEANT track numbers
 for different detector hits in a HHitMatchSim obj

Int_t execute()

void diagOut(HHitMatchSim* pHitMatch,HTrackInfo* t)

void cleanTracks()
 temp helper arrays to hold GEANT track numbers and their weights
 need to be reset as they are data members
 GEANT starts track numbers at 1, therefore init them to 0

void assignRichTracks(Int_t richInd)
 copy GEANT track info from the hit

void assignMdcTracks(Int_t mdcInd)
 according to info from Vladimir Pechenov
 copy GEANT track info from the hit

void assignShowerTrack(Int_t showerInd)
 look in HShowerTrack and HShowerHitTof
 and match the info
 basically what is done in HShowerHitTofMatcher
 but there for each GEANT track number one clone is created
 which is not useful here --- > we do it ourselves

void assignTofTracks(Int_t tofInd)

void matchTracks(HHitMatchSim *pHitMatch)

void evalBiCorrs(HHitMatchSim *pHitMatch)
 all possible RICH MDC META bi correlations are done
 now check whether there is a tri correlation of GEANT track numbers

void corrTracksRT_S(HHitMatchSim *pHitMatch)
 look if we find the same GEANT track number for
 the rich hit and the hit in shower or tof

void corrTracksMT_S(HHitMatchSim *pHitMatch)

void corrTracksRM(HHitMatchSim* pHitMatch)

Float_t calcRichWeight(Int_t ind)
 use the number of fired pads in a ring per tracknumber as
 a confidence value for this track number

Float_t calcMdcWeight(Int_t ind)
 use number of drift times that have contributed to this segment
 and that come from one GEANT number as confidence value

void setGeantTrackInfoRT_S(Int_t index,HTrackInfo *t)
check if geant nb is already stored
we store only a maximum of MAXPARTICLES particles,
the rest is discarded

void setGeantTrackInfoMT_S(Int_t index,HTrackInfo *t)
check if geant nb is already stored

void setGeantTrackInfoRM(Int_t richindex,Int_t mdcindex, HTrackInfo *t)
this func needs two indexes as we need to find the weight for both rich and mdc
check if geant nb is already stored

Int_t isPi0Dalitz(Int_t trk)
 returns 1 if track nb corresponds to a lepton from pi0 Dalitz decay
 else returns zero

Int_t isConvLep(Int_t trk)
 returns 1 if track nb corresponds to a lepton from gamma conv
 else returns zero

Int_t isLepOnMirror(HHitMatchSim *h)

Int_t matchRingMirrtracks(HRichHitSim *pH,Int_t trackMirr,Int_t idMirr)

Int_t isLepOnMDC(HHitMatchSim* h,Int_t trknb)
check whether the particle with GEANT track number trk
has reached the MDC module 0, layer 0
this means that it didn't hit a spoke or edge in the RICH
and can therefore be correlated and detected, finally going
in efficiency.
returns 1 if particle was seen in MDC, or 0 else
trknb is return value of isLepOnMirror, the track number of
the first found lepton passing through the mirror
matching a track number in the ring

Bool_t finalize()

Int_t isGCorrRing(HTrackInfo *t)
 this function checks whether a GEANT particle correlation
 occurs for min 1 ring generating lepton in this tracklet

Int_t isGRing(HHitMatchSim *h)
 this function checks whether the ring that went in the
 tracklet contains pads fired by photons that come from a lepton
 one should also check whether the lepton reached the mirror
 and the first MDC module



Inline Functions


         HCategory* getGeantKineCat()
         HCategory* getGeantRichMirrorCat()
               void setGeometryPar(HParSet* pPar)
           HParSet* getGeometryPar()
            TClass* Class()
            TClass* IsA() const
               void ShowMembers(TMemberInspector& insp, char* parent)
               void Streamer(TBuffer& b)
               void StreamerNVirtual(TBuffer& b)


Last update: Fri Jan 26 12:26:14 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.