00001 // 00002 // Package: TofRec 00003 // BESIII Tof Reconstruction Algorithm 00004 // Created by Sun Shengsen (EPC IHEP) 00005 // 00006 #ifndef TOF_REC_A_H 00007 #define TOF_REC_A_H 00008 00009 #include "GaudiKernel/Algorithm.h" 00010 #include "GaudiKernel/NTuple.h" 00011 #include "TofRec/TofCheckDigi.h" 00012 #include "TofRec/TofCheckData.h" 00013 #include "TofRec/TofTrack.h" 00014 #include "TofRec/TofCount.h" 00015 #include <string> 00016 00017 class TofRec:public Algorithm { 00018 public: 00019 TofRec(const std::string& name, ISvcLocator* pSvcLocator); 00020 StatusCode initialize(); 00021 StatusCode beginRun(); 00022 StatusCode execute(); 00023 StatusCode finalize(); 00024 00025 void clearTofTrackVec( std::vector<TofTrack*>*& tofTrackVec ); 00026 00027 private: 00028 00029 // switchs 00030 std::string m_acceleratorStatus; // swich controls Colliding data or Cosmic Ray 00031 bool m_magneticField; // switch controls With or Without magneticfield 00032 bool m_forCalibration; // switch cnotrols for calibration or not 00033 std::string m_data; // jpsi, psip or psipp 00034 std::string m_calibData; // bhabha or dimu 00035 // bool m_calibDataBarrel; // barrel or endcap 00036 bool m_firstIteration; // switch controls which t0 would be used 00037 bool m_checkTrigger; // switch controls fill trigger information 00038 bool m_saveRootFile; // switch controls ntuple 00039 bool m_printOutInfo; // switch controls print out information 00040 bool m_checkDigi; // switch controls check digi 00041 bool m_checkDigiRaw; 00042 bool m_checkDigiExt; 00043 bool m_checkMcTruth; // switch controls check MC Truth information 00044 00045 TofCheckDigi* m_checkdigi_tuple; 00046 NTuple::Tuple* m_tuple_digi; 00047 NTuple::Tuple* m_tuple_raw; 00048 NTuple::Tuple* m_tuple_barrel; 00049 NTuple::Tuple* m_tuple_endcap; 00050 NTuple::Tuple* m_tuple_mrpc; 00051 NTuple::Tuple* m_tuple_ext; 00052 NTuple::Tuple* m_tuple_tof; 00053 NTuple::Tuple* m_tuple_tdiff; 00054 NTuple::Tuple* m_tuple_bb; 00055 00056 TofCheckData* m_checkdata_tuple; 00057 NTuple::Tuple* m_tuple_trk; 00058 NTuple::Tuple* m_tuple_cbtrk; 00059 NTuple::Tuple* m_tuple_cetrk; 00060 NTuple::Tuple* m_tuple_cetftrk; 00061 00062 TofCount* m_printOut; 00063 00064 }; 00065 #endif // Tof_REC_A_H