48 static constexpr double clk127To1ns = 7.8;
55 virtual void event()
override;
57 virtual void endRun()
override;
74 int m_nHistClassesActual = 3;
79 int start_skim_topdqm = 0;
80 int end_skim_topdqm = 0;
83 TH2I* h_top_nt0decisions_vs_hist_class[
nskim_topdqm] = {
nullptr};
85 TH1I* h_top_gdl_match_decision_number[
nskim_topdqm] = {
nullptr};
117 TH1I* h_ecl_gdl_top_timing_diff_both[
nskim_topdqm] = {
nullptr};
118 TH1I* h_ecl_top_top_timing_diff_both[
nskim_topdqm] = {
nullptr};
120 TH2I* h_decisionNumberVsNumberDecisionsGood[
nskim_topdqm] = {
nullptr};
121 TH2I* h_decisionNumberVsNumberDecisionsBad[
nskim_topdqm] = {
nullptr};
123 TH1I* h_ecl_gdl_top_timing_diff_good[
nskim_topdqm] = {
nullptr};
124 TH1I* h_ecl_top_top_timing_diff_good[
nskim_topdqm] = {
nullptr};
126 TH2I* h_top_ecltop_timing_diff_vs_toptop_good[
nskim_topdqm] = {
nullptr};
127 TH2I* h_gdl_ecltop_timing_diff_vs_toptop_good[
nskim_topdqm] = {
nullptr};
128 TH2I* h_gdl_ecltop_timing_diff_vs_ecltop_good[
nskim_topdqm] = {
nullptr};
130 TH1I* h_topCombinedTimingTopGood[
nskim_topdqm] = {
nullptr};
131 TH1I* h_topNSlotsCombinedTimingTopGood[
nskim_topdqm] = {
nullptr};
135 TH1I* h_topCombinedTimingTopAll[
nskim_topdqm] = {
nullptr};
136 TH1I* h_topNSlotsCombinedTimingTopAll[
nskim_topdqm] = {
nullptr};
140 TH2I* h_topNSlotsCombinedTimingVsNHitsTopAll[
nskim_topdqm] = {
nullptr};
170 TH1I* h_ecl_gdl_top_timing_diff_bad[
nskim_topdqm] = {
nullptr};
171 TH1I* h_ecl_top_top_timing_diff_bad[
nskim_topdqm] = {
nullptr};
173 TH2I* h_top_ecltop_timing_diff_vs_toptop_bad[
nskim_topdqm] = {
nullptr};
174 TH2I* h_gdl_ecltop_timing_diff_vs_toptop_bad[
nskim_topdqm] = {
nullptr};
175 TH2I* h_gdl_ecltop_timing_diff_vs_ecltop_bad[
nskim_topdqm] = {
nullptr};
177 TH1I* h_topCombinedTimingTopBad[
nskim_topdqm] = {
nullptr};
178 TH1I* h_topNSlotsCombinedTimingTopBad[
nskim_topdqm] = {
nullptr};
198 TH1I* h_gdl_ecltop_timing_diff_5ns[
nskim_topdqm] = {
nullptr};
199 TH1I* h_gdl_cdctop_timing_diff_5ns[
nskim_topdqm] = {
nullptr};
201 TH1I* h_gdl_ecltop_timing_diff_2ns[
nskim_topdqm] = {
nullptr};
202 TH1I* h_gdl_ecltop_timing_diff_grl_matched_2ns[
nskim_topdqm] = {
nullptr};
203 TH1I* h_gdl_ecltop_timing_diff_no_grl_matched_2ns[
nskim_topdqm] = {
nullptr};
204 TH1I* h_gdl_ecltop_timing_diff_no_grl_at_all_2ns[
nskim_topdqm] = {
nullptr};
205 TH2I* h_gdl_ecltop_timing_diff_vs_nslots_2ns[
nskim_topdqm] = {
nullptr};
206 TH1I* h_top_ecltop_timing_diff_combined_2ns[
nskim_topdqm] = {
nullptr};
207 TH1I* h_top_ecltop_timing_diff_best_slot_2ns[
nskim_topdqm] = {
nullptr};
208 TH1I* h_gdl_cdctop_timing_diff_2ns[
nskim_topdqm] = {
nullptr};
219 TH2I* h_gdl_top_rvc_vs_top_timing[
nskim_topdqm] = {
nullptr};
224 TH1I* h_gdl_gdltop_rvc_diff_all[
nskim_topdqm] = {
nullptr};
225 TH1I* h_gdl_comtop_rvc_diff_all[
nskim_topdqm] = {
nullptr};
227 TH1I* h_gdl_gdltop_rvc_diff_good[
nskim_topdqm] = {
nullptr};
228 TH1I* h_gdl_comtop_rvc_diff_good[
nskim_topdqm] = {
nullptr};
230 TH1I* h_gdl_gdltop_rvc_diff_bad[
nskim_topdqm] = {
nullptr};
231 TH1I* h_gdl_comtop_rvc_diff_bad[
nskim_topdqm] = {
nullptr};
233 TH2I* h_gdl_ecltop_timing_diff_vs_slot[
nskim_topdqm] = {
nullptr};
234 TH2I* h_gdl_ecltop_timing_diff_vs_segment[
nskim_topdqm] = {
nullptr};
235 TH2I* h_gdl_ecltop_timing_diff_vs_nhits[
nskim_topdqm] = {
nullptr};
236 TH2I* h_gdl_ecltop_timing_diff_vs_logl[
nskim_topdqm] = {
nullptr};
244 TH2I* h_topTC2EnergyVsTC1EnergyAll[
nskim_topdqm] = {
nullptr};
245 TH2I* h_topTC2ThetaIdVsTC1ThetaIdAll[
nskim_topdqm] = {
nullptr};
246 TH2I* h_topTC2PhiIdVsTC1PhiIdAll[
nskim_topdqm] = {
nullptr};
247 TH3I* h_topTCPhiIdVsTCThetaIdAll[
nskim_topdqm] = {
nullptr};
249 TH2I* h_topTC2IdVsTC1IdGRLAll[
nskim_topdqm] = {
nullptr};
250 TH2I* h_topTC2EnergyVsTC1EnergyGRLAll[
nskim_topdqm] = {
nullptr};
251 TH2I* h_topTC2ThetaIdVsTC1ThetaIdGRLAll[
nskim_topdqm] = {
nullptr};
252 TH2I* h_topTC2PhiIdVsTC1PhiIdGRLAll[
nskim_topdqm] = {
nullptr};
253 TH3I* h_topTCPhiIdVsTCThetaIdGRLAll[
nskim_topdqm] = {
nullptr};
256 TH2I* h_topTC2EnergyVsTC1Energy[
nskim_topdqm] = {
nullptr};
257 TH2I* h_topTC2ThetaIdVsTC1ThetaId[
nskim_topdqm] = {
nullptr};
258 TH2I* h_topTC2PhiIdVsTC1PhiId[
nskim_topdqm] = {
nullptr};
259 TH3I* h_topTCPhiIdVsTCThetaId[
nskim_topdqm] = {
nullptr};
262 TH2I* h_topTC2EnergyVsTC1EnergyGRL[
nskim_topdqm] = {
nullptr};
263 TH2I* h_topTC2ThetaIdVsTC1ThetaIdGRL[
nskim_topdqm] = {
nullptr};
264 TH2I* h_topTC2PhiIdVsTC1PhiIdGRL[
nskim_topdqm] = {
nullptr};
265 TH3I* h_topTCPhiIdVsTCThetaIdGRL[
nskim_topdqm] = {
nullptr};
267 TH2I* h_gdl_ecltop_timing_diff_vs_grl_top_l1[
nskim_topdqm] = {
nullptr};
268 TH2I* h_gdl_top_l1_vs_grl_top_l1[
nskim_topdqm] = {
nullptr};
270 TH2I* h_grl_ntopslots_vs_ncdcslots[
nskim_topdqm] = {
nullptr};
271 TH1I* h_grl_ncdctopslots_matched[
nskim_topdqm] = {
nullptr};
272 TH2I* h_grl_topslots_vs_cdcslots_match[
nskim_topdqm] = {
nullptr};
277 int gdlLeafBitMap[320] = {0};
278 char gdlLeafNames[320][100] = {{0}};
280 int gdl_e_timtype = 0;
281 int gdl_e_gdll1rvc = 0;
282 int gdl_e_coml1rvc = 0;
283 int gdl_e_toptiming = 0;
284 int gdl_e_ecltiming = 0;
285 int gdl_e_cdctiming = 0;
286 int gdl_e_toprvc = 0;
287 int gdl_e_eclrvc = 0;
288 int gdl_e_cdcrvc = 0;
293 unsigned m_evtno = 0;
297 std::vector<int> skim;
311 std::vector<tcEcl> tcEclList;
314 inline bool operator()(
tcEcl const& a,
tcEcl const& b)
316 double i = a.tcEnergy;
317 double j = b.tcEnergy;
332 std::vector<slotDecision> slotDecisionList;
345 bool m_generatePostscriptFile;
346 std::string m_postScriptFileName;
348 bool m_doECLCorrelations;
349 bool m_doGDLCorrelations;
350 bool m_doGRLCorrelations;
352 bool m_requireEclBarrel;
353 bool m_requireEclBarrelB2B;
355 bool m_requireCDC2DTrack;
360 "software_trigger_cut&skim&accept_hadron",
361 "software_trigger_cut&skim&accept_tau_tau",
362 "software_trigger_cut&skim&accept_mumu_1trk",
363 "software_trigger_cut&skim&accept_mumu_2trk",
364 "software_trigger_cut&skim&accept_gamma_gamma",
365 "software_trigger_cut&skim&accept_bhabha",
366 "software_trigger_cut&skim&accept_hadronb",
367 "software_trigger_cut&skim&accept_hadronb1",
368 "software_trigger_cut&skim&accept_hadronb2",
369 "software_trigger_cut&skim&accept_mumutight"