Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
JEventProcessor_RF_online.h
Go to the documentation of this file.
1 // $Id$
2 //
3 // File: JEventProcessor_RF_online.h
4 // Created: Wed Apr 8 11:58:09 EST 2015
5 // Creator: pmatt (on Linux stan.jlab.org 2.6.32-279.11.1.el6.x86_64 x86_64)
6 //
7 
8 #ifndef _JEventProcessor_RF_online_
9 #define _JEventProcessor_RF_online_
10 
11 #include <map>
12 #include <set>
13 #include <vector>
14 #include <limits>
15 #include <string>
16 
17 #include "TH1I.h"
18 #include "TDirectoryFile.h"
19 
20 #include <JANA/JEventProcessor.h>
21 #include <JANA/JApplication.h>
22 
23 #include "GlueX.h"
24 #include "DAQ/DCODAROCInfo.h"
25 #include <TTAB/DTTabUtilities.h>
26 
27 #include <TAGGER/DTAGHHit.h>
28 #include <RF/DRFTDCDigiTime.h>
29 #include <RF/DRFDigiTime.h>
30 #include <RF/DRFTime_factory.h>
31 
32 using namespace std;
33 using namespace jana;
34 
35 class JEventProcessor_RF_online : public jana::JEventProcessor
36 {
37  public:
38  const char* className(void){return "JEventProcessor_RF_online";}
39 
40  private:
41  TDirectoryFile* dROCTIDirectory;
42 
43  double dRFSignalPeriod; //not the same as the period of the beam //before multiplexing
44  vector<DetectorSystem_t> dRFSignalSystems;
45 
46  map<uint32_t, TH1I*> dHistMap_ROCInfoDeltaT; //key is rocid
47  map<DetectorSystem_t, TH1I*> dHistMap_NumSignals;
48  map<DetectorSystem_t, TH1I*> dHistMap_RFSignalPeriod;
49  map<DetectorSystem_t, TH1I*> dHistMap_RFFirstTimeDeltaT;
50 
51  map<DetectorSystem_t, TH1I*> dHistMap_RFHitsFound;
52  map<DetectorSystem_t, TH1I*> dHistMap_NumRFHitsMissing;
53  map<DetectorSystem_t, size_t> dMaxDeltaTHits;
54  map<DetectorSystem_t, double> dRFSamplingFactor;
55  map<DetectorSystem_t, map<pair<size_t, size_t>, TH1I*> > dHistMap_AdjacentRFDeltaTs;
56 
58  map<DetectorSystem_t, TH1I*> dHistMap_SelfResolution;
59 
60  map<DetectorSystem_t, TH1I*> dHistMap_RFTaggerDeltaT;
61  map<pair<DetectorSystem_t, DetectorSystem_t>, TH1I*> dHistMap_RFRFDeltaTs;
62  map<pair<DetectorSystem_t, DetectorSystem_t>, TH1I*> dHistMap_AverageRFRFDeltaTs;
63  map<pair<DetectorSystem_t, DetectorSystem_t>, TH1I*> dHistMap_AbsoluteRFRFDeltaTs;
64 
65  jerror_t init(void); ///< Called once at program start.
66  jerror_t brun(jana::JEventLoop* locEventLoop, int32_t runnumber); ///< Called everytime a new run number is detected.
67  jerror_t evnt(jana::JEventLoop* locEventLoop, uint64_t eventnumber); ///< Called every event.
68  jerror_t erun(void); ///< Called everytime run number changes, provided brun has been called.
69  jerror_t fini(void); ///< Called after last event of last event source has been processed.
70 };
71 
72 #endif // _JEventProcessor_RF_online_
map< pair< DetectorSystem_t, DetectorSystem_t >, TH1I * > dHistMap_RFRFDeltaTs
map< DetectorSystem_t, double > dRFSamplingFactor
map< DetectorSystem_t, TH1I * > dHistMap_RFHitsFound
map< DetectorSystem_t, TH1I * > dHistMap_RFFirstTimeDeltaT
vector< DetectorSystem_t > dRFSignalSystems
map< DetectorSystem_t, TH1I * > dHistMap_SelfResolution
map< DetectorSystem_t, TH1I * > dHistMap_RFSignalPeriod
map< DetectorSystem_t, TH1I * > dHistMap_RFTaggerDeltaT
map< DetectorSystem_t, size_t > dMaxDeltaTHits
map< uint32_t, TH1I * > dHistMap_ROCInfoDeltaT
map< DetectorSystem_t, TH1I * > dHistMap_NumSignals
map< DetectorSystem_t, map< pair< size_t, size_t >, TH1I * > > dHistMap_AdjacentRFDeltaTs
map< pair< DetectorSystem_t, DetectorSystem_t >, TH1I * > dHistMap_AbsoluteRFRFDeltaTs
map< pair< DetectorSystem_t, DetectorSystem_t >, TH1I * > dHistMap_AverageRFRFDeltaTs
map< DetectorSystem_t, TH1I * > dHistMap_NumRFHitsMissing