Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
JEventProcessor_BCAL_LED.h
Go to the documentation of this file.
1 // $Id$
2 //
3 // File: JEventProcessor_BCAL_LED.h
4 //
5 
6 #ifndef _JEventProcessor_BCAL_LED_
7 #define _JEventProcessor_BCAL_LED_
8 
9 #include <JANA/JEventProcessor.h>
10 
11 #include <stdint.h>
12 #include <vector>
13 #include "TTree.h"
14 #include <JANA/JApplication.h>
15 #include <iostream>
16 #include <fstream>
17 
18 using namespace std;
19 using namespace jana;
20 
21 #include "BCAL/DBCALDigiHit.h"
22 #include "BCAL/DBCALHit.h"
23 #include "BCAL/DBCALPoint.h"
24 #include "BCAL/DBCALUnifiedHit.h"
25 #include "DAQ/Df250PulseIntegral.h"
26 #include "DAQ/Df250WindowRawData.h"
27 #include "TRIGGER/DL1Trigger.h"
28 
29 #include <TDirectory.h>
30 #include <TH3.h>
31 #include <TH2.h>
32 #include <TH1.h>
33 #include <TProfile2D.h>
34 #include <TStyle.h>
35 
37 
38 class JEventProcessor_BCAL_LED:public jana::JEventProcessor{
39  public:
42  const char* className(void){return "JEventProcessor_BCAL_LED";}
43 
44 // int NOtrig, GTPtrig, FPtrig, FPGTPtrig, trigUS, trigDS, trigCosmic;
45 // int low_down_1_counter, low_down_2_counter, low_down_3_counter, low_down_4_counter, low_up_1_counter, low_up_2_counter, low_up_3_counter, low_up_4_counter, high_down_1_counter, high_down_2_counter, high_down_3_counter, high_down_4_counter, high_up_1_counter, high_up_2_counter, high_up_3_counter, high_up_4_counter;
46 // int unidentified, ledcounter;
47  int adccount;
48 
49  private:
50  jerror_t init(void); ///< Called once at program start.
51  jerror_t brun(jana::JEventLoop *eventLoop, int32_t runnumber); ///< Called everytime a new run number is detected.
52  jerror_t evnt(jana::JEventLoop *eventLoop, uint64_t eventnumber); ///< Called every event.
53  jerror_t erun(void); ///< Called everytime run number changes, provided brun has been called.
54  jerror_t fini(void); ///< Called after last event of last event source has been processed.
55 
56  //TREE
58  //thread_local: Each thread has its own object: no lock needed
59  //important: manages it's own data internally: don't want to call new/delete every event!
60  static thread_local DTreeFillData dTreeFillData;
61 
62 //NEVER EVER MAKE THESE STATIC GLOBAL EVER AGAIN! SHAME!
63 
64 // root hist pointers
65 TProfile *bcal_vevent = NULL;
66 
67 TProfile *low_up_1 = NULL;
68 TProfile *low_up_2 = NULL;
69 TProfile *low_up_3 = NULL;
70 TProfile *low_up_4 = NULL;
71 TProfile *low_down_1 = NULL;
72 TProfile *low_down_2 = NULL;
73 TProfile *low_down_3 = NULL;
74 TProfile *low_down_4 = NULL;
75 
76 TProfile *high_up_1 = NULL;
77 TProfile *high_up_2 = NULL;
78 TProfile *high_up_3 = NULL;
79 TProfile *high_up_4 = NULL;
80 TProfile *high_down_1 = NULL;
81 TProfile *high_down_2 = NULL;
82 TProfile *high_down_3 = NULL;
83 TProfile *high_down_4 = NULL;
84 
85 // Histograms added by Elton for z distributions
86 
87 TProfile* h2_ledboth_Aall_vs_event = NULL;
88 TProfile* h2_ledboth_sector_vs_event = NULL;
89 
90 TH1I* h1_ledup_z_all = NULL;;
91 TH2I* h2_ledup_z_vs_cellid = NULL;
92 TH1I* h1_ledup_sector = NULL;
93 TH1I* h1_ledup_sector_config = NULL;
94 TH1I* h1_ledup_Tdiff_all = NULL;
95 TH1I* h1_ledup_Tup_all = NULL;
96 TH1I* h1_ledup_Tdown_all = NULL;
97 TH1I* h1_ledup_Aup_all = NULL;
98 TH1I* h1_ledup_Adown_all = NULL;
99 TH2I* h2_ledup_Aup_vs_z = NULL;
100 TH2I* h2_ledup_Adown_vs_z = NULL;
101 TProfile* h2_ledup_Aup_vs_event = NULL;
102 TProfile* h2_ledup_Adown_vs_event = NULL;
103 TProfile* h2_ledup_Aall_vs_event = NULL;
104 TProfile* h2_ledup_sector_vs_event = NULL;
105 
106 TH1I* h1_leddown_z_all = NULL;
107 TH2I* h2_leddown_z_vs_cellid = NULL;
108 TH1I* h1_leddown_sector = NULL;
109 TH1I* h1_leddown_sector_config = NULL;
110 TH1I* h1_leddown_Tdiff_all = NULL;
111 TH1I* h1_leddown_Tup_all = NULL;
112 TH1I* h1_leddown_Tdown_all = NULL;
113 TH1I* h1_leddown_Aup_all = NULL;
114 TH1I* h1_leddown_Adown_all = NULL;
115 TH2I* h2_leddown_Aup_vs_z = NULL;
116 TH2I* h2_leddown_Adown_vs_z = NULL;
117 TProfile* h2_leddown_Aup_vs_event = NULL;
118 TProfile* h2_leddown_Adown_vs_event = NULL;
119 TProfile* h2_leddown_Aall_vs_event = NULL;
120 TProfile* h2_leddown_sector_vs_event = NULL;
121 
122 
123 
124 };
125 
126 #endif // _JEventProcessor_BCAL_LED_
static thread_local DTreeFillData dTreeFillData