Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CemcMon.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file CemcMon.h
1 #ifndef CEMC_CEMCMON_H
2 #define CEMC_CEMCMON_H
3 
4 
5 #include <onlmon/OnlMon.h>
6 
7 #include <vector>
8 
10 class TowerInfoContainer;
11 class Event;
12 class TH1;
13 class TH2;
14 class Packet;
15 class runningMean;
16 
17 class CemcMon : public OnlMon
18 {
19  public:
20  CemcMon(const std::string &name);
21  virtual ~CemcMon();
22 
23  int process_event(Event *evt);
24  int Init();
25  int BeginRun(const int runno);
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 
33  int idummy = 0;
34  TH2 *cemc_occupancy = nullptr;
35  TH2 *cemc_runningmean = nullptr;
36  TH1 *cemc_signal = nullptr;
37  TH1 *h1_cemc_adc = nullptr;
38 
39  const int Nsector = 64;
40  const int Ntower = 64*2*192;
41  const int packetlow = 6001;
42  const int packethigh = 6128;
43  const int m_nSamples = 16;
44  const int m_nChannels = 192;
45  const int templateDepth = 10000;
46  int eventCounter = 0;
47 
48  TH1* h1_packet_chans = nullptr;
49  TH1* h1_packet_length = nullptr;
50  TH1* h1_packet_number = nullptr;
51  TH1* h1_cemc_fitting_sigDiff = nullptr;
52  TH1* h1_cemc_fitting_pedDiff = nullptr;
53  TH1* h1_cemc_fitting_timeDiff = nullptr;
54  TH2* h2_cemc_hits = nullptr;
55  TH2* h2_waveform_twrAvg = nullptr;
56  TH1* h1_waveform_time = nullptr;
57  TH1* h1_waveform_pedestal = nullptr;
58  TH2* h2_cemc_rm = nullptr;
59  TH2* h2_cemc_mean = nullptr;
60  TH1* h1_sectorAvg_total = nullptr;
61  TH1* h1_event = nullptr;
62  TH1* h1_rm_sectorAvg[100] = {nullptr};
63 
64  std::vector<runningMean*> rm_vector_twr;
65  std::vector<runningMean*> rm_vector_sectAvg;
66 
67  std::string runtypestr = "Unknown";
69 
72 
73 
74  std::vector<runningMean*> rm_vector;
75 
76 };
77 
78 #endif /* CEMC_CEMCMON_H */