Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SepdMon.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file SepdMon.h
1 #ifndef SEPD_SEPDMON_H
2 #define SEPD_SEPDMON_H
3 
4 #include <onlmon/OnlMon.h>
5 #include <cmath>
6 #include <vector>
7 
10 class Event;
11 class TH1;
12 class TH2;
13 class Packet;
14 class runningMean;
15 
16 class SepdMon : public OnlMon
17 {
18  public:
19  SepdMon(const std::string &name);
20  virtual ~SepdMon();
21 
22  int process_event(Event *evt);
23  int Init();
24  int BeginRun(const int runno);
25  int SepdMapChannel(int ch);
26  int Reset();
27 
28  protected:
29  std::vector<float> getSignal(Packet *p, const int channel);
30  std::vector<float> anaWaveformFast(Packet *p, const int channel);
31  std::vector<float> anaWaveformTemp(Packet *p, const int channel);
32  int evtcnt = 0;
33  int idummy = 0;
34 
35  const int Nsector = 24;
36  const int Nchannel = 192 * 4;
37  const int packetlow = 9001;
38  const int packethigh = 9006;
39  const int m_nChannels = 192;
40 
41  const int packet_depth = 1000;
42  const float hit_threshold = 10;
43  const int n_samples_show = 31;
44 
45  const int nChannels = 744;
46  int nPhi0 = 12;
47  int nPhi = 24;
48  int nRad = 24;
49  double axislimit = M_PI;
50 
51  TH2 *h_ADC0_s = nullptr;
52  TH2 *h_ADC0_n = nullptr;
53  TH2 *h_ADC_s = nullptr;
54  TH2 *h_ADC_n = nullptr;
55 
56  TH2 *h_hits0_s = nullptr;
57  TH2 *h_hits0_n = nullptr;
58  TH2 *h_hits_s = nullptr;
59  TH2 *h_hits_n = nullptr;
60 
61  TH2 *h_ADC_corr = nullptr;
62  TH2 *h_hits_corr = nullptr;
63 
64  TH1 *h1_waveform_twrAvg = nullptr;
65  TH1 *h1_waveform_time = nullptr;
66  TH1 *h1_waveform_pedestal = nullptr;
67  TH1 *h_event = nullptr;
68  TH2 *h2_sepd_waveform = nullptr;
69 
70  TH1 *h1_sepd_fitting_sigDiff = nullptr;
71  TH1 *h1_sepd_fitting_pedDiff = nullptr;
72  TH1 *h1_sepd_fitting_timeDiff = nullptr;
73 
74  TH1 *h1_packet_chans = nullptr;
75  TH1 *h1_packet_length = nullptr;
76  TH1 *h1_packet_number = nullptr;
77  TH1 *h1_packet_event = nullptr;
78 
79  TH1 *h_ADC_channel[744] = {nullptr};
80 
81  std::string runtypestr = "Unknown";
83 
86 
87  std::vector<runningMean *> rm_packet_number;
88  std::vector<runningMean *> rm_packet_length;
89  std::vector<runningMean *> rm_packet_chans;
90 };
91 
92 #endif /* SEPD_SEPDMON_H */