/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Reconstruction/MdcPatRec/MdcxReco/MdcxReco-00-01-59/MdcxReco/MdcxFindTracks.h

Go to the documentation of this file.
00001 //--------------------------------------------------------------------------
00002 // File and Version Information:
00003 //      $Id: MdcxFindTracks.h,v 1.6 2011/12/08 06:52:29 zhangy Exp $
00004 //
00005 // Description: Object to find tracks given event data
00006 //      Class Header
00007 //
00008 // Environment:
00009 //      Software developed for the BaBar Detector at the SLAC B-Factory.
00010 //
00011 // Author List:
00012 //      S. Wagner
00013 //      Zhang Yao(zhangyao@ihep.ac.cn) Migration to BESIII
00014 //      
00015 // Copyright Information:
00016 //      Copyright (C) 1994      BEPCII
00017 // 
00018 // History:
00019 //      Migration for BESIII MDC
00020 //
00021 //------------------------------------------------------------------------
00022 #ifndef MDCXFINDTRACKS_HH
00023 #define MDCXFINDTRACKS_HH
00024 
00025 #include <iostream>
00026 #include <fstream>
00027 #include "CLHEP/Alist/AList.h"
00028 #include "MdcxReco/MdcxHel.h"
00029 #include "MdcxReco/MdcxFittedHel.h"
00030 #include "MdcxReco/MdcxSeg.h"
00031 
00032 class MdcxFindTracks{
00033   public:
00034     MdcxFindTracks();
00035     MdcxFindTracks(const HepAList<MdcxSeg> &f, int debug = 0);
00036     virtual ~MdcxFindTracks();
00037 
00038     //functions
00039     inline const HepAList<MdcxFittedHel> &GetMdcxTrklist(){return MdcxTrklist;}
00040     void process( const HepAList<MdcxSeg> &f);
00041     void print(std::ostream &o);
00042     void plot()const;
00043 
00044 
00045   protected:
00046     //data members
00047     HepAList<MdcxFittedHel> MdcxTrklist;
00048     MdcxHel mhel;
00049     float probmin;              // min probablity cut
00050     float curvmax;              // max curvature cut
00051     int ngood;                  // number with prob>probmin
00052     int npure;                  // prob>probmin & pure mc
00053     int nbad;                   // number with prob<probmin
00054     int nfail;                  // number with failed fit
00055     int nhitsmc;                // number of hits produced
00056     int nhitsgd;                //#of hits in pure clusters
00057     int m_debug;                //debug flag
00058     bool m_doSag;               //sag flag
00059 
00060     //functions
00061     void KillList(){HepAListDeleteAll(MdcxTrklist);}
00062     void beginmore();           // begin specifics
00063     void endmore();             // end specifics
00064     double findz_sl(int i1, int i2, const HepAList<MdcxSeg> &slclus);
00065     double findz_cyl(int i1, int i2, const HepAList<MdcxSeg> &slclus);
00066     double dlen(int slay1, double p1, int slay2, double p2, double om);
00067     //double dlen(double p1, double p2, double om);
00068     MdcxFittedHel drophits(MdcxFittedHel* f);
00069     MdcxHel TakeToOrigin(MdcxHel& );
00070     void resout(MdcxFittedHel* f);
00071     void printpar(std::ostream &o);     // print out parameters
00072     bool testFromSameTrack(MdcxSeg* seg1, MdcxSeg* seg2);
00073 
00074 };//endof MdcxFindTracks
00075 
00076 #endif

Generated on Tue Nov 29 23:13:36 2016 for BOSS_7.0.2 by  doxygen 1.4.7