Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
BbcMon.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file BbcMon.h
1 #ifndef BBC_BBCMON_H
2 #define BBC_BBCMON_H
3 
4 #include <onlmon/OnlMon.h>
5 
6 class Event;
7 //class OnlMonDB;
8 class TH1;
9 class TH2;
10 class TF1;
11 class TH2Poly;
12 class OnlBbcEvent;
13 class BbcGeom;
14 
15 class BbcMon : public OnlMon
16 {
17 public:
18  explicit BbcMon(const std::string &name = "BBCMON");
19  virtual ~BbcMon();
20 
21  int process_event(Event *evt) override;
22  int Init() override; // Done once at start of server
23  int BeginRun(const int runno) override; // Done at every start of run
24  int EndRun(const int runno) override; // Done at the end of every run
25  int Reset() override;
26 
27 protected:
28  int DBVarInit();
29 
30  OnlBbcEvent *bevt { nullptr };
31 
32  int evtcnt = 0;
33  //OnlMonDB *dbvars = nullptr;
34 
35  BbcGeom *bbcgeom = nullptr; // contains positions of BBC PMTs
36 
37  TH2 *bbc_adc = nullptr;
38  TH2 *bbc_tdc = nullptr;
39  TH2 *bbc_tdc_overflow = nullptr;
40  TH1 *bbc_tdc_overflow_each[128] = {}; // should be [nPMT_BBC], need to fix
41  // TH1 *bbc_nhit[nTRIGGER];
42 
43  TH2 *bbc_tdc_armhittime = nullptr;
44  TH1 *bbc_nevent_counter = nullptr;
45 
46  TH1 *bbc_zvertex = nullptr;
47  TH1 *bbc_zvertex_bbll1 = nullptr;
48  TH1 *bbc_zvertex_short {nullptr}; // Used for short time scales
49  TF1 *f_zvtx {nullptr}; // Used for fitting central vertex peak
50  //TH1 *bbc_zvertex_bbll1_novtx = nullptr;
51  //TH1 *bbc_zvertex_bbll1_narrowvtx = nullptr; // Run11 pp
52 
53  TH2 *bbc_tzero_zvtx = nullptr;
54  TH1 *bbc_avr_hittime = nullptr;
55  TH1 *bbc_south_hittime = nullptr;
56  TH1 *bbc_north_hittime = nullptr;
57  TH1 *bbc_south_chargesum = nullptr;
58  TH1 *bbc_north_chargesum = nullptr;
59  TH1 *bbc_prescale_hist = nullptr;
60 
61  //TH2 *bbc_tmax[2] = {}; // [0 == time ch, 1 == chg ch], max sample in evt vs ch
62  TH2 *bbc_time_wave = nullptr; // raw waveforms, time ch
63  TH2 *bbc_charge_wave = nullptr; // raw waveforms, charge ch
64  //TH2 *bbc_trange = nullptr; // subtracted tdc at maxsamp vs ch
65 
66  TH2Poly *bbc_south_hitmap = nullptr; // hitmap
67  TH2Poly *bbc_north_hitmap = nullptr; // hitmap
68 
69 };
70 
71 #endif /* BBC_BBCMON_H */