StFtpcTrackEvaluator
class description - source file - inheritance tree
private:
void CalcSplitTracks()
void CreateHistos()
void DeleteHistos()
void EvaluateGoodness(Int_t t_Counter)
void FastSimHitInit(St_ffs_gepoint* ffs_hit)
void GeantHitInit(St_g2t_ftp_hit* g2t_ftp_hit)
void GeantTrackInit(St_g2t_track* g2t_track, St_g2t_ftp_hit* g2t_ftp_hit)
void ParentTrackInit()
void Setup(TDataSet* geant, TDataSet* ftpc_data)
void SetupFile(Char_t* filename, Char_t* write_permission)
void SetupHistos()
public:
StFtpcTrackEvaluator StFtpcTrackEvaluator()
StFtpcTrackEvaluator StFtpcTrackEvaluator(TDataSet* geant, TDataSet* ftpc_data, StFtpcVertex* main_vertex, St_fcl_fppoint* fcl_fppoint, St_fpt_fptrack* fpt_fptrack, Char_t* filename = 0, Char_t* write_permission = 0)
StFtpcTrackEvaluator StFtpcTrackEvaluator(TDataSet* geant, TDataSet* ftpc_data, StFtpcVertex* main_vertex, TClonesArray* hits, TClonesArray* tracks, Char_t* filename = 0, Char_t* write_permission = 0)
StFtpcTrackEvaluator StFtpcTrackEvaluator(StFtpcTrackEvaluator&)
virtual void ~StFtpcTrackEvaluator()
static TClass* Class()
void ClusterInfo()
void DivideHistos()
void FillCutHistos()
void FillEventHistos()
void FillFCutHistos()
void FillFoundHitsOnTrack()
void FillGCutHistos()
void FillHitsOnTrack(TClonesArray* trackarray, Char_t c)
void FillHitsOnTrack()
void FillMomentumHistos()
void FillMomentumHistos(Int_t t_counter)
void FillParentHistos()
void FillParentHistos(Int_t t_counter)
void GeantInfo()
MIntArray* GetClusterArr()
TClonesArray* GetFastSimHits()
TClonesArray* GetFoundHits()
TClonesArray* GetFoundTracks()
TClonesArray* GetGeantHits()
TClonesArray* GetGeantTracks()
Int_t GetMaxClusters()
Int_t GetNumElectronTracks()
Int_t GetNumFastSimHits()
Int_t GetNumFoundHits()
Int_t GetNumFoundNonVertexTracks()
Int_t GetNumFoundTracks()
Int_t GetNumFoundVertexTracks()
Int_t GetNumGeantHits()
Int_t GetNumGeantTracks()
Int_t GetNumGoodFoundPoints()
Int_t GetNumGoodFoundTracks()
Int_t GetNumGoodGeantPoints()
Int_t GetNumGoodGeantTracks()
Int_t GetNumLongTrackClusters()
Int_t GetNumLongTracks()
Int_t GetNumLookLikeGoodTracks()
Int_t GetNumNonVertexTracks()
Int_t GetNumShortTrackClusters()
Int_t GetNumShortTracks()
Int_t GetNumSplitGoodTracks()
Int_t GetNumSplitTracks()
Int_t GetNumUncleanTracks()
MIntArray* GetSplitGoodTracksArr()
MIntArray* GetSplitTracksArr()
MIntArray* GetUncleanTracksArr()
void Info()
virtual TClass* IsA() const
Bool_t IsCleanTrack(Int_t track_num)
Bool_t IsGoodMainVertexTrack(StFtpcTrack* track)
Bool_t IsGoodNonVertexTrack(StFtpcTrack* track)
Bool_t IsGoodTrack(StFtpcTrack* track)
Bool_t IsUncleanTrack(Int_t track_num)
void Loop()
void ProblemsInfo()
virtual void ShowMembers(TMemberInspector& insp, char* parent)
void ShowTracks()
virtual void Streamer(TBuffer& b)
void TrackerInfo()
void WriteHistos()
private:
Bool_t mObjArraysCreated flag to know which destructor to be called
TClonesArray* mGeantHits ClonesArray of geant hits
TClonesArray* mFastSimHits ClonesArray of fast simulated hits
TClonesArray* mFoundHits ClonesArray of found hits
TClonesArray* mGeantTracks ClonesArray of geant tracks
TClonesArray* mFoundTracks ClonesArray of found tracks
MIntArray* mFtpcTrackNum array of numbers of found Ftpc tracks, [geant track]
Int_t mFoundVertexTracks Number of found main vertex tracks
Int_t mFoundNonVertexTracks Number of found non main vertex tracks
Int_t mGoodGeantPoints Number of points on good geant tracks
Int_t mGoodFoundPoints Number of points on good found tracks
Int_t mLookLikeGoodTracks Number of tracks which look like good tracks but aren't
Int_t mElectronTracks Number of electrons
Int_t mNonVertexTracks Number of non main vertex tracks
Int_t mGoodGTracks Number of good geant tracks (all tracks - - short tracks - electrons - non vertex tracks)
Int_t mGoodFTracks Number of good found tracks (all tracks - - short tracks - electrons - non vertex tracks)
Int_t mSplitTracks Number of split tracks
Int_t mSplitGoodTracks Number of split good tracks
Int_t mUncleanTracks Number of tracks which have picked up wrong clusters
Int_t mLongTracks Number of tracks with more than 10 points
Int_t mLongTrackClusters Number of clusters on long tracks
Int_t mShortTracks Number of tracks with less than 5 points
Int_t mShortTrackClusters Number of clusters on short tracks
Int_t mMaxClusters Max. number of clusters on a track
StFtpcVertex* mVertex pointer ro the main vertex
TH1F* mNumGeantHits number of geant hits per event
TH1F* mNumFoundHits number of found hits per event
TH1F* mNumGeantTracks number of geant tracks per event
TH1F* mNumFoundTracks number of found tracks per event
TH1F* mNumFoundVertexTracks number of found main vertex tracks per event
TH1F* mNumFoundNonVertexTracks number of found non main vertex tracks per event
TH1F* mNumElectronTracks number of electrons per event
TH1F* mNumNonVertexTracks number of non main vertex tracks per event
TH1F* mNumLookLikeGoodTracks number of tracks which look good but aren't
TH1F* mNumGoodGTracks number of good geant tracks per event
TH1F* mNumGoodFTracks number of good found tracks per event
TH1F* mNumSplitTracks number of split tracks per event
TH1F* mNumSplitGoodTracks number of split good tracks per event
TH1F* mNumUncleanTracks number of unclean tracks per event
TH1F* mNumLongTracks number of tracks with more than 10 points per event
TH1F* mNumLongTrackClusters number of hits belonging to long tracks per event
TH1F* mNumShortTracks number of tracks with less than 5 points per event
TH1F* mNumShortTrackClusters number of hits belonging to short tracks per event
TH1F* mGHitsOnTrack number of geant hits per track
TH1F* mFHitsOnTrack number of found hits per track
TH1F* mNumParents number of parent tracks per track
TH1F* mNumWrongHitsAll number of wrong clusters per track
TH2F* mNumWrongHits number of wrong clusters per track
TH1F* mGoodRatio number of good found tracks divided by the number of good geant tracks
TH1F* mContamination number of found tracks looking good divided by the number of found main vertex tracks
TH1F* mContaWoSplit number of found tracks looking good minus split tracks divided by the number of found main vertex tracks
TH1F* mNumGoodGeantPoints number of points on good geant tracks
TH1F* mNumGoodFoundPoints number of points on good found tracks
TH1F* mGoodPointRatio ration of points on good geant tracks to points on good found tracks
TH2F* mPtot found total momentum vs. geant total momentum
TH2F* mPt found transverse momentum vs. geant transverse momentum
TH2F* mPx found x momentum vs. geant x momentum
TH2F* mPy found y momentum vs. geant y momentum
TH2F* mPz found z momentum vs. geant z momentum
TH1F* mPtotDiff relative difference of total momentum
TH1F* mPtDiff relative difference of transverse momentum
TH1F* mPxDiff relative difference of momentum in x direction
TH1F* mPyDiff relative difference of momentum in y direction
TH1F* mPzDiff relative difference of momentum in z direction
TH1F* mPtotAcc relative accuracy of total momentum
TH1F* mPtAcc relative accuracy of transverse momentum
TH1F* mPxAcc relative accuracy of momentum in x direction
TH1F* mPyAcc relative accuracy of momentum in y direction
TH1F* mPzAcc relative accuracy of momentum in z direction
TH2F* mEtaNghits pseudorapidity vs. number of geant clusters on track
TH2F* mEtaNfhits pseudorapidity vs. number of found clusters on track
TH2F* mPtEtaF transverse momentum vs. pseudorapidity of found tracks
TH2F* mPtEtaFMes measured transverse momentum vs. pseudorapidity of found tracks
TH2F* mPtEtaGood transverse momentum vs. pseudorapidity of good found tracks divided by all found tracks
TH2F* mPtEtaBad transverse momentum vs. pseudorapidity of bad found tracks divided by all found tracks
TH2F* mPtEtaUnclean transverse momentum vs. pseudorapidity of unclean (found) tracks
TH2F* mPtEtaMesUnclean measured transverse momentum vs. measured pseudorapidity of unclean (found) tracks
TH2F* mPtEtaGoodG transverse momentum vs. pseudorapidity of good geant tracks
TH2F* mPtEtaGoodF transverse momentum vs. pseudorapidity of good found tracks
TH2F* mPtEtaGoodRatio transverse momentum vs. pseudorapidity of good found tracks divided by good geant tracks
TH2F* mPtEtaBadG transverse momentum vs. pseudorapidity of bad geant tracks
TH2F* mPtEtaBadF transverse momentum vs. pseudorapidity of bad found tracks
TH2F* mPtEtaBadRatio transverse momentum vs. pseudorapidity of bad found tracks divided by bad geant tracks
TH2F* mPtEtaFVtx transverse momentum vs. pseudorapidity of found tracks with main vertex tag
TH2F* mPtEtaLookLikeGood transverse momentum vs. pseudorapidity of found tracks which look like good tracks but aren't
TH2F* mPtEtaContamination transverse momentum vs. pseudorapidity of found tracks which look like good tracks but aren't divided by found tracks with main vertex tag
TH2F* mGLengthDistTrackAng length distance vs. track angle of geant tracks
TH2F* mGCircleDistTrackAng circle distance vs. track angle of geant tracks
TH2F* mFLengthDistTrackAng length distance vs. track angle of found tracks
TH2F* mFCircleDistTrackAng circle distance vs. track angle of found tracks
TH1F* mGTracklAngAll tracklet angle of geant tracks
TH1F* mGTrackAngAll track angle of geant tracks
TH1F* mGCircleDistAll circle distance of geant tracks
TH1F* mGLengthDistAll length distance of geant tracks
TH2F* mGTrackAng track angle of geant tracks
TH2F* mGCircleDist circle distance of geant tracks
TH2F* mGLengthDist length distance of geant tracks
TH2F* mGCircleLength circle distance vs. length distance of geant tracks
TH1F* mFTracklAngAll tracklet angle of found tracks
TH1F* mFTrackAngAll track angle of found tracks
TH1F* mFCircleDistAll circle distance of found tracks
TH1F* mFLengthDistAll length distance of found tracks
TH1F* mDcaFMainVertex distance of closest approach for found main vertex tracks
TH1F* mDcaFNonVertex distance of closest approach for found non vertex tracks
TH1F* mDcaGMainVertex distance of closest approach for geant main vertex tracks
TH1F* mDcaGNonVertex distance of closest approach for geant non vertex tracks
TH2F* mFTrackAng track angle of found tracks
TH2F* mFCircleDist circle distance of found tracks
TH2F* mFLengthDist length distance of found tracks
TH2F* mFCircleLength circle distance vs. length distance of found tracks
TH2F* mPRatioDist point ratio vs. distance of track pairs
TH2F* mPRatioDistSplit point ratio vs. distance of split track pairs
MIntArray* mParentTrack array of numbers of parent tracks for each cluster, [found track # * 10 + # of cluster on track]
MIntArray* mParentTracks array of numbers of different parent tracks, [found track # * 10 + # of cluster on track]
MIntArray* mNumParentTracks array of number of different parent tracks, [found track # * 10 + # of cluster on track]
MIntArray* mParent array of number of the actual parent track for each found track
MIntArray* mClusterArr array to specify the quality of the found clusters (0 = unused, 1 = used, -1 = used wrong)
MIntArray* mUncleanTracksArr array of numbers of unclean tracks
MIntArray* mSplitTracksArr array of numbers of split tracks
MIntArray* mSplitGoodTracksArr array of numbers of split good tracks
Bool_t* mUnclean array of boolean values: indicates if a found track is a unclean track or not
public:
Char_t* mFilename Name of the data file.
Char_t* mWritePermission Write permission of the data file.
TFile* mFile Pointer to the data file.
StFtpcTrackEvaluator class - evaluates found tracks by comparison to the input
GEANT clusters and tracks.
As input this class gets the pointers to the ClonesArrays of found hits and
tracks and the pointers of the input (to the tracker) geant hits and tracks.
The class should tell then which tracks are found and where are the remaining
problems.
StFtpcTrackEvaluator()
Default constructor.
Sets the pointers.
StFtpcTrackEvaluator(TDataSet *geant, TDataSet *ftpc_data, StFtpcVertex *main_vertex, TClonesArray *hits, TClonesArray *tracks, Char_t *filename, Char_t *write_permission)
Usual used constructor if conformal mapping tracker output available.
StFtpcTrackEvaluator(TDataSet *geant, TDataSet *ftpc_data, StFtpcVertex *main_vertex, St_fcl_fppoint *fcl_fppoint, St_fpt_fptrack *fpt_fptrack, Char_t *filename, Char_t *write_permission)
Usual used constructor if the output of the tracker was written in STAF tables only.
~StFtpcTrackEvaluator()
Destructor.
Deletes ClonesArrays and Histograms.
void DeleteHistos()
Deletes the histograms
void SetupFile(Char_t *filename, Char_t *write_permission)
Opens the data file.
void Setup(TDataSet *geant, TDataSet *ftpc_data)
Does all the setup which is common to all constructors.
void SetupHistos()
Sets up the histograms.
void CreateHistos()
Create histograms.
void GeantHitInit(St_g2t_ftp_hit *g2t_ftp_hit)
Initializes Geant hits.
void GeantTrackInit(St_g2t_track *g2t_track, St_g2t_ftp_hit *g2t_ftp_hit)
Initializes Geant tracks. Therefore the Geant hits are also needed.
void FastSimHitInit(St_ffs_gepoint *ffs_hit)
Initializes fast simulated hits.
void ParentTrackInit()
Initializes the parents of all tracks.
void EvaluateGoodness(Int_t t_counter)
Evaluates if the parent track of the found track no. t_counter is a good track or not.
void DivideHistos()
Divides Histograms to get the efficiency.
void FillCutHistos()
Fills histograms for cuts. This is done for Geant tracks and found tracks.
void FillGCutHistos()
Evaluates the cuts by looking into the distibution od the cut-variables in GEANT tracks.
void FillFCutHistos()
Fills cut histograms for found tracks.
void Loop()
Usual used loop to loop over tracks and clusters.
This is just an example to make it easier to develop new routines.
void WriteHistos()
Writes histograms to file.
void FillMomentumHistos()
Fill the relative momentum of the found track in comparison to the geant track in histograms.
void FillMomentumHistos(Int_t t_counter)
Fill the relative momentum of the found track in comparison to the geant track in histograms.
void FillParentHistos()
Fill the number of parents per track in histogram.
void FillParentHistos(Int_t t_counter)
Fill the number of parents per track in histogram.
void FillHitsOnTrack()
Fill hits on all tracks in histograms.
void FillFoundHitsOnTrack()
Fill hits on found tracks in histograms.
void FillHitsOnTrack(TClonesArray *trackarray, Char_t c)
Fills histogram with the number of points on tracks.
If c is set to 'g' it fills the 'geant histo', otherwise the 'found histo'.
void CalcSplitTracks()
Calculates the number of split tracks and returns it.
Bool_t IsGoodTrack(StFtpcTrack* track)
Returns true if the given track fulfills all requirements to be a "good" track.
Bool_t IsGoodMainVertexTrack(StFtpcTrack* track)
Returns true if the given track fulfills all requirements to be a "good" track.
Bool_t IsGoodNonVertexTrack(StFtpcTrack* track)
Returns true if the given track fulfills all requirements to be a "good" track.
void FillEventHistos()
Fill the histograms which are filled only once per event.
void ShowTracks()
Displays the geant and/or found tracks.
void GeantInfo()
Shows information abaout GEANT output.
void ClusterInfo()
Shows information abaout GEANT clusters.
void ProblemsInfo()
Shows information about problems.
void TrackerInfo()
Shows information about tracker output.
void Info()
Shows all information.
Inline Functions
TClonesArray* GetGeantHits()
TClonesArray* GetGeantTracks()
TClonesArray* GetFastSimHits()
TClonesArray* GetFoundHits()
TClonesArray* GetFoundTracks()
MIntArray* GetClusterArr()
MIntArray* GetSplitTracksArr()
MIntArray* GetSplitGoodTracksArr()
MIntArray* GetUncleanTracksArr()
Int_t GetNumFoundVertexTracks()
Int_t GetNumFoundNonVertexTracks()
Int_t GetNumLookLikeGoodTracks()
Int_t GetNumElectronTracks()
Int_t GetNumNonVertexTracks()
Int_t GetNumGoodGeantTracks()
Int_t GetNumGoodFoundTracks()
Int_t GetNumSplitTracks()
Int_t GetNumSplitGoodTracks()
Int_t GetNumUncleanTracks()
Int_t GetNumLongTracks()
Int_t GetNumLongTrackClusters()
Int_t GetNumShortTracks()
Int_t GetNumShortTrackClusters()
Int_t GetMaxClusters()
Int_t GetNumGoodGeantPoints()
Int_t GetNumGoodFoundPoints()
Int_t GetNumFoundTracks()
Int_t GetNumGeantTracks()
Int_t GetNumFoundHits()
Int_t GetNumFastSimHits()
Int_t GetNumGeantHits()
Bool_t IsUncleanTrack(Int_t track_num)
Bool_t IsCleanTrack(Int_t track_num)
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
StFtpcTrackEvaluator StFtpcTrackEvaluator(StFtpcTrackEvaluator&)
Author: Markus D. Oldenburg
Last update: 07.06.2000
Copyright © MDO Production 2000
ROOT page - Home page - Class index - 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.