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