/search.css" rel="stylesheet" type="text/css"/> /search.js">
00001 #ifndef ADSingleTag_H 00002 #define ADSingleTag_H 00003 00004 //An example of making a tag using c++ 00005 //Based on UserTagging/UserTag/DetectorTag.py by Chao 00006 //hem@ihep.ac.cn 2011-05-31 00007 #include "Event/RecHeader.h" 00008 #include "Event/JobInfo.h" 00009 #include "Conventions/DetectorId.h" 00010 #include "Conventions/JobId.h" 00011 #include "DataSvc/IJobInfoSvc.h" 00012 #include "DataUtilities/DybArchiveList.h" 00013 00014 00015 #include "GaudiAlg/GaudiAlgorithm.h" 00016 #include "Context/TimeStamp.h" 00017 #include <vector> 00018 #include <map> 00019 00020 using namespace std; 00021 class IJobInfoSvc; 00022 class IDataProvider; 00023 class TimeStamp; 00024 namespace DayaBay 00025 { 00026 class HeaderObject; 00027 } 00028 using namespace DayaBay; 00029 class ADSingleTag: public GaudiAlgorithm 00030 { 00031 public: 00033 ADSingleTag(const std::string& name, ISvcLocator* svcloc); 00034 virtual ~ADSingleTag(); 00035 00037 StatusCode initialize(); 00038 StatusCode execute(); 00039 StatusCode finalize(); 00040 00041 private: 00042 IJobInfoSvc *m_jobInfoSvc; 00043 map< DetectorId::DetectorId_t,std::vector<RecHeader*> > m_adSingleBuffer_map; 00044 TimeStamp m_lastTimeStamp; 00045 map<DetectorId::DetectorId_t,TimeStamp> m_lastTimeStamp_map; 00046 HeaderObject *last_ADSingleTag; 00047 IDataProviderSvc* p_archiveSvc; 00048 double lastmuontime; 00049 double deadtime; 00050 int n; 00051 string reclocation; 00052 string outcomelocation; 00053 int timeCut; 00054 int muonVetoTime; 00055 int NumTag; 00056 int veto; 00057 double dtveto; 00058 double m_maxGapWindow; 00059 //DetectorId::DetectorId_t did = recHeader->context().GetDetId(); 00060 //TimeStamp currentTime = recHeader->timeStamp(); 00061 //m_lastTimeStamp_map[did] = currentTime; 00062 00063 00064 //TimeStamp t; 00065 //DetectorId::DetectorId_t id; 00066 //t = m_lastTimeStamp_map[id]; 00067 }; 00068 00069 #endif