/search.css" rel="stylesheet" type="text/css"/> /search.js">
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

CoincidenceTight.h
Go to the documentation of this file.
00001 #ifndef COINCIDENCETIGHT_H
00002 #define COINCIDENCETIGHT_H
00003 
00004 #include "DybAlg/DybBaseAlg.h"
00005 #include "Event/IHeader.h"
00006 #include "Event/HeaderObject.h"
00007 #include "Conventions/DetectorId.h"
00008 #include "Context/TimeStamp.h"
00009 #include "Event/RecHeader.h"
00010 #include "Event/UserDataHeader.h"
00011 #include <vector>
00012 #include <string>
00013 #include <map>
00014 
00015 class IDaqDetailsSvc;
00016 class IDataProvider;
00017 
00018 class CoincidenceTight: public DybBaseAlg
00019 {
00020   public:
00022     CoincidenceTight(const std::string& name, ISvcLocator* svcloc);
00023     virtual ~CoincidenceTight();
00024 
00026     StatusCode initialize();
00027     StatusCode execute();
00028     StatusCode finalize();
00029 
00030   private:
00031     // properties
00032     std::string m_location;
00033     std::string m_tagLocation;
00034     std::string m_recHeaderLoc;
00035     double m_timeWindow;
00036     double m_maxGapWindow;
00037     
00038     // regular memebers
00039     IDataProviderSvc* m_archiveSvc;
00040     IDaqDetailsSvc* m_daqDetailsSvc;
00041     std::map<DetectorId::DetectorId_t, std::vector<const DayaBay::IHeader*> > m_inputHeaders;
00042     std::map<DetectorId::DetectorId_t, std::vector<DayaBay::RecHeader*> > m_adScaledHeaders;
00043     std::map<DetectorId::DetectorId_t, TimeStamp> m_lastTimeStamp;
00044     std::map<DetectorId::DetectorId_t, std::string > m_detName;
00045     std::map<DetectorId::DetectorId_t, float> m_integratedLiveTime_sec;
00046     std::map<DetectorId::DetectorId_t, float> m_integratedGapTime_sec;
00047     std::map<DetectorId::DetectorId_t, float> m_extendTimeMultiplet_sec;
00048     int m_integratedNGaps;
00049     
00050     int m_execNum;
00051     int m_nTagged;
00052     int m_nTaggedTriggers;
00053     
00054     // helper methods
00055     void SaveRecData(std::vector<const DayaBay::IHeader*>& inputHeaders, DayaBay::UserDataHeader* dataHeader);
00056     void SaveAdScaledData(std::vector<DayaBay::RecHeader*>& inputHeaders, DayaBay::UserDataHeader* dataHeader);
00057     void SaveCalibStatsData(std::vector<const DayaBay::IHeader*>& inputHeaders, DayaBay::UserDataHeader* dataHeader);
00058     void SaveMuonData(DayaBay::UserDataHeader* dataHeader);
00059     void SaveOtherData(std::vector<const DayaBay::IHeader*>& inputHeaders, DayaBay::UserDataHeader* dataHeader);
00060     bool PreSelection(DayaBay::UserDataHeader* dataHeader);
00061      
00062 };
00063 
00064 #endif
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Fri May 16 2014 10:10:46 for ADCoincTagging by doxygen 1.7.4