Skip to content
Snippets Groups Projects
Commit 99f6e154 authored by hallc-online's avatar hallc-online
Browse files

Scripts and DEF files for using THcPrimaryKine

parent 9180c4be
Branches
Tags
No related merge requests found
......@@ -7,6 +7,6 @@ hpcentral = 3.
ppcentral = 3.
hpartmass = 0.00051099
ppartmass = 0.00051099
ptargmass_amu=12.0
465-465
ppcentral = 0.750
\ No newline at end of file
#********************
# Block Definitions *
#********************
block T.shms.*
block P.ngcer.*
block P.dc.*
block P.tr.*
block P.hod.*
block P.hgcer.*
block P.aero.*
block P.cal.*
block P.gtr.*
block P.kin.*
#***********
# Single arm physics kinematics quantities
#************
TH1F p_q2 'SHMS Q2 ; Q2 (GeV2) ' P.kin.Q2 100 0 5
TH1F p_omega 'SHMS omega ; Ebeam-Escat (GeV)' P.kin.omega 100 0 5
TH1F p_w2 'SHMS W2 ; W2 (GeV2)' P.kin.W2 100 0 10
TH1F p_w 'SHMS W ; W (GeV)' P.kin.W 100 0 5
TH1F p_thscat 'SHMS Scattering angle ; SHMS scattering angle (deg)' P.kin.scat_ang_deg 100 12 18
#**********************
# Noble Gas Cherenkov *
#**********************
#------------------------------------------
# SHMS NGC GOOD Occupancy and Multiplicity
#------------------------------------------
TH1F pngcer_good_occ 'SHMS Noble Gas Cherenkov Good Occupancy; PMT Number; Number of Good ADC Hits' P.ngcer.numGoodAdcHits 4 0.5 4.5
TH1F pngcer_good_mult 'SHMS Noble Gas Cherenkov Good Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.ngcer.totNumGoodAdcHits 4 0.5 4.5
#-------------------------------------------------------------------------------
# SHMS NGC GOOD Pulse Pedestal / Integral / Raw Integral / Amplitude / Time
# GOOD --> (passed errorFlag cut and pulsetime cuts oN Min/Max ADC Time Window)
#-------------------------------------------------------------------------------
TH2F pngcer_good_pped_vs_pmt 'SHMS Noble Gas Cherenkov Good Pulse Pedestal vs. PMT Number; PMT Number; Pulse Pedestal / 1 ADC Units' [I+1] P.ngcer.goodAdcPed 4 0.5 4.5 400 300 700
TH2F pngcer_good_pi_vs_pmt 'SHMS Noble Gas Cherenkov Good Pulse Integral vs. PMT Number; PMT Number; Pulse Integral / 50 ADC Units' [I+1] P.ngcer.goodAdcPulseInt 4 0.5 4.5 600 0 30000 P.ngcer.goodAdcPulseInt>0.0
TH2F pngcer_good_pamp_vs_pmt 'SHMS Noble Gas Cherenkov Good Pulse Amplitude vs. PMT Number; PMT Number; Pulse Amplitude / 20 ADC Units' [I+1] P.ngcer.goodAdcPulseAmp 4 0.5 4.5 200 0 4000 P.ngcer.goodAdcPulseAmp>0.0
TH2F pngcer_good_ptime_vs_pmt 'SHMS Noble Gas Cherenkov Good Pulse Time vs. PMT Number; PMT Number; Pulse Time / 10 ADC Units' [I+1] P.ngcer.goodAdcPulseTime 4 0.5 4.5 350 0 3500 P.ngcer.goodAdcPulseTime>0.0
#-------------------------------
# SHMS NGC Number of P.E. / PMT
#-------------------------------
TH2F pngcer_npe 'SHMS Noble Gas Cherenkov Number of Photoelectrons vs. PMT Number; PMT Number; Number of Photoelectrons / PMT' [I+1] P.ngcer.npe 4 0.5 4.5 200 0 100 P.ngcer.npe>0.0
#-------------------------------
# SHMS NGC TOTAL NUMBER OF P.E.
#-------------------------------
TH1F pngcer_tot_npe 'SHMS Noble Gas Cherenkov Total Number of Photoelectrons; Total Number of Photoelectrons; Number of Entries / 0.5 Photoelectrons' P.ngcer.npeSum 200 0 100 P.ngcer.npeSum>0.0
#--------------------------
# SHMS NGC TRACK MATCHING
#--------------------------
sTH1F pngcer_trk_match 'SHMS Noble Gas Cherenkov Tracks Matches; PMT Number; Number of Tracks Matched' P.ngcer.numTracksMatched 4 0.5 4.5
sTH1F pngcer_trk_fired 'SHMS Noble Gas Cherenkov Tracks Fired; PMT Number; Number of Tracks Fired' P.ngcer.numTracksFired 4 0.5 4.5
#*****************
# Drift Chambers *
#*****************
#------------------
# SHMS DC WIRE MAP
#------------------
TH1F pdc1u1_wirenum 'SHMS DC 1U1 Wiremap; Wire Number; Number of Entries' P.dc.1u1.wirenum 107 0.5 107.5
TH1F pdc1u2_wirenum 'SHMS DC 1U2 Wiremap; Wire Number; Number of Entries' P.dc.1u2.wirenum 107 0.5 107.5
TH1F pdc1x1_wirenum 'SHMS DC 1X1 Wiremap; Wire Number; Number of Entries' P.dc.1x1.wirenum 79 0.5 79.5
TH1F pdc1x2_wirenum 'SHMS DC 1X2 Wiremap; Wire Number; Number of Entries' P.dc.1x2.wirenum 79 0.5 79.5
TH1F pdc1v1_wirenum 'SHMS DC 1V1 Wiremap; Wire Number; Number of Entries' P.dc.1v1.wirenum 107 0.5 107.5
TH1F pdc1v2_wirenum 'SHMS DC 1V2 Wiremap; Wire Number; Number of Entries' P.dc.1v2.wirenum 107 0.5 107.5
TH1F pdc2v2_wirenum 'SHMS DC 2V2 Wiremap; Wire Number; Number of Entries' P.dc.2v2.wirenum 107 0.5 107.5
TH1F pdc2v1_wirenum 'SHMS DC 2V1 Wiremap; Wire Number; Number of Entries' P.dc.2v1.wirenum 107 0.5 107.5
TH1F pdc2x2_wirenum 'SHMS DC 2X2 Wiremap; Wire Number; Number of Entries' P.dc.2x2.wirenum 79 0.5 79.5
TH1F pdc2x1_wirenum 'SHMS DC 2X1 Wiremap; Wire Number; Number of Entries' P.dc.2x1.wirenum 79 0.5 79.5
TH1F pdc2u2_wirenum 'SHMS DC 2U2 Wiremap; Wire Number; Number of Entries' P.dc.2u2.wirenum 107 0.5 107.5
TH1F pdc2u1_wirenum 'SHMS DC 2U1 Wiremap; Wire Number; Number of Entries' P.dc.2u1.wirenum 107 0.5 107.5
#------------------------------
# SHMS DC DRIFT TIME PER PLANE
#------------------------------
TH1F pdc1u1_drifttime 'SHMS DC 1U1 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.1u1.time 400 -50 350
TH1F pdc1u2_drifttime 'SHMS DC 1U2 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.1u2.time 400 -50 350
TH1F pdc1x1_drifttime 'SHMS DC 1X1 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.1x1.time 400 -50 350
TH1F pdc1x2_drifttime 'SHMS DC 1X2 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.1x2.time 400 -50 350
TH1F pdc1v1_drifttime 'SHMS DC 1V1 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.1v1.time 400 -50 350
TH1F pdc1v2_drifttime 'SHMS DC 1V2 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.1v2.time 400 -50 350
TH1F pdc2v2_drifttime 'SHMS DC 2V2 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.2v2.time 400 -50 350
TH1F pdc2v1_drifttime 'SHMS DC 2V1 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.2v1.time 400 -50 350
TH1F pdc2x2_drifttime 'SHMS DC 2X2 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.2x2.time 400 -50 350
TH1F pdc2x1_drifttime 'SHMS DC 2X1 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.2x1.time 400 -50 350
TH1F pdc2u2_drifttime 'SHMS DC 2U2 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.2u2.time 400 -50 350
TH1F pdc2u1_drifttime 'SHMS DC 2U1 Drift Time; Drift Time (ns); Number of Entries / 1 ns' P.dc.2u1.time 400 -50 350
#----------------------------------
# SHMS DC DRIFT TIME VS. WIRENUMBER
#----------------------------------
TH2F pdc1u1_drifttime_vs_wirenum 'SHMS DC 1U1Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.1u1.wirenum P.dc.1u1.time 107 0.5 107.5 500 0 500
TH2F pdc1u2_drifttime_vs_wirenum 'SHMS DC 1U2Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.1u2.wirenum P.dc.1u2.time 107 0.5 107.5 500 0 500
TH2F pdc1x1_drifttime_vs_wirenum 'SHMS DC 1X1Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.1x1.wirenum P.dc.1x1.time 79 0.5 79.5 500 0 500
TH2F pdc1x2_drifttime_vs_wirenum 'SHMS DC 1X2Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.1x2.wirenum P.dc.1x2.time 79 0.5 79.5 500 0 500
TH2F pdc1v1_drifttime_vs_wirenum 'SHMS DC 1V1Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.1v1.wirenum P.dc.1v1.time 107 0.5 107.5 500 0 500
TH2F pdc1v2_drifttime_vs_wirenum 'SHMS DC 1V2Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.1v2.wirenum P.dc.1v2.time 107 0.5 107.5 500 0 500
TH2F pdc2v2_drifttime_vs_wirenum 'SHMS DC 2V2Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.2v2.wirenum P.dc.2v2.time 107 0.5 107.5 500 0 500
TH2F pdc2v1_drifttime_vs_wirenum 'SHMS DC 2V1Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.2v1.wirenum P.dc.2v1.time 107 0.5 107.5 500 0 500
TH2F pdc2x2_drifttime_vs_wirenum 'SHMS DC 2X2Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.2x2.wirenum P.dc.2x2.time 79 0.5 79.5 500 0 500
TH2F pdc2x1_drifttime_vs_wirenum 'SHMS DC 2X1Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.2x1.wirenum P.dc.2x1.time 79 0.5 79.5 500 0 500
TH2F pdc2u2_drifttime_vs_wirenum 'SHMS DC 2U2Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.2u2.wirenum P.dc.2u2.time 107 0.5 107.5 500 0 500
TH2F pdc2u1_drifttime_vs_wirenum 'SHMS DC 2U1Drift Time vs. Wire Number; Wire Number; Drift Time (ns)' P.dc.2u1.wirenum P.dc.2u1.time 107 0.5 107.5 500 0 500
#----------------------------------
# SHMS DC Drift Distance Per Plane
#----------------------------------
TH1F pdc1u1_ddist 'SHMS 1U1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1u1.dist 50 -0.1 0.6
TH1F pdc1u1_ddist_cut 'SHMS 1U1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1u1.dist 50 -0.1 0.6 time_cut1
TH1F pdc1u2_ddist 'SHMS 1U2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1u2.dist 50 -0.1 0.6
TH1F pdc1u2_ddist_cut 'SHMS 1U2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1u2.dist 50 -0.1 0.6 time_cut2
TH1F pdc1x1_ddist 'SHMS 1X1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1x1.dist 50 -0.1 0.6
TH1F pdc1x1_ddist_cut 'SHMS 1X1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1x1.dist 50 -0.1 0.6 time_cut3
TH1F pdc1x2_ddist 'SHMS 1X2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1x2.dist 50 -0.1 0.6
TH1F pdc1x2_ddist_cut 'SHMS 1X2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1x2.dist 50 -0.1 0.6 time_cut4
TH1F pdc1v1_ddist 'SHMS 1V1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1v1.dist 50 -0.1 0.6
TH1F pdc1v1_ddist_cut 'SHMS 1V1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1v1.dist 50 -0.1 0.6 time_cut5
TH1F pdc1v2_ddist 'SHMS 1V2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1v2.dist 50 -0.1 0.6
TH1F pdc1v2_ddist_cut 'SHMS 1V2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.1v2.dist 50 -0.1 0.6 time_cut6
TH1F pdc2v2_ddist 'SHMS 2V2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2v2.dist 50 -0.1 0.6
TH1F pdc2v2_ddist_cut 'SHMS 2V2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2v2.dist 50 -0.1 0.6 time_cut7
TH1F pdc2v1_ddist 'SHMS 2V1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2v1.dist 50 -0.1 0.6
TH1F pdc2v1_ddist_cut 'SHMS 2V1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2v1.dist 50 -0.1 0.6 time_cut8
TH1F pdc2x2_ddist 'SHMS 2X2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2x2.dist 50 -0.1 0.6
TH1F pdc2x2_ddist_cut 'SHMS 2X2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2x2.dist 50 -0.1 0.6 time_cut9
TH1F pdc2x1_ddist 'SHMS 2X1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2x1.dist 50 -0.1 0.6
TH1F pdc2x1_ddist_cut 'SHMS 2X1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2x1.dist 50 -0.1 0.6 time_cut10
TH1F pdc2u2_ddist 'SHMS 2U2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2u2.dist 50 -0.1 0.6
TH1F pdc2u2_ddist_cut 'SHMS 2U2 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2u2.dist 50 -0.1 0.6 time_cut11
TH1F pdc2u1_ddist 'SHMS 2U1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2u1.dist 50 -0.1 0.6
TH1F pdc2u1_ddist_cut 'SHMS 2U1 Drift Distance; Drift Distance (cm); Number of Entries' P.dc.2u1.dist 50 -0.1 0.6 time_cut12
#----------------------------------------
# SHMS DC Drift Distance vs. Wire number
#----------------------------------------
TH2F pdc1u1_wirenum_vs_ddist 'SHMS 1U1 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.1u1.wirenum P.dc.1u1.dist 107 0.5 107.5 300 -0.1 0.6
TH2F pdc1u2_wirenum_vs_ddist 'SHMS 1U2 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.1u2.wirenum P.dc.1u2.dist 107 0.5 107.5 300 -0.1 0.6
TH2F pdc1x1_wirenum_vs_ddist 'SHMS 1X1 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.1x1.wirenum P.dc.1x1.dist 79 0.5 79.5 300 -0.1 0.6
TH2F pdc1x2_wirenum_vs_ddist 'SHMS 1X2 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.1x2.wirenum P.dc.1x2.dist 79 0.5 79.5 300 -0.1 0.6
TH2F pdc1v1_wirenum_vs_ddist 'SHMS 1V1 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.1v1.wirenum P.dc.1v1.dist 107 0.5 107.5 300 -0.1 0.6
TH2F pdc1v2_wirenum_vs_ddist 'SHMS 1V2 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.1v2.wirenum P.dc.1v2.dist 107 0.5 107.5 300 -0.1 0.6
TH2F pdc2u2_wirenum_vs_ddist 'SHMS 2U2 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.2u2.wirenum P.dc.2u2.dist 107 0.5 107.5 300 -0.1 0.6
TH2F pdc2u1_wirenum_vs_ddist 'SHMS 2U1 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.2u1.wirenum P.dc.2u1.dist 107 0.5 107.5 300 -0.1 0.6
TH2F pdc2x2_wirenum_vs_ddist 'SHMS 2X2 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.2x2.wirenum P.dc.2x2.dist 79 0.5 79.5 300 -0.1 0.6
TH2F pdc2x1_wirenum_vs_ddist 'SHMS 2X1 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.2x1.wirenum P.dc.2x1.dist 79 0.5 79.5 300 -0.1 0.6
TH2F pdc2v2_wirenum_vs_ddist 'SHMS 2V2 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.2v2.wirenum P.dc.2v2.dist 107 0.5 107.5 300 -0.1 0.6
TH2F pdc2v1_wirenum_vs_ddist 'SHMS 2V1 Wiremap vs. Drift Distance; Wire Number; Drift Distance (cm)' P.dc.2v1.wirenum P.dc.2v1.dist 107 0.5 107.5 300 -0.1 0.6
#-----------------------------
# SHMS DC RESIDUALS PER PLANE
#-----------------------------
TH1F pdc1u1_residuals 'SHMS 1U1 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[0] 200 -1.0 1.0
TH1F pdc1u2_residuals 'SHMS 1U2 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[1] 200 -1.0 1.0
TH1F pdc1x1_residuals 'SHMS 1X1 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[2] 200 -1.0 1.0
TH1F pdc1x2_residuals 'SHMS 1X2 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[3] 200 -1.0 1.0
TH1F pdc1v1_residuals 'SHMS 1V1 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[4] 200 -1.0 1.0
TH1F pdc1v2_residuals 'SHMS 1V2 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[5] 200 -1.0 1.0
TH1F pdc2v2_residuals 'SHMS 2V2 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[6] 200 -1.0 1.0
TH1F pdc2v1_residuals 'SHMS 2V1 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[7] 200 -1.0 1.0
TH1F pdc2x2_residuals 'SHMS 2X2 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[8] 200 -1.0 1.0
TH1F pdc2x1_residuals 'SHMS 2X1 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[9] 200 -1.0 1.0
TH1F pdc2u2_residuals 'SHMS 2U2 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[10] 200 -1.0 1.0
TH1F pdc2u1_residuals 'SHMS 2U1 DC Residuals; Residuals (cm); Number of Entries / 0.01 cm' P.dc.residual[11] 200 -1.0 1.0
#-----------------------------------
# SHMS DC RESIDUALS vs. Wire Number
#-----------------------------------
TH2F pdc1u1_residuals_vs_wirenum 'SHMS 1U1 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.1u1.wirenum P.dc.residual[0] 107 0.5 107.5 200 -1.0 1.0
TH2F pdc1u2_residuals_vs_wirenum 'SHMS 1U2 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.1u2.wirenum P.dc.residual[1] 107 0.5 107.5 200 -1.0 1.0
TH2F pdc1x1_residuals_vs_wirenum 'SHMS 1X1 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.1x1.wirenum P.dc.residual[2] 79 0.5 79.5 200 -1.0 1.0
TH2F pdc1x2_residuals_vs_wirenum 'SHMS 1X2 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.1x2.wirenum P.dc.residual[3] 79 0.5 79.5 200 -1.0 1.0
TH2F pdc1v1_residuals_vs_wirenum 'SHMS 1V1 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.1v1.wirenum P.dc.residual[4] 107 0.5 107.5 200 -1.0 1.0
TH2F pdc1v2_residuals_vs_wirenum 'SHMS 1V2 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.1v2.wirenum P.dc.residual[5] 107 0.5 107.5 200 -1.0 1.0
TH2F pdc2v2_residuals_vs_wirenum 'SHMS 2V2 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.2v2.wirenum P.dc.residual[6] 107 0.5 107.5 200 -1.0 1.0
TH2F pdc2v1_residuals_vs_wirenum 'SHMS 2V1 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.2v1.wirenum P.dc.residual[7] 107 0.5 107.5 200 -1.0 1.0
TH2F pdc2x2_residuals_vs_wirenum 'SHMS 2X2 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.2x2.wirenum P.dc.residual[8] 79 0.5 79.5 200 -1.0 1.0
TH2F pdc2x1_residuals_vs_wirenum 'SHMS 2X1 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.2x1.wirenum P.dc.residual[9] 79 0.5 79.5 200 -1.0 1.0
TH2F pdc2u2_residuals_vs_wirenum 'SHMS 2U2 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.2u2.wirenum P.dc.residual[10] 107 0.5 107.5 200 -1.0 1.0
TH2F pdc2u1_residuals_vs_wirenum 'SHMS 2U1 DC Residuals vs. Wire Number; Wire Number; Residuals (cm)' P.dc.2u1.wirenum P.dc.residual[11] 107 0.5 107.5 200 -1.0 1.0
#-------------------------------------------
# SHMS DC TRACKING VARIABLES AT FOCAL PLANE
#-------------------------------------------
TH1F pdc_trk_mom 'SHMS DC Track Momentum; P (GeV); Number of Entires / 10 MeV' P.tr.p 600 0 6
TH1F pdc_trk_beta 'SHMS DC Track Beta; Beta (GeV); Number of Entires' P.tr.beta 300 -1.5 1.5
TH2F pdc_xfp_vs_yxp 'SHMS DC X_{fp} vs Y_{fp}; Y_{fp} (cm) / 1 cm; X_{fp} (cm) / 1 cm' P.dc.y_fp P.dc.x_fp 100 -50 50 100 -50 50
TH2F pdc_xpfp_vs_ypfp 'SHMS DC X'_{fp} vs Y'_{fp}; Y'_{fp} / 0.002 rad; X'_{fp} / 0.002 rad' P.dc.yp_fp P.dc.xp_fp 100 -.1 .1 100 -.1 .1
TH2F pdc_xfp_vs_ypfp 'SHMS DC X_{fp} vs Y'_{fp}; Y'_{fp} / 0.002 rad; X_{fp} / 1 cm' P.dc.yp_fp P.dc.x_fp 100 -.1 .1 100 -50 50
TH2F pdc_xfp_vs_xpfp 'SHMS DC X_{fp} vs X'_{fp}; X'_{fp} / 0.002 rad; X_{fp} / 1 cm' P.dc.xp_fp P.dc.x_fp 100 -.1 .1 100 -50 50
#*****************
# SHMS HODOSCOPES
#*****************
#-----------------------------------
# SHMS HODO GOOD ADC Multiplicities
#-----------------------------------
TH1F phodo_1x_good_adc_mult_pos 'SHMS 1X+ Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits' P.hod.1x.totNumGoodPosAdcHits 13 0.5 13.5
TH1F phodo_1y_good_adc_mult_pos 'SHMS 1Y+ Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits' P.hod.1y.totNumGoodPosAdcHits 13 0.5 13.5
TH1F phodo_2x_good_adc_mult_pos 'SHMS 2X+ Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits' P.hod.2x.totNumGoodPosAdcHits 14 0.5 14.5
TH1F phodo_2y_good_adc_mult_pos 'SHMS 2Y+ Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits' P.hod.2y.totNumGoodPosAdcHits 21 0.5 21.5
TH1F phodo_1x_good_adc_mult_neg 'SHMS 1X- Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good -ADC Hits' P.hod.1x.totNumGoodNegAdcHits 13 0.5 13.5
TH1F phodo_1y_good_adc_mult_neg 'SHMS 1Y- Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good -ADC Hits' P.hod.1y.totNumGoodNegAdcHits 13 0.5 13.5
TH1F phodo_2x_good_adc_mult_neg 'SHMS 2X- Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good -ADC Hits' P.hod.2x.totNumGoodNegAdcHits 14 0.5 14.5
TH1F phodo_2y_good_adc_mult_neg 'SHMS 2Y- Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good -ADC Hits' P.hod.2y.totNumGoodNegAdcHits 21 0.5 21.5
TH1F phodo_1x_good_adc_mult 'SHMS 1X Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.hod.1x.totNumGoodAdcHits 13 0.5 13.5
TH1F phodo_1y_good_adc_mult 'SHMS 1Y Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.hod.1y.totNumGoodAdcHits 13 0.5 13.5
TH1F phodo_2x_good_adc_mult 'SHMS 2X Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.hod.2x.totNumGoodAdcHits 14 0.5 14.5
TH1F phodo_2y_good_adc_mult 'SHMS 2Y Good ADC Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.hod.2y.totNumGoodAdcHits 21 0.5 21.5
#-----------------------------------
# SHMS HODO Good TDC Multiplicities
#-----------------------------------
TH1F phodo_1x_good_tdc_mult_pos 'SHMS 1X+ Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good +TDC Hits' P.hod.1x.totNumGoodPosTdcHits 13 0.5 13.5
TH1F phodo_1y_good_tdc_mult_pos 'SHMS 1Y+ Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good +TDC Hits' P.hod.1y.totNumGoodPosTdcHits 13 0.5 13.5
TH1F phodo_2x_good_tdc_mult_pos 'SHMS 2X+ Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good +TDC Hits' P.hod.2x.totNumGoodPosTdcHits 14 0.5 14.5
TH1F phodo_2y_good_tdc_mult_pos 'SHMS 2Y+ Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good +TDC Hits' P.hod.2y.totNumGoodPosTdcHits 21 0.5 21.5
TH1F phodo_1x_good_tdc_mult_neg 'SHMS 1X- Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good -TDC Hits' P.hod.1x.totNumGoodNegTdcHits 13 0.5 13.5
TH1F phodo_1y_good_tdc_mult_neg 'SHMS 1Y- Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good -TDC Hits' P.hod.1y.totNumGoodNegTdcHits 13 0.5 13.5
TH1F phodo_2x_good_tdc_mult_neg 'SHMS 2X- Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good -TDC Hits' P.hod.2x.totNumGoodNegTdcHits 14 0.5 14.5
TH1F phodo_2y_good_tdc_mult_neg 'SHMS 2Y- Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good -TDC Hits' P.hod.2y.totNumGoodNegTdcHits 21 0.5 21.5
TH1F phodo_1x_good_tdc_mult 'SHMS 1X Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good TDC Hits' P.hod.1x.totNumGoodTdcHits 13 0.5 13.5
TH1F phodo_1y_good_tdc_mult 'SHMS 1Y Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good TDC Hits' P.hod.1y.totNumGoodTdcHits 13 0.5 13.5
TH1F phodo_2x_good_tdc_mult 'SHMS 2X Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good TDC Hits' P.hod.2x.totNumGoodTdcHits 14 0.5 14.5
TH1F phodo_2y_good_tdc_mult 'SHMS 2Y Good TDC Multiplicity; Number of PMTs Hit; Total Number of Good TDC Hits' P.hod.2y.totNumGoodTdcHits 21 0.5 21.5
#---------------------------------
# SHMS HODO GOOD ADC OCCUPANCIES
#---------------------------------
TH1F phodo_1x_good_adc_occ_pos 'SHMS 1X+ Good ADC Occupancy; PMT Number; Number of Good +ADC Hits' P.hod.1x.numGoodPosAdcHits 13 0.5 13.5
TH1F phodo_1y_good_adc_occ_pos 'SHMS 1Y+ Good ADC Occupancy; PMT Number; Number of Good +ADC Hits' P.hod.1y.numGoodPosAdcHits 13 0.5 13.5
TH1F phodo_2x_good_adc_occ_pos 'SHMS 2X+ Good ADC Occupancy; PMT Number; Number of Good +ADC Hits' P.hod.2x.numGoodPosAdcHits 14 0.5 14.5
TH1F phodo_2y_good_adc_occ_pos 'SHMS 2Y+ Good ADC Occupancy; PMT Number; Number of Good +ADC Hits' P.hod.2y.numGoodPosAdcHits 21 0.5 21.5
TH1F phodo_1x_good_adc_occ_neg 'SHMS 1X- Good ADC Occupancy; PMT Number; Number of Good -ADC Hits' P.hod.1x.numGoodNegAdcHits 13 0.5 13.5
TH1F phodo_1y_good_adc_occ_neg 'SHMS 1Y- Good ADC Occupancy; PMT Number; Number of Good -ADC Hits' P.hod.1y.numGoodNegAdcHits 13 0.5 13.5
TH1F phodo_2x_good_adc_occ_neg 'SHMS 2X- Good ADC Occupancy; PMT Number; Number of Good -ADC Hits' P.hod.2x.numGoodNegAdcHits 14 0.5 14.5
TH1F phodo_2y_good_adc_occ_neg 'SHMS 2Y- Good ADC Occupancy; PMT Number; Number of Good -ADC Hits' P.hod.2y.numGoodNegAdcHits 21 0.5 21.5
#--------------------------------
# SHMS HODO GOOD TDC OCCUPANCIES
#--------------------------------
TH1F phodo_1x_good_tdc_occ_pos 'SHMS 1X+ Good TDC Occupancy; PMT Number; Number of Good +TDC Hits' P.hod.1x.numGoodPosTdcHits 13 0.5 13.5
TH1F phodo_1y_good_tdc_occ_pos 'SHMS 1Y+ Good TDC Occupancy; PMT Number; Number of Good +TDC Hits' P.hod.1y.numGoodPosTdcHits 13 0.5 13.5
TH1F phodo_2x_good_tdc_occ_pos 'SHMS 2X+ Good TDC Occupancy; PMT Number; Number of Good +TDC Hits' P.hod.2x.numGoodPosTdcHits 14 0.5 14.5
TH1F phodo_2y_good_tdc_occ_pos 'SHMS 2Y+ Good TDC Occupancy; PMT Number; Number of Good +TDC Hits' P.hod.2y.numGoodPosTdcHits 21 0.5 21.5
TH1F phodo_1x_good_tdc_occ_neg 'SHMS 1X- Good TDC Occupancy; PMT Number; Number of Good -TDC Hits' P.hod.1x.numGoodNegTdcHits 13 0.5 13.5
TH1F phodo_1y_good_tdc_occ_neg 'SHMS 1Y- Good TDC Occupancy; PMT Number; Number of Good -TDC Hits' P.hod.1y.numGoodNegTdcHits 13 0.5 13.5
TH1F phodo_2x_good_tdc_occ_neg 'SHMS 2X- Good TDC Occupancy; PMT Number; Number of Good -TDC Hits' P.hod.2x.numGoodNegTdcHits 14 0.5 14.5
TH1F phodo_2y_good_tdc_occ_neg 'SHMS 2Y- Good TDC Occupancy; PMT Number; Number of Good -TDC Hits' P.hod.2y.numGoodNegTdcHits 21 0.5 21.5
#---------------------
# GOOD PULSE PEDESTAL
#---------------------
TH2F phodo_1x_good_pped_vs_pmt_pos 'SHMS 1X+ Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1] P.hod.1x.GoodPosAdcPed 13 0.5 13.5 400 300 700 P.hod.1x.GoodPosAdcPed>0.0
TH2F phodo_1y_good_pped_vs_pmt_pos 'SHMS 1Y+ Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1] P.hod.1y.GoodPosAdcPed 13 0.5 13.5 400 300 700 P.hod.1y.GoodPosAdcPed>0.0
TH2F phodo_2x_good_pped_vs_pmt_pos 'SHMS 2X+ Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1] P.hod.2x.GoodPosAdcPed 14 0.5 14.5 400 300 700 P.hod.2x.GoodPosAdcPed>0.0
TH2F phodo_2y_good_pped_vs_pmt_pos 'SHMS 2Y+ Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1] P.hod.2y.GoodPosAdcPed 21 0.5 21.5 400 300 700 P.hod.2y.GoodPosAdcPed>0.0
TH2F phodo_1x_good_pped_vs_pmt_neg 'SHMS 1X- Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1] P.hod.1x.GoodNegAdcPed 13 0.5 13.5 400 300 700 P.hod.1x.GoodNegAdcPed>0.0
TH2F phodo_1y_good_pped_vs_pmt_neg 'SHMS 1Y- Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1] P.hod.1y.GoodNegAdcPed 13 0.5 13.5 400 300 700 P.hod.1y.GoodNegAdcPed>0.0
TH2F phodo_2x_good_pped_vs_pmt_neg 'SHMS 2X- Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1] P.hod.2x.GoodNegAdcPed 14 0.5 14.5 400 300 700 P.hod.2x.GoodNegAdcPed>0.0
TH2F phodo_2y_good_pped_vs_pmt_neg 'SHMS 2Y- Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1] P.hod.2y.GoodNegAdcPed 21 0.5 21.5 400 300 700 P.hod.2y.GoodNegAdcPed>0.0
#---------------------
# GOOD PULSE INTEGRAL
#---------------------
TH2F phodo_1x_good_pi_vs_pmt_pos 'SHMS 1X+ Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1] P.hod.1x.GoodPosAdcPulseInt 13 0.5 13.5 600 0 30000 P.hod.1x.GoodPosAdcPulseInt>0.0
TH2F phodo_1y_good_pi_vs_pmt_pos 'SHMS 1Y+ Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1] P.hod.1y.GoodPosAdcPulseInt 13 0.5 13.5 600 0 30000 P.hod.1y.GoodPosAdcPulseInt>0.0
TH2F phodo_2x_good_pi_vs_pmt_pos 'SHMS 2X+ Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1] P.hod.2x.GoodPosAdcPulseInt 14 0.5 14.5 600 0 30000 P.hod.2x.GoodPosAdcPulseInt>0.0
TH2F phodo_2y_good_pi_vs_pmt_pos 'SHMS 2Y+ Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1] P.hod.2y.GoodPosAdcPulseInt 21 0.5 21.5 600 0 30000 P.hod.2y.GoodPosAdcPulseInt>0.0
TH2F phodo_1x_good_pi_vs_pmt_neg 'SHMS 1X- Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1] P.hod.1x.GoodNegAdcPulseInt 13 0.5 13.5 600 0 30000 P.hod.1x.GoodNegAdcPulseInt>0.0
TH2F phodo_1y_good_pi_vs_pmt_neg 'SHMS 1Y- Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1] P.hod.1y.GoodNegAdcPulseInt 13 0.5 13.5 600 0 30000 P.hod.1y.GoodNegAdcPulseInt>0.0
TH2F phodo_2x_good_pi_vs_pmt_neg 'SHMS 2X- Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1] P.hod.2x.GoodNegAdcPulseInt 14 0.5 14.5 600 0 30000 P.hod.2x.GoodNegAdcPulseInt>0.0
TH2F phodo_2y_good_pi_vs_pmt_neg 'SHMS 2Y- Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1] P.hod.2y.GoodNegAdcPulseInt 21 0.5 21.5 600 0 30000 P.hod.2y.GoodNegAdcPulseInt>0.0
#-----------------------
# GOOD PULSE AMPLITUDE
#-----------------------
TH2F phodo_1x_good_pamp_vs_pmt_pos 'SHMS 1X+ Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1] P.hod.1x.GoodPosAdcPulseAmp 13 0.5 13.5 205 0 4100 P.hod.1x.GoodPosAdcPulseAmp>0.0
TH2F phodo_1y_good_pamp_vs_pmt_pos 'SHMS 1Y+ Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1] P.hod.1y.GoodPosAdcPulseAmp 13 0.5 13.5 205 0 4100 P.hod.1y.GoodPosAdcPulseAmp>0.0
TH2F phodo_2x_good_pamp_vs_pmt_pos 'SHMS 2X+ Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1] P.hod.2x.GoodPosAdcPulseAmp 14 0.5 14.5 205 0 4100 P.hod.2x.GoodPosAdcPulseAmp>0.0
TH2F phodo_2y_good_pamp_vs_pmt_pos 'SHMS 2Y+ Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1] P.hod.2y.GoodPosAdcPulseAmp 21 0.5 21.5 205 0 4100 P.hod.2y.GoodPosAdcPulseAmp>0.0
TH2F phodo_1x_good_pamp_vs_pmt_neg 'SHMS 1X- Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1] P.hod.1x.GoodNegAdcPulseAmp 13 0.5 13.5 205 0 4100 P.hod.1x.GoodNegAdcPulseAmp>0.0
TH2F phodo_1y_good_pamp_vs_pmt_neg 'SHMS 1Y- Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1] P.hod.1y.GoodNegAdcPulseAmp 13 0.5 13.5 205 0 4100 P.hod.1y.GoodNegAdcPulseAmp>0.0
TH2F phodo_2x_good_pamp_vs_pmt_neg 'SHMS 2X- Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1] P.hod.2x.GoodNegAdcPulseAmp 14 0.5 14.5 205 0 4100 P.hod.2x.GoodNegAdcPulseAmp>0.0
TH2F phodo_2y_good_pamp_vs_pmt_neg 'SHMS 2Y- Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1] P.hod.2y.GoodNegAdcPulseAmp 21 0.5 21.5 205 0 4100 P.hod.2y.GoodNegAdcPulseAmp>0.0
#---------------------
# GOOD ADC PULSE TIME
#---------------------
TH2F phodo_1x_good_ptime_vs_pmt_pos 'SHMS 1X+ Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] P.hod.1x.GoodPosAdcPulseTime 13 0.5 13.5 410 0 4100 P.hod.1x.GoodPosAdcPulseTime>0.0
TH2F phodo_1y_good_ptime_vs_pmt_pos 'SHMS 1Y+ Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] P.hod.1y.GoodPosAdcPulseTime 13 0.5 13.5 410 0 4100 P.hod.1y.GoodPosAdcPulseTime>0.0
TH2F phodo_2x_good_ptime_vs_pmt_pos 'SHMS 2X+ Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] P.hod.2x.GoodPosAdcPulseTime 14 0.5 14.5 410 0 4100 P.hod.2x.GoodPosAdcPulseTime>0.0
TH2F phodo_2y_good_ptime_vs_pmt_pos 'SHMS 2Y+ Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] P.hod.2y.GoodPosAdcPulseTime 21 0.5 21.5 410 0 4100 P.hod.2y.GoodPosAdcPulseTime>0.0
TH2F phodo_1x_good_ptime_vs_pmt_neg 'SHMS 1X- Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] P.hod.1x.GoodNegAdcPulseTime 13 0.5 13.5 410 0 4100 P.hod.1x.GoodNegAdcPulseTime>0.0
TH2F phodo_1y_good_ptime_vs_pmt_neg 'SHMS 1Y- Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] P.hod.1y.GoodNegAdcPulseTime 13 0.5 13.5 410 0 4100 P.hod.1y.GoodNegAdcPulseTime>0.0
TH2F phodo_2x_good_ptime_vs_pmt_neg 'SHMS 2X- Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] P.hod.2x.GoodNegAdcPulseTime 14 0.5 14.5 410 0 4100 P.hod.2x.GoodNegAdcPulseTime>0.0
TH2F phodo_2y_good_ptime_vs_pmt_neg 'SHMS 2Y- Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] P.hod.2y.GoodNegAdcPulseTime 21 0.5 21.5 410 0 4100 P.hod.2y.GoodNegAdcPulseTime>0.0
#---------------------------------------------------------
# GOOD TDC TIME UNCORRECTED (uncorrected for time offsets)
#---------------------------------------------------------
TH2F phodo_1x_good_tdctime_uncorr_vs_pmt_pos 'SHMS 1X+ Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1] P.hod.1x.GoodPosTdcTimeUnCorr 13 0.5 13.5 120 0 120 P.hod.1x.GoodPosTdcTimeUnCorr>0.0
TH2F phodo_1y_good_tdctime_uncorr_vs_pmt_pos 'SHMS 1Y+ Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1] P.hod.1y.GoodPosTdcTimeUnCorr 13 0.5 13.5 120 0 120 P.hod.1y.GoodPosTdcTimeUnCorr>0.0
TH2F phodo_2x_good_tdctime_uncorr_vs_pmt_pos 'SHMS 2X+ Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1] P.hod.2x.GoodPosTdcTimeUnCorr 14 0.5 14.5 120 0 120 P.hod.2x.GoodPosTdcTimeUnCorr>0.0
TH2F phodo_2y_good_tdctime_uncorr_vs_pmt_pos 'SHMS 2Y+ Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1] P.hod.2y.GoodPosTdcTimeUnCorr 21 0.5 21.5 120 0 120 P.hod.2y.GoodPosTdcTimeUnCorr>0.0
TH2F phodo_1x_good_tdctime_uncorr_vs_pmt_neg 'SHMS 1X- Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1] P.hod.1x.GoodNegTdcTimeUnCorr 13 0.5 13.5 120 0 120 P.hod.1x.GoodNegTdcTimeUnCorr>0.0
TH2F phodo_1y_good_tdctime_uncorr_vs_pmt_neg 'SHMS 1Y- Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1] P.hod.1y.GoodNegTdcTimeUnCorr 13 0.5 13.5 120 0 120 P.hod.1y.GoodNegTdcTimeUnCorr>0.0
TH2F phodo_2x_good_tdctime_uncorr_vs_pmt_neg 'SHMS 2X- Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1] P.hod.2x.GoodNegTdcTimeUnCorr 14 0.5 14.5 120 0 120 P.hod.2x.GoodNegTdcTimeUnCorr>0.0
TH2F phodo_2y_good_tdctime_uncorr_vs_pmt_neg 'SHMS 2Y- Good Uncorrected TDC Time vs. PMT Number; PMT Number; Good Uncorrected TDC Time / 1 TDC Unit' [I+1] P.hod.2y.GoodNegTdcTimeUnCorr 21 0.5 21.5 120 0 120 P.hod.2y.GoodNegTdcTimeUnCorr>0.0
#-----------------------------------------------------
# GOOD TDC TIME CORRECTED (corrected for time offsets)
#-----------------------------------------------------
TH2F phodo_1x_good_tdctime_corr_vs_pmt_pos 'SHMS 1X+ Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1] P.hod.1x.GoodPosTdcTimeCorr 13 0.5 13.5 120 0 120 P.hod.1x.GoodPosTdcTimeCorr>0.0
TH2F phodo_1y_good_tdctime_corr_vs_pmt_pos 'SHMS 1Y+ Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1] P.hod.1y.GoodPosTdcTimeCorr 13 0.5 13.5 120 0 120 P.hod.1y.GoodPosTdcTimeCorr>0.0
TH2F phodo_2x_good_tdctime_corr_vs_pmt_pos 'SHMS 2X+ Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1] P.hod.2x.GoodPosTdcTimeCorr 14 0.5 14.5 120 0 120 P.hod.2x.GoodPosTdcTimeCorr>0.0
TH2F phodo_2y_good_tdctime_corr_vs_pmt_pos 'SHMS 2Y+ Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1] P.hod.2y.GoodPosTdcTimeCorr 21 0.5 21.5 120 0 120 P.hod.2y.GoodPosTdcTimeCorr>0.0
TH2F phodo_1x_good_tdctime_corr_vs_pmt_neg 'SHMS 1X- Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1] P.hod.1x.GoodNegTdcTimeCorr 13 0.5 13.5 120 0 120 P.hod.1x.GoodNegTdcTimeCorr>0.0
TH2F phodo_1y_good_tdctime_corr_vs_pmt_neg 'SHMS 1Y- Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1] P.hod.1y.GoodNegTdcTimeCorr 13 0.5 13.5 120 0 120 P.hod.1y.GoodNegTdcTimeCorr>0.0
TH2F phodo_2x_good_tdctime_corr_vs_pmt_neg 'SHMS 2X- Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1] P.hod.2x.GoodNegTdcTimeCorr 14 0.5 14.5 120 0 120 P.hod.2x.GoodNegTdcTimeCorr>0.0
TH2F phodo_2y_good_tdctime_corr_vs_pmt_neg 'SHMS 2Y- Good Corrected TDC Time vs. PMT Number; PMT Number; Good Corrected TDC Time / 1 TDC Unit' [I+1] P.hod.2y.GoodNegTdcTimeCorr 21 0.5 21.5 120 0 120 P.hod.2y.GoodNegTdcTimeCorr>0.0
#-----------------------------------------------------------
# GOOD TDC TIME TOF CORRECTED (corrected for time of flight)
#-----------------------------------------------------------
TH2F phodo_1x_good_tdctime_tofcorr_vs_pmt_pos 'SHMS 1X+ Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1] P.hod.1x.GoodPosTdcTimeTOFCorr 13 0.5 13.5 120 0 120 P.hod.1x.GoodPosTdcTimeTOFCorr>0.0
TH2F phodo_1y_good_tdctime_tofcorr_vs_pmt_pos 'SHMS 1Y+ Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1] P.hod.1y.GoodPosTdcTimeTOFCorr 13 0.5 13.5 120 0 120 P.hod.1y.GoodPosTdcTimeTOFCorr>0.0
TH2F phodo_2x_good_tdctime_tofcorr_vs_pmt_pos 'SHMS 2X+ Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1] P.hod.2x.GoodPosTdcTimeTOFCorr 14 0.5 14.5 120 0 120 P.hod.2x.GoodPosTdcTimeTOFCorr>0.0
TH2F phodo_2y_good_tdctime_tofcorr_vs_pmt_pos 'SHMS 2Y+ Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1] P.hod.2y.GoodPosTdcTimeTOFCorr 21 0.5 21.5 120 0 120 P.hod.2y.GoodPosTdcTimeTOFCorr>0.0
TH2F phodo_1x_good_tdctime_tofcorr_vs_pmt_neg 'SHMS 1X- Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1] P.hod.1x.GoodNegTdcTimeTOFCorr 13 0.5 13.5 120 0 120 P.hod.1x.GoodNegTdcTimeTOFCorr>0.0
TH2F phodo_1y_good_tdctime_tofcorr_vs_pmt_neg 'SHMS 1Y- Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1] P.hod.1y.GoodNegTdcTimeTOFCorr 13 0.5 13.5 120 0 120 P.hod.1y.GoodNegTdcTimeTOFCorr>0.0
TH2F phodo_2x_good_tdctime_tofcorr_vs_pmt_neg 'SHMS 2X- Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1] P.hod.2x.GoodNegTdcTimeTOFCorr 14 0.5 14.5 120 0 120 P.hod.2x.GoodNegTdcTimeTOFCorr>0.0
TH2F phodo_2y_good_tdctime_tofcorr_vs_pmt_neg 'SHMS 2Y- Good TOF Corrected TDC Time vs. PMT Number; PMT Number; Good TOF Corrected TDC Time / 1 TDC Unit' [I+1] P.hod.2y.GoodNegTdcTimeTOFCorr 21 0.5 21.5 120 0 120 P.hod.2y.GoodNegTdcTimeTOFCorr>0.0
#----------------------------------------------------------------
# SHMS HODO TRACKING, TIMING AND Particle ID (PID) - BETA (v/c)
#----------------------------------------------------------------
TH1F phodo_beta_notrack 'SHMS Hodo Calculated Beta Without Track Info; Beta; Number of Entries / 0.02' P.hod.betanotrack 100 0 2.0 P.hod.betanotrack>0.0
TH1F phodo_beta 'SHMS Hodo Beta; Beta; Number of Entries / 0.02' P.hod.beta 100 0 2.0 P.hod.beta>0.0
TH1F phodo_fpHitsTime 'SHMS Hodo Focal Plane Time; Focal Plane Time (ns); Number of Entries / 1 ns' P.hod.fpHitsTime 90 0 90
TH1F phodo_starttime 'SHMS Hodo Start Time; Start Time (ns); Number of Entries / 1ns' P.hod.starttime 90 0 90
TH1F phodo_good_startime 'SHMS Hodo Good Start Time (ns); Good Start Time (ns); Number of Entries / 1ns' P.hod.goodstarttime 90 0 90
TH2F phodo_xhod_vs_yhod 'SHMS Hodo Projected X vs. Y; Y_hodo(cm) / 1mm; X_hodo(cm) / 1mm' P.hod.y_hodo P.hod.x_hodo 1000 -50 50 1000 -50 50
#**********************
# Heavy Gas Cherenkov *
#**********************
#-----------------------------------------
# SHMS HGC GOOD Occupancy and Multiplicity
#-----------------------------------------
TH1F phgcer_good_occ 'SHMS Heavy Gas Cherenkov Good Occupancy; PMT Number; Number Good ADC Hits' P.hgcer.numGoodAdcHits 4 0.5 4.5
TH1F phgcer_good_mult 'SHMS Heavy Gas Cherenkov Good Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.hgcer.totNumGoodAdcHits 4 0.5 4.5
#-------------------------------------------------------------------------------
# SHMS HGC GOOD Pulse Pedestal / Integral / Raw Integral / Amplitude / Time
# GOOD --> (passed errorFlag cut and pulsetime cuts oN Min/Max ADC Time Window)
#-------------------------------------------------------------------------------
TH2F phgcer_good_pped_vs_pmt 'SHMS Heavy Gas Cherenkov Good Pulse Pedestal vs. PMT Number; PMT Number; Pulse Pedestal / 1 ADC Units' [I+1] P.hgcer.goodAdcPed 4 0.5 4.5 400 300 700
TH2F phgcer_good_pi_vs_pmt 'SHMS Heavy Gas Cherenkov Good Pulse Integral vs. PMT Number; PMT Number; Pulse Integral / 50 ADC Units' [I+1] P.hgcer.goodAdcPulseInt 4 0.5 4.5 600 0 30000 P.hgcer.goodAdcPulseInt>0.0
TH2F phgcer_good_pamp_vs_pmt 'SHMS Heavy Gas Cherenkov Good Pulse Amplitude vs. PMT Number; PMT Number; Pulse Amplitude / 20 ADC Units' [I+1] P.hgcer.goodAdcPulseAmp 4 0.5 4.5 200 0 4000 P.hgcer.goodAdcPulseAmp>0.0
TH2F phgcer_good_ptime_vs_pmt 'SHMS Heavy Gas Cherenkov Good Pulse Time vs. PMT Number; PMT Number; Pulse Time / 10 ADC Units' [I+1] P.hgcer.goodAdcPulseTime 4 0.5 4.5 350 0 3500 P.hgcer.goodAdcPulseTime>0.0
#-------------------------------
# SHMS HGC Number of P.E. / PMT
#-------------------------------
TH2F phgcer_npe 'SHMS Heavy Gas Cherenkov Number of Photoelectrons vs. PMT Number; PMT Number; Number of Photoelectrons / PMT' [I+1] P.hgcer.npe 4 0.5 4.5 200 0 100 P.hgcer.npe>0.0
#-------------------------------
# SHMS HGC TOTAL NUMBER OF P.E.
#-------------------------------
TH1F phgcer_tot_npe 'SHMS Heavy Gas Cherenkov Total Number of Photoelectrons; Total Number of Photoelectrons; Number of Entries / 0.5 Photoelectrons' P.hgcer.npeSum 200 0 100 P.hgcer.npeSum>0.0
#--------------------------
# SHMS HGC TRACK MATCHING
#--------------------------
sTH1F phgcer_trk_match 'SHMS Noble Gas Cherenkov Track Matches; PMT Number; Number of Tracks Matched' P.hgcer.numTracksMatched 4 0.5 4.5
sTH1F phgcer_trk_fired 'SHMS Noble Gas Cherenkov Tracks Fired; PMT Number; Number of Tracks Fired' P.hgcer.numTracksFired 4 0.5 4.5
#***************
# SHMS AEROGEL *
#***************
#----------------------------------------------
# SHMS AEROGEL GOOD Occupancy and Multiplicity
#----------------------------------------------
TH1F paero_good_occ_pos 'SHMS Aero+ Good Occupancy; PMT Number; Number of Good +ADC Hits' P.aero.numGoodPosAdcHits 7 0.5 7.5
TH1F paero_good_occ_neg 'SHMS Aero- Good Occupancy; PMT Number; Number of Good -ADC Hits' P.aero.numGoodNegAdcHits 7 0.5 7.5
TH1F paero_good_mult_pos 'SHMS Aero+ Good Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits' P.aero.totNumGoodPosAdcHits 7 0.5 7.5
TH1F paero_good_mult_neg 'SHMS Aero- Good Multiplicity; Number of PMTs Hit; Total Number of Good -ADC Hits' P.aero.totNumGoodNegAdcHits 7 0.5 7.5
TH1F paero_good_mult 'SHMS Aero Good Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.aero.totnumGoodAdcHits 14 0.5 14.5
#-------------------------------
# SHMS AERO TOTAL NUMBER OF P.E.
#-------------------------------
TH1F paero_tot_npe_pos 'SHMS Aero+ Total Number of Photoelectrons; Total Number of Pos Photoelectrons; Number of Entries / 0.5 Photoelectrons' P.aero.posNpeSum 200 0 100 P.aero.posNpeSum>0.0
TH1F paero_tot_npe_neg 'SHMS Aero- Total Number of Photoelectrons; Total Number of Neg Photoelectrons; Number of Entries / 0.5 Photoelectrons' P.aero.negNpeSum 200 0 100 P.aero.negNpeSum>0.0
TH1F paero_tot_npe 'SHMS Aero Total Number of Photoelectrons; Total Number of Photoelectrons; Number of Entries / 0.5 Photoelectrons' P.aero.npeSum 200 0 100 P.aero.npeSum>0.0
#--------------------------------
# SHMS AERO Number of P.E. / PMT
#--------------------------------
TH2F paero_npe_pos 'SHMS Aero+ Number of Photoelectrons vs. PMT Number; PMT Number; Number of Photoelectrons / PMT' [I+1] P.aero.posNpe 7 0.5 7.5 200 0 100 P.aero.posNpe>0.0
TH2F paero_npe_neg 'SHMS Aero- Number of Photoelectrons vs. PMT Number; PMT Number; Number of Photoelectrons / PMT' [I+1] P.aero.negNpe 7 0.5 7.5 200 0 100 P.aero.negNpe>0.0
#------------------------------------------------------------------------------
# SHMS AERO GOOD Pulse Pedestal / Integral / Raw Integral / Amplitude / Time
# GOOD --> (passed errorFlag cut and pulsetime cuts oN Min/Max ADC Time Window)
#------------------------------------------------------------------------------
TH2F paero_good_pped_vs_pmt_pos 'SHMS Aero+ Good Pulse Pedestal vs. PMT Number; PMT Number; Pulse Pedestal / 1 ADC Units' [I+1] P.aero.goodPosAdcPed 7 0.5 7.5 400 300 700 P.aero.goodPosAdcPed>0.0
TH2F paero_good_pi_vs_pmt_pos 'SHMS Aero+ Good Pulse Integral vs. PMT Number; PMT Number; Pulse Integral / 50 ADC Units' [I+1] P.aero.goodPosAdcPulseInt 7 0.5 7.5 600 0 30000 P.aero.goodPosAdcPulseInt>0.0
TH2F paero_good_pamp_vs_pmt_pos 'SHMS Aero+ Good Pulse Amplitude vs. PMT Number; PMT Number; Pulse Amplitude / 20 ADC Units' [I+1] P.aero.goodPosAdcPulseAmp 7 0.5 7.5 200 0 4000 P.aero.goodPosAdcPulseAmp>0.0
TH2F paero_good_ptime_vs_pmt_pos 'SHMS Aero+ Good Pulse Time vs. PMT Number; PMT Number; Pulse Time / 10 ADC Units' [I+1] P.aero.goodPosAdcPulseTime 7 0.5 7.5 350 0 3500 P.aero.goodPosAdcPulseTime>0.0
TH2F paero_good_pped_vs_pmt_neg 'SHMS Aero- Good Pulse Pedestal vs. PMT Number; PMT Number; Pulse Pedestal / 1 ADC Units' [I+1] P.aero.goodNegAdcPed 7 0.5 7.5 400 300 700 P.aero.goodNegAdcPed>0.0
TH2F paero_good_pi_vs_pmt_neg 'SHMS Aero- Good Pulse Integral vs. PMT Number; PMT Number; Pulse Integral / 50 ADC Units' [I+1] P.aero.goodNegAdcPulseInt 7 0.5 7.5 600 0 30000 P.aero.goodNegAdcPulseInt>0.0
TH2F paero_good_pamp_vs_pmt_neg 'SHMS Aero- Good Pulse Amplitude vs. PMT Number; PMT Number; Pulse Amplitude / 20 ADC Units' [I+1] P.aero.goodNegAdcPulseAmp 7 0.5 7.5 200 0 4000 P.aero.goodNegAdcPulseAmp>0.0
TH2F paero_good_ptime_vs_pmt_neg 'SHMS Aero- Good Pulse Time vs. PMT Number; PMT Number; Pulse Time / 10 ADC Units' [I+1] P.aero.goodNegAdcPulseTime 7 0.5 7.5 350 0 3500 P.aero.goodNegAdcPulseTime>0.0
#*******************
# SHMS CALORIMETER *
#*******************
#--------------------------------------------
# SHMS PreSH GOOD Occupancy and Multiplicity
#--------------------------------------------
TH1F pcal_prshwr_good_occ_pos 'SHMS PreShower+ Good Occupancy; PMT Number; Number of Good +ADC Hits' P.cal.pr.numGoodPosAdcHits 14 0.5 14.5
TH1F pcal_prshwr_good_occ_neg 'SHMS PreShower- Good Occupancy; PMT Number; Number of Good -ADC Hits' P.cal.pr.numGoodNegAdcHits 14 0.5 14.5
TH1F pcal_prshwr_good_mult_pos 'SHMS PreShower+ Good Multiplicity; Number of PMTs Hit; Total Number of Good +ADC Hits' P.cal.pr.totNumGoodPosAdcHits 14 0.5 14.5
TH1F pcal_prshwr_good_mult_neg 'SHMS PreShower- Good Multiplicity; Number of PMTs Hit; Total Number of Good -ADC Hits' P.cal.pr.totNumGoodNegAdcHits 14 0.5 14.5
TH1F pcal_prshwr_good_mult 'SHMS PreShower Good Multiplicity; Number of PMTs Hit; Total Number of Good ADC Hits' P.cal.pr.totnumGoodAdcHits 28 0.5 28.5
#--------------------------------------------------------------------------------------------------
# GOOD PULSE PEDESTALS/INTEGRALS/AMPLITUDES/TIMES
# GOOD --> (passed errorFlag cut, pulsetime cuts oN Min/Max ADC Time Window, and ADC threshold cut)
#--------------------------------------------------------------------------------------------------
TH2F pcal_prshwr_good_pped_vs_pmt_pos 'SHMS PreShower+ Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1] P.cal.pr.goodPosAdcPed 14 0.5 14.5 400 300 700 P.cal.pr.goodPosAdcPed>0.0
TH2F pcal_prshwr_good_pi_vs_pmt_pos 'SHMS PreShower+ Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1] P.cal.pr.goodPosAdcPulseInt 14 0.5 14.5 600 0 30000 P.cal.pr.goodPosAdcPulseInt>0.0
TH2F pcal_prshwr_good_pamp_vs_pmt_pos 'SHMS PreShower+ Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1] P.cal.pr.goodPosAdcPulseAmp 14 0.5 14.5 200 0 4000 P.cal.pr.goodPosAdcPulseAmp>0.0
TH2F pcal_prshwr_good_ptime_vs_pmt_pos 'SHMS PreShower+ Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] P.cal.pr.goodPosAdcPulseTime 14 0.5 14.5 350 0 3500 P.cal.pr.goodPosAdcPulseTime>0.0
TH2F pcal_prshwr_good_pped_vs_pmt_neg 'SHMS PreShower- Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1] P.cal.pr.goodNegAdcPed 14 0.5 14.5 400 300 700 P.cal.pr.goodNegAdcPed>0.0
TH2F pcal_prshwr_good_pi_vs_pmt_neg 'SHMS PreShower- Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1] P.cal.pr.goodNegAdcPulseInt 14 0.5 14.5 600 0 30000 P.cal.pr.goodNegAdcPulseInt>0.0
TH2F pcal_prshwr_good_pamp_vs_pmt_neg 'SHMS PreShower- Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1] P.cal.pr.goodNegAdcPulseAmp 14 0.5 14.5 200 0 4000 P.cal.pr.goodNegAdcPulseAmp>0.0
TH2F pcal_prshwr_good_ptime_vs_pmt_neg 'SHMS PreShower- Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] P.cal.pr.goodNegAdcPulseTime 14 0.5 14.5 350 0 3500 P.cal.pr.goodNegAdcPulseTime>0.0
#------------------------------------------------------
# SHMS PRE-SHOWER ENERGY DEPOSITION vs. PMT HISTOGRAMS
# (calib consts (GAIN) are in GeV/ADC units )
#------------------------------------------------------
TH2F pcal_prshwr_Epos_vs_pmt 'SHMS PreShower+ Energy Deposition vs. PMT Number; PMT Number; Energy Deposition (0.01 GeV / ADC Units)' [I+1] P.cal.pr.epos 14 0.5 14.5 200 0 2 P.cal.pr.epos>0.0
TH2F pcal_prshwr_Eneg_vs_pmt 'SHMS PreShower- Energy Deposition vs. PMT Number; PMT Number; Energy Deposition (0.01 GeV / ADC Units)' [I+1] P.cal.pr.eneg 14 0.5 14.5 200 0 2 P.cal.pr.eneg>0.0
TH2F pcal_prshwr_Emean_vs_pmt 'SHMS PreShower Mean Energy Deposition vs. PMT Number; PMT Number; Mean Energy Deposition (0.01 GeV / ADC Units)' [I+1] P.cal.pr.emean 14 0.5 14.5 300 0 3 P.cal.pr.emean>0.0
#-------------------------------------------
# SHMS ENERGY DEPOSITION in PreShower PLANE
#-------------------------------------------
TH1F pcal_prshwr_Eplane_pos 'SHMS PreShower+ Energy Deposition; Energy Deposition (GeV); Number of Entries / 0.01 GeV' P.cal.pr.eplane_pos 200 0 2 P.cal.pr.eplane_pos>0.0
TH1F pcal_prshwr_Eplane_neg 'SHMS PreShower- Energy Deposition; Energy Deposition (GeV); Number of Entries / 0.01 GeV' P.cal.pr.eplane_neg 200 0 2 P.cal.pr.eplane_neg>0.0
TH1F pcal_prshwr_Eplane 'SHMS PreShower Total Energy Deposition; Total Energy Deposition (GeV); Number of Entries / 0.01 GeV' P.cal.pr.eplane 300 0 3 P.cal.pr.eplane>0.0
#---------------------------------------------
# SHMS Shower GOOD Occupancy and Multiplicity
#---------------------------------------------
TH1F pcal_shwr_good_occ 'SHMS Shower Good Occupancy; PMT Number; Number of Good ADC Hits' P.cal.fly.numGoodAdcHits 224 0.5 224.5
TH1F pcal_shwr_good_mult 'SHMS Shower Good Multiplicity; PMT Number; Total Number of Good ADC Hits' P.cal.fly.totNumGoodAdcHits 224 0.5 224.5
#-------------------------------------------------------------
# SHMS Shower GOOD PULSE PEDESTALS/INTEGRALS/AMPLITUDES/TIMES
#-------------------------------------------------------------
TH2F pcal_shwr_good_pped_vs_pmt 'SHMS Shower Good Pulse Pedestal vs. PMT Number; PMT Number; Good Pulse Pedestal / 1 ADC Unit' [I+1] P.cal.fly.goodAdcPed 224 0.5 224.5 700 300 1000 P.cal.fly.goodAdcPed>0.0
TH2F pcal_shwr_good_pi_vs_pmt 'SHMS Shower Good Pulse Integral vs. PMT Number; PMT Number; Good Pulse Integral / 50 ADC Units' [I+1] P.cal.fly.goodAdcPulseInt 224 0.5 224.5 600 0 30000 P.cal.fly.goodAdcPulseInt>0.0
TH2F pcal_shwr_good_pamp_vs_pmt 'SHMS Shower Good Pulse Amplitude vs. PMT Number; PMT Number; Good Pulse Amplitude / 20 ADC Units' [I+1] P.cal.fly.goodAdcPulseAmp 224 0.5 224.5 200 0 4000 P.cal.fly.goodAdcPulseAmp>0.0
TH2F pcal_shwr_good_ptime_vs_pmt 'SHMS Shower Good Pulse Time vs. PMT Number; PMT Number; Good Pulse Time / 10 ADC Units' [I+1] P.cal.fly.goodAdcPulseTime 224 0.5 224.5 350 0 3500 P.cal.fly.goodAdcPulseTime>0.0
#--------------------------------------------------
# SHMS SHOWER ENERGY DEPOSITION vs. PMT HISTOGRAMS
# (calib consts (GAIN) are in GeV/ADC units )
#--------------------------------------------------
TH2F pcal_shwr_E_vs_pmt 'SHMS Shower Energy Deposition vs. PMT Number; PMT Number; Energy Deposited (0.01 GeV / ADC Units)' [I+1] P.cal.fly.e 224 0.5 224.5 300 0 3 P.cal.fly.e>0.0
#--------------------------------------------------
# TOTAL ENERGY DEPOSITION IN THE SHMS SHOWER ARRAY
#--------------------------------------------------
TH1F pcal_shwr_Earray 'SHMS Shower Total Energy Deposition in Array; Total Energy Deposited (GeV); Number of Entries / 0.01 GeV' P.cal.fly.earray 600 0 6 P.cal.fly.earray>0.0
#-------------------------------------------------------------------------------------
# SHMS PRE-SHOWER AND SHOWER (CALORIMETER) TOTAL ENERGY DEPOSITION
# TOTAL ENERGY AND NORMALIZED ENERGY DEPOSITED IN CALORIMETER (SHOWER AND PRE-SHOWER)
#-------------------------------------------------------------------------------------
TH1F pcal_etot 'SHMS Calorimeter Total Energy Deposition; Total Energy Deposition (GeV); Number of Entries / 0.01 GeV' P.cal.etot 500 0 5 P.cal.etot>0.0
TH1F pcal_etot_norm 'SHMS Calorimeter Total Normalized Energy Deposition; Total Energy Deposited (GeV) / P0 (GeV); Number of Entries / 0.01' P.cal.etotnorm 500 0 5 P.cal.etotnorm>0.0
TH1F pcal_etrack 'SHMS Calorimeter Total Track Energy; Track Energy Deposited (GeV); Number of Entries / 0.1 GeV' P.cal.etrack 100 0 10 P.cal.etrack>0.0
TH1F pcal_etracknorm 'SHMS Calorimeter Normalized Track Energy; Trk. Energy Dep. (GeV) / Trk. P (GeV); Number of Entries / 0.1 ' P.cal.etracknorm 100 0 10 P.cal.etracknorm>0.0
TH1F pcal_etracknorm_track 'SHMS Calorimeter Normalized Track Energy (Ntrack > 0); Trk. Energy Dep. (GeV) / Trk. P (GeV); Number of Entries / 0.1 ' P.cal.etracknorm 100 0 10 P.cal.etracknorm>0.0&&P.dc.ntrack>0
TH1F pcal_enenorm_track_elec 'SHMS Cal energy/p (npeSum > .5&&abs(del)<8)' P.cal.etracknorm 300 0. 1.5 P.dc.ntrack>0&&P.ngcer.npeSum>.5&&P.hgcer.npeSum>.5&&P.gtr.dp>-8.&&P.gtr.dp<8.
TH1F pcal_enenorm_track_pion 'SHMS Cal energy/p (npeSum <.5&&abs(del)<8)' P.cal.etracknorm 300 0. 1.5 P.dc.ntrack>0&&P.ngcer.npeSum<.5&&P.hgcer.npeSum<.5&&P.gtr.dp>-8.&&P.gtr.dp<8.
TH2F pcal_ene_2dtrack 'SHMS Cal energy v energy track' P.cal.etrack P.cal.etot 1000 0. 5. 1000 0. 5. P.dc.ntrack>0
TH2F pcal_delta_etrack 'SHMS Delta v Cal energy/p ' P.cal.etracknorm P.gtr.dp 60 0. 1.5 80 -15. 25. P.dc.ntrack>0
TH2F pcal_ngnpe_etrack 'SHMS NG Cer Npe v Cal energy/p' P.cal.etracknorm P.ngcer.npeSum 300 0. 1.5 60 0. 15. P.dc.ntrack>0
TH2F pcal_hgnpe_etrack 'SHMS HG Cer Npe v Cal energy/p' P.cal.etracknorm P.hgcer.npeSum 300 0. 1.5 60 0. 15. P.dc.ntrack>0
#-------------------------------
# SHMS PID AND ACCEPTANCE PLOTS
#-------------------------------
TH2F hgc_vs_prshw 'SHMS HGC Total N.P.E. vs. PreSh Energy; Total PreSh Energy Deposition / 0.01 GeV; HGC Total N.P.E. / 0.5' P.cal.pr.eplane P.hgcer.npeSum 300 0 3 40 0 20 P.cal.pr.eplane>0.0&&P.hgcer.npeSum>0.0
TH2F ngc_vs_prshw 'SHMS NGC Total N.P.E. vs. PreSh Energy; Total PreSh Energy Deposition / 0.01 GeV; NGC Total N.P.E. / 0.5' P.cal.pr.eplane P.ngcer.npeSum 300 0 3 40 0 20 P.cal.pr.eplane>0.0&&P.ngcer.npeSum>0.0
TH2F pcal_shw_vs_prshw 'Shower vs. PreShower Energy Deposition; PreShower Energy / 0.1 GeV; Shower Energy / 0.1 GeV' P.cal.pr.eplane P.cal.fly.earray 50 0 5 350 0 35 P.cal.pr.eplane>0.0&&P.cal.fly.earray>0.0
TH2F delta_vs_etracknorm 'SHMS Delta. vs. Normalized Track Energy; Calorimeter Normalized Track Energy; Momentum Acceptance (%)' P.cal.etracknorm P.gtr.dp 50 0 5 80 -15, 25 P.cal.etracknorm>0.0&&P.dc.ntrack>0
#---------------------------
# CLUSTERING PLOTS
#---------------------------
TH1F pcal_xclusttrack 'SHMS Cal X pos' P.cal.xclusttrack 200 -100. 100. P.cal.nclusttrack>-1
TH1F pcal_xdiff 'SHMS Cal X pos - X track' P.cal.xclusttrack-P.cal.xtrack 200 -20. 20. P.cal.nclusttrack>-1&&P.dc.ntrack>0
TH2F pcal_xdiff_v_xtr 'SHMS Cal X pos - X track v Xtr' P.cal.xtrack P.cal.xclusttrack-P.cal.xtrack 200 -100. 100. 200 -20. 20. P.cal.nclusttrack>-1&&P.dc.ntrack>0
TH1F pcal_xtrack 'SHMS Cal X pos of track' P.cal.xtrack 200 -100. 100. P.cal.nclusttrack>-1&&P.dc.ntrack>0
TH1F pcal_xtrack1 'SHMS Cal X pos of track no matching clust' P.cal.xtrack 200 -100. 100. P.cal.nclusttrack==-1&&P.gtr.dp>-8.&&P.gtr.dp<8.&&P.dc.ntrack>0
TH1F pcal_xtrack2 'SHMS Cal X pos of track no matching clust number of cluster=1' P.cal.xtrack 200 -100. 100. P.cal.nclusttrack==-1&&P.cal.nclust==0&&P.gtr.dp>-8.&&P.gtr.dp<8.&&P.dc.ntrack>0
#********************
# Trigger Apparatus *
#********************
TH1F ptrig_pngc_sum_pped 'SHMS Noble Gas Sum FADC Pulse Pedestal; Pulse Pedestal; Number of Entries / 1 ADC Units' T.shms.pNGCSUM_adcPed 2000 0 2000
TH1F ptrig_pngc_sum_pint 'SHMS Noble Gas Sum FADC Pulse Integral; Pulse Integral; Number of Entries / 10 ADC Units' T.shms.pNGCSUM_adcPulseInt 4000 0 40000
TH1F ptrig_pngc_sum_pamp 'SHMS Noble Gas Sum FADC Pulse Amplitude; Pulse Amplitude; Number of Entries / 1 ADC Units' T.shms.pNGCSUM_adcPulseAmp 4100 0 4100
TH1F ptrig_pngc_sum_ptime 'SHMS Noble Gas Sum FADC Pulse Time; Pulse Time; Number of Entries / 10 ADC Units' T.shms.pNGCSUM_adcPulseTimeRaw 1000 0 10000
TH1F ptrig_pngc_sum_tdc 'SHMS Noble Gas Sum TDC Time; TDC Time; Number of Entries / 10 TDC Units' T.shms.pNGCSUM_tdcTime 700 -3500 3500
TH1F ptrig_phgc_sum_pped 'SHMS Heavy Gas Sum FADC Pulse Pedestal; Pulse Pedestal; Number of Entries / 1 ADC Units' T.shms.pHGCSUM_adcPed 2000 0 2000
TH1F ptrig_phgc_sum_pint 'SHMS Heavy Gas Sum FADC Pulse Integral; Pulse Integral; Number of Entries / 10 ADC Units' T.shms.pHGCSUM_adcPulseInt 4000 0 40000
TH1F ptrig_phgc_sum_pamp 'SHMS Heavy Gas Sum FADC Pulse Amplitude; Pulse Amplitude; Number of Entries / 1 ADC Units' T.shms.pHGCSUM_adcPulseAmp 4100 0 4100
TH1F ptrig_phgc_sum_ptime 'SHMS Heavy Gas Sum FADC Pulse Time; Pulse Time; Number of Entries / 10 ADC Units' T.shms.pHGCSUM_adcPulseTimeRaw 1000 0 10000
TH1F ptrig_phgc_sum_tdc 'SHMS Heavy Gas Sum TDC Time; TDC Time; Number of Entries / 10 TDC Units' T.shms.pHGCSUM_tdcTime 700 -3500 3500
TH1F ptrig_p1x_tdc_mult 'SHMS p1x TDC Multiplicity; Raw TDC Multiplicity; Counts / 10' T.shms.p1X_tdcMultiplicity 11 0 11
TH1F ptrig_p1y_tdc_mult 'SHMS p1y TDC Multiplicity; Raw TDC Multiplicity; Counts / 10' T.shms.p1Y_tdcMultiplicity 11 0 11
TH1F ptrig_p2x_tdc_mult 'SHMS p2x TDC Multiplicity; Raw TDC Multiplicity; Counts / 10' T.shms.p2X_tdcMultiplicity 11 0 11
TH1F ptrig_p2y_tdc_mult 'SHMS p2y TDC Multiplicity; Raw TDC Multiplicity; Counts / 10' T.shms.p2Y_tdcMultiplicity 11 0 11
TH1F ptrig_p1T_tdc_mult 'SHMS p1x/p1y Coincidence TDC Multiplicity; Raw TDC Multiplicity; Counts / 10' T.shms.p1T_tdcMultiplicity 11 0 11
TH1F ptrig_p2T_tdc_mult 'SHMS p2x/p2y Coincidence TDC Multiplicity; Raw TDC Multiplicity; Counts / 10' T.shms.p2T_tdcMultiplicity 11 0 11
TH1F ptrig_pT1_tdc_mult 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Multiplicity (Slot 20, Channel 15); Raw TDC Multiplicity; Counts / 10' T.shms.pT1_tdcMultiplicity 11 0 11
TH1F ptrig_pT2_tdc_mult 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Multiplicity (Slot 19, Channel 31); Raw TDC Multiplicity; Counts / 10' T.shms.pT2_tdcMultiplicity 11 0 11
TH1F ptrig_pT3_tdc_mult 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Multiplicity (Slot 19, Channel 38); Raw TDC Multiplicity; Counts / 10' T.shms.pT3_tdcMultiplicity 11 0 11
TH1F ptrig_p1x_tdc 'SHMS p1x TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p1X_tdcTime 350 0 3500
TH1F ptrig_p1y_tdc 'SHMS p1y TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p1Y_tdcTime 350 0 3500
TH1F ptrig_p2x_tdc 'SHMS p2x TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p2X_tdcTime 350 0 3500
TH1F ptrig_p2y_tdc 'SHMS p2y TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p2Y_tdcTime 350 0 3500
TH1F ptrig_p1T_tdc 'SHMS p1x/p1y Coincidence TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p1T_tdcTime 350 0 3500
TH1F ptrig_p2T_tdc 'SHMS p2x/p2y Coincidence TDC Time; Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p2T_tdcTime 350 0 3500
TH1F ptrig_pT1_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Time (Slot 20, Channel 15); Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.pT1_tdcTime 350 0 3500
TH1F ptrig_pT2_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Time (Slot 19, Channel 31); Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.pT2_tdcTime 350 0 3500
TH1F ptrig_pT3_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence TDC Time (Slot 19, Channel 38); Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.pT3_tdcTime 350 0 3500
TH1F ptrig_p1x_good_tdc 'SHMS p1x Good TDC Time; Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p1X_tdcTime 350 0 3500 T.shms.p1X_tdcMultiplicity==1
TH1F ptrig_p1y_good_tdc 'SHMS p1y Good TDC Time; Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p1Y_tdcTime 350 0 3500 T.shms.p1Y_tdcMultiplicity==1
TH1F ptrig_p2x_good_tdc 'SHMS p2x Good TDC Time; Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p2X_tdcTime 350 0 3500 T.shms.p2X_tdcMultiplicity==1
TH1F ptrig_p2y_good_tdc 'SHMS p2y Good TDC Time; Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p2Y_tdcTime 350 0 3500 T.shms.p2Y_tdcMultiplicity==1
TH1F ptrig_p1T_good_tdc 'SHMS p1x/p1y Coincidence Good TDC Time; Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p1T_tdcTime 350 0 3500 T.shms.p1T_tdcMultiplicity==1
TH1F ptrig_p2T_good_tdc 'SHMS p2x/p2y Coincidence Good TDC Time; Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.p2T_tdcTime 350 0 3500 T.shms.p2T_tdcMultiplicity==1
TH1F ptrig_pT1_good_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence Good TDC Time (Slot 20, Channel 15); Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.pT1_tdcTime 350 0 3500 T.shms.pT1_tdcMultiplicity==1
TH1F ptrig_pT2_good_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence Good TDC Time (Slot 19, Channel 31); Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.pT2_tdcTime 350 0 3500 T.shms.pT2_tdcMultiplicity==1
TH1F ptrig_pT3_good_tdc 'SHMS p1x/p1y/p2x/p2y Coincidence Good TDC Time (Slot 19, Channel 38); Good Raw TDC Time (TDC Units); Counts / 10 TDC Units' T.shms.pT3_tdcTime 350 0 3500 T.shms.pT3_tdcMultiplicity==1
TH2F ptrig_ch1xy_ch2x 'SHMS Hodo Trig; 1X1Y Trig (ns); 2X Trig (ns)' T.shms.p1T_tdcTime T.shms.p2X_tdcTime 200 100 300 200 100 300 T.shms.p2X_tdcMultiplicity==1&&T.shms.p1T_tdcMultiplicity==1
TH2F ptrig_ch1x_ch2x 'SHMS Hodo Trig; 1X Trig (ns); 2X Trig (ns)' T.shms.p1X_tdcTime T.shms.p2X_tdcTime 200 100 300 200 100 300 T.shms.p2X_tdcMultiplicity==1&&T.shms.p1X_tdcMultiplicity==1
TH2F ptrig_ch1y_ch2x 'SHMS Hodo Trig; 1Y Trig (ns); 2X Trig (ns)' T.shms.p1Y_tdcTime T.shms.p2X_tdcTime 200 100 300 200 100 300 T.shms.p2X_tdcMultiplicity==1&&T.shms.p1Y_tdcMultiplicity==1
TH2F ptrig_ch1ych1x 'SHMS Hodo Trig; Trig 1X (ns); Trig 1Y (ns)' T.shms.p1X_tdcTime T.shms.p1Y_tdcTime 200 100 300 200 100 300 T.shms.p1Y_tdcMultiplicity==1&&T.shms.p1X_tdcMultiplicity==1
TH1F ptrig_pdc_ref1 'SHMS DC Reference Time Slot 6 Channel 79; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF1_tdcTime 200 12000 14000
TH1F ptrig_pdc_ref2 'SHMS DC Reference Time Slot 7 Channel 79; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF2_tdcTime 200 12000 14000
TH1F ptrig_pdc_ref3 'SHMS DC Reference Time Slot 8 Channel 79; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF3_tdcTime 200 12000 14000
TH1F ptrig_pdc_ref4 'SHMS DC Reference Time Slot 9 Channel 79; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF4_tdcTime 200 12000 14000
TH1F ptrig_pdc_ref5 'SHMS DC Reference Time Slot 10 Channel 79; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF5_tdcTime 200 12000 14000
TH1F ptrig_pdc_ref6 'SHMS DC Reference Time Slot 11 Channel 47; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF6_tdcTime 200 12000 14000
TH1F ptrig_pdc_ref7 'SHMS DC Reference Time Slot 12 Channel 47; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF7_tdcTime 200 12000 14000
TH1F ptrig_pdc_ref8 'SHMS DC Reference Time Slot 13 Channel 47; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF8_tdcTime 200 12000 14000
TH1F ptrig_pdc_ref9 'SHMS DC Reference Time Slot 14 Channel 15; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF9_tdcTime 200 12000 14000
TH1F ptrig_pdc_ref10 'SHMS DC Reference Time Slot 15 Channel 47; Raw TDC Time (TDC Clicks); Counts / 10 TDC Clicks' T.shms.pDCREF10_tdcTime 200 12000 14000
#-------------
# Fast Raster
#-------------
# Assume FADC range is set to 1V and the integration is 25 channels
# Offset in the FADC is about 0.122V or 500 channels.
formula FRXA_V T.shms.pFRXA_adcPulseIntRaw*(1./4096.)/25.
formula FRXB_V T.shms.pFRXB_adcPulseIntRaw*(1./4096.)/25.
formula FRYA_V T.shms.pFRYA_adcPulseIntRaw*(1./4096.)/25.
formula FRYB_V T.shms.pFRYB_adcPulseIntRaw*(1./4096.)/25.
TH1F pFRXA 'SHMS FRXA; FRXA RAW ADC (chan); Counts' T.shms.pFRXA_adcPulseIntRaw 1000 0 100000
TH1F pFRXA_V 'SHMS FRXA; FRXA RAW ADC (Volts); Counts' FRXA_V 1000 0 1.0
TH1F pFRXB 'SHMS FRXB; FRXB RAW ADC (chan); Counts' T.shms.pFRXB_adcPulseIntRaw 1000 0 100000
TH1F pFRXB_V 'SHMS FRXB; FRXB RAW ADC (Volts); Counts' FRXB_V 1000 0 1.0
TH1F pFRYA 'SHMS FRYA; FRYA RAW ADC (chan); Counts' T.shms.pFRYA_adcPulseIntRaw 1000 0 100000
TH1F pFRYA_V 'SHMS FRYA; FRYA RAW ADC (Volts); Counts' FRYA_V 1000 0 1.0
TH1F pFRYB 'SHMS FRYB; FRYB RAW ADC (chan); Counts' T.shms.pFRYB_adcPulseIntRaw 1000 0 100000
TH1F pFRYB_V 'SHMS FRYB; FRYB RAW ADC (Volts); Counts' FRYB_V 1000 0 1.0
TH2F pFRA_XvsY 'HMSFRA_XvsY; FRXA RAW ADC (Volts); FRYA RAW ADC (Volts)' FRXA_V FRYA_V 1000 0 1.0 1000 0 1.0
TH2F pFRB_XvsY 'HMSFRB_XvsY; FRXB RAW ADC (Volts); FRYB RAW ADC (Volts)' FRXB_V FRYB_V 1000 0 1.0 1000 0 1.0
#******************
# EPICS VARIABLES *
#******************
begin epics
IBC3H00CRCUR4
hac_bcm_average
ibcm1
ibcm2
iunser
itov3out
itov4out
end epics
\ No newline at end of file
# Report file for SHMS stack
Block: RawDecode
Pedestal_event g.evtyp == 4
scalar_event g.evtyp == 0
HMS_event g.evtyp == 1
SHMS_event g.evtyp == 1
coin_event g.evtyp == 3
misc_event g.evtyp >= 5
hmscoin_event HMS_event || coin_event
shmscoin_event SHMS_event || coin_event
all_event HMS_event || SHMS_event || coin_event
RawDecode_master 1
Block: Decode
all_trigs HMS_event || SHMS_event || coin_event
shms_coin_trig SHMS_event || coin_event
good_S1_time T.shms.p1T_tdcTime > 241 && T.shms.p1T_tdcTime < 243
good_S2X_time T.shms.p2X_tdcTime > 180 && T.shms.p2X_tdcTime < 220
good_S1_S2X_time good_S1_time && good_S2X_time
Decode_master SHMS_event
Block: CoarseTracking
CoarseTracking_master SHMS_event
# Add cuts to stricter times and apply them to drift distances
time_cut1 P.dc.1u1.time > 0 && P.dc.1u1.time < 250
time_cut2 P.dc.1u2.time > 0 && P.dc.1u2.time < 250
time_cut3 P.dc.1x1.time > 0 && P.dc.1x1.time < 250
time_cut4 P.dc.1x2.time > 0 && P.dc.1x2.time < 250
time_cut5 P.dc.1v1.time > 0 && P.dc.1v1.time < 250
time_cut6 P.dc.1v2.time > 0 && P.dc.1v2.time < 250
time_cut7 P.dc.2v2.time > 0 && P.dc.2v2.time < 250
time_cut8 P.dc.2v1.time > 0 && P.dc.2v1.time < 250
time_cut9 P.dc.2x2.time > 0 && P.dc.2x2.time < 250
time_cut10 P.dc.2x1.time > 0 && P.dc.2x1.time < 250
time_cut11 P.dc.2u2.time > 0 && P.dc.2u2.time < 250
time_cut12 P.dc.2u1.time > 0 && P.dc.2u1.time < 250
shmsDC1Planes_large (P.dc.1x1.nhit + P.dc.1u2.nhit + P.dc.1u1.nhit + P.dc.1v1.nhit + P.dc.1x2.nhit + P.dc.1v2.nhit) > 20
shmsDC2Planes_large (P.dc.2x1.nhit + P.dc.2u2.nhit + P.dc.2u1.nhit + P.dc.2v1.nhit + P.dc.2x2.nhit + P.dc.2v2.nhit) > 20
shms_ch1_gt0 P.dc.Ch1.nhit > 0
shms_ch2_gt0 P.dc.Ch2.nhit > 0
shms_ch_gt0 P.dc.Ch2.nhit > 0 && P.dc.Ch1.nhit > 0
shms_ch_gt4 P.dc.Ch2.nhit > 3 && P.dc.Ch1.nhit > 3
shms_ch2_gt0_noch1 P.dc.Ch2.nhit > 0 && P.dc.Ch1.nhit == 0
shms_ch1_gt0_noch2 P.dc.Ch1.nhit > 0 && P.dc.Ch2.nhit == 0
shms_noch1_noch2 P.dc.Ch1.nhit == 0 && P.dc.Ch2.nhit == 0
shms_ch_gt0_track shms_ch_gt0 && P.dc.ntrack > 0
shms_ch_gt4_track shms_ch_gt4 && P.dc.ntrack > 0
shms_ch1_gt0_gtime P.dc.Ch1.nhit > 0 && good_S1_S2X_time
shms_ch2_gt0_gtime P.dc.Ch2.nhit > 0 && good_S1_S2X_time
shms_ch_gt0_gtime P.dc.Ch2.nhit > 0 && P.dc.Ch1.nhit > 0 && good_S1_S2X_time
shms_ch_gt4_gtime P.dc.Ch2.nhit > 3 && P.dc.Ch1.nhit > 3 && good_S1_S2X_time
shms_ch2_gt0_noch1_gtime P.dc.Ch2.nhit > 0 && P.dc.Ch1.nhit == 0 && good_S1_S2X_time
shms_ch1_gt0_noch2_gtime P.dc.Ch1.nhit > 0 && P.dc.Ch2.nhit == 0 && good_S1_S2X_time
shms_noch1_noch2_gtime P.dc.Ch1.nhit == 0 && P.dc.Ch2.nhit == 0 && good_S1_S2X_time
shms_ch_gt0_track_gtime shms_ch_gt0 && P.dc.ntrack > 0 && good_S1_S2X_time
shms_ch_gt4_track_gtime shms_ch_gt4 && P.dc.ntrack > 0 && good_S1_S2X_time
shmsDC1_1hit_x1 P.dc.1x1.nhit == 1
shmsDC1_1hit_u1 P.dc.1u1.nhit == 1
shmsDC1_1hit_u2 P.dc.1u2.nhit == 1
shmsDC1_1hit_v1 P.dc.1v1.nhit == 1
shmsDC1_1hit_v2 P.dc.1v2.nhit == 1
shmsDC1_1hit_x2 P.dc.1x2.nhit == 1
shmsDC2_1hit_x1 P.dc.2x1.nhit == 1
shmsDC2_1hit_u1 P.dc.2u1.nhit == 1
shmsDC2_1hit_u2 P.dc.2u2.nhit == 1
shmsDC2_1hit_v1 P.dc.2v1.nhit == 1
shmsDC2_1hit_v2 P.dc.2v2.nhit == 1
shmsDC2_1hit_x2 P.dc.2x2.nhit == 1
p1hit1 P.dc.1x1.nhit >= 1
p1hit2 P.dc.1u1.nhit >= 1
p1hit3 P.dc.1u2.nhit >= 1
p1hit4 P.dc.1v1.nhit >= 1
p1hit5 P.dc.1v2.nhit >= 1
p1hit6 P.dc.1x2.nhit >= 1
p2hit1 P.dc.2x1.nhit >= 1
p2hit2 P.dc.2u1.nhit >= 1
p2hit3 P.dc.2u2.nhit >= 1
p2hit4 P.dc.2v1.nhit >= 1
p2hit5 P.dc.2v2.nhit >= 1
p2hit6 P.dc.2x2.nhit >= 1
shmsDC1Planes6hits shmsDC1_1hit_x1 && shmsDC1_1hit_u1 && shmsDC1_1hit_u2 && shmsDC1_1hit_x2 && shmsDC1_1hit_v1 && shmsDC1_1hit_v2
shmsDC2Planes6hits shmsDC2_1hit_x1 && shmsDC2_1hit_u1 && shmsDC2_1hit_u2 && shmsDC2_1hit_x2 && shmsDC2_1hit_v1 && shmsDC2_1hit_v2
shmsDC1_5hits_x1 shmsDC1_1hit_u1 && shmsDC1_1hit_u2 && shmsDC1_1hit_x2 && shmsDC1_1hit_v1 && shmsDC1_1hit_v2
shmsDC1_6hits_x1 p1hit1 && shmsDC1_1hit_u1 && shmsDC1_1hit_u2 && shmsDC1_1hit_x2 && shmsDC1_1hit_v1 && shmsDC1_1hit_v2
shmsDC1_5hits_u1 shmsDC1_1hit_x1 && shmsDC1_1hit_u2 && shmsDC1_1hit_x2 && shmsDC1_1hit_v1 && shmsDC1_1hit_v2
shmsDC1_6hits_u1 p1hit2 && shmsDC1_1hit_x1 && shmsDC1_1hit_u2 && shmsDC1_1hit_x2 && shmsDC1_1hit_v1 && shmsDC1_1hit_v2
shmsDC1_5hits_u2 shmsDC1_1hit_x1 && shmsDC1_1hit_u1 && shmsDC1_1hit_x2 && shmsDC1_1hit_v1 && shmsDC1_1hit_v2
shmsDC1_6hits_u2 p1hit3 && shmsDC1_1hit_x1 && shmsDC1_1hit_u1 && shmsDC1_1hit_x2 && shmsDC1_1hit_v1 && shmsDC1_1hit_v2
shmsDC1_5hits_v1 shmsDC1_1hit_x1 && shmsDC1_1hit_u1 && shmsDC1_1hit_x2 && shmsDC1_1hit_u2 && shmsDC1_1hit_v2
shmsDC1_6hits_v1 p1hit4 && shmsDC1_1hit_x1 && shmsDC1_1hit_u1 && shmsDC1_1hit_x2 && shmsDC1_1hit_u2 && shmsDC1_1hit_v2
shmsDC1_5hits_v2 shmsDC1_1hit_x1 && shmsDC1_1hit_u1 && shmsDC1_1hit_x2 && shmsDC1_1hit_u2 && shmsDC1_1hit_v1
shmsDC1_6hits_v2 p1hit5 && shmsDC1_1hit_x1 && shmsDC1_1hit_u1 && shmsDC1_1hit_x2 && shmsDC1_1hit_u2 && shmsDC1_1hit_v1
shmsDC1_5hits_x2 shmsDC1_1hit_x1 && shmsDC1_1hit_u1 && shmsDC1_1hit_v1 && shmsDC1_1hit_u2 && shmsDC1_1hit_v2
shmsDC1_6hits_x2 p1hit6 && shmsDC1_1hit_x1 && shmsDC1_1hit_u1 && shmsDC1_1hit_v1 && shmsDC1_1hit_u2 && shmsDC1_1hit_v2
shmsDC2_5hits_x1 shmsDC2_1hit_u1 && shmsDC2_1hit_u2 && shmsDC2_1hit_x2 && shmsDC2_1hit_v1 && shmsDC2_1hit_v2
shmsDC2_6hits_x1 p2hit1 && shmsDC2_1hit_u1 && shmsDC2_1hit_u2 && shmsDC2_1hit_x2 && shmsDC2_1hit_v1 && shmsDC2_1hit_v2
shmsDC2_5hits_u1 shmsDC2_1hit_x1 && shmsDC2_1hit_u2 && shmsDC2_1hit_x2 && shmsDC2_1hit_v1 && shmsDC2_1hit_v2
shmsDC2_6hits_u1 p2hit2 && shmsDC2_1hit_x1 && shmsDC2_1hit_u2 && shmsDC2_1hit_x2 && shmsDC2_1hit_v1 && shmsDC2_1hit_v2
shmsDC2_5hits_u2 shmsDC2_1hit_x1 && shmsDC2_1hit_u1 && shmsDC2_1hit_x2 && shmsDC2_1hit_v1 && shmsDC2_1hit_v2
shmsDC2_6hits_u2 p2hit3 && shmsDC2_1hit_x1 && shmsDC2_1hit_u1 && shmsDC2_1hit_x2 && shmsDC2_1hit_v1 && shmsDC2_1hit_v2
shmsDC2_5hits_v1 shmsDC2_1hit_x1 && shmsDC2_1hit_u1 && shmsDC2_1hit_x2 && shmsDC2_1hit_u2 && shmsDC2_1hit_v2
shmsDC2_6hits_v1 p2hit4 && shmsDC2_1hit_x1 && shmsDC2_1hit_u1 && shmsDC2_1hit_x2 && shmsDC2_1hit_u2 && shmsDC2_1hit_v2
shmsDC2_5hits_v2 shmsDC2_1hit_x1 && shmsDC2_1hit_u1 && shmsDC2_1hit_x2 && shmsDC2_1hit_u2 && shmsDC2_1hit_v1
shmsDC2_6hits_v2 p2hit5 && shmsDC2_1hit_x1 && shmsDC2_1hit_u1 && shmsDC2_1hit_x2 && shmsDC2_1hit_u2 && shmsDC2_1hit_v1
shmsDC2_5hits_x2 shmsDC2_1hit_x1 && shmsDC2_1hit_u1 && shmsDC2_1hit_v1 && shmsDC2_1hit_u2 && shmsDC2_1hit_v2
shmsDC2_6hits_x2 p2hit6 && shmsDC2_1hit_x1 && shmsDC2_1hit_u1 && shmsDC2_1hit_v1 && shmsDC2_1hit_u2 && shmsDC2_1hit_v2
shms1HitsLt P.dc.Ch1.nhit <= P.dc.Ch1.maxhits && g.evtyp == 1
shms2HitsLt P.dc.Ch2.nhit <= P.dc.Ch2.maxhits && g.evtyp == 1
shmsHitsLt P.dc.Ch1.nhit <= P.dc.Ch1.maxhits && P.dc.Ch2.nhit <= P.dc.Ch2.maxhits && g.evtyp == 1
shmsDC1PlanesGT (p1hit1 + p1hit2 + p1hit3 + p1hit4 + p1hit5 + p1hit6 ) >= 5
shmsDC2PlanesGT (p2hit1 + p2hit2 + p2hit3 + p2hit4 + p2hit5 + p2hit6 ) >= 5
shmsPlanesGT shmsDC1PlanesGT && shmsDC2PlanesGT
shmsHitsPlanes (P.dc.Ch1.nhit <= 6) && (P.dc.Ch2.nhit <= 6) && shmsPlanesGT
pSpacePoints P.dc.Ch1.spacepoints >= 1 && P.dc.Ch2.spacepoints >= 1
pSpacePointsStub P.dc.stubtest == 1 && P.dc.Ch1.spacepoints >= 1 && P.dc.Ch2.spacepoints >= 1
pFoundTrack P.dc.ntrack > 0
pStubLT P.dc.stubtest == 1
f1PSpacePoints shms1HitsLt && shmsDC1PlanesGT && P.dc.Ch1.spacepoints == 0 && g.evtyp == 1
f2PSpacePoints shms2HitsLt && shmsDC2PlanesGT && P.dc.Ch2.spacepoints == 0 && g.evtyp == 1
pTest1 shmsHitsPlanes && (!pSpacePoints)
pTest2 pSpacePoints && (!pStubLT)
Block: CoarseReconstruct
CoarseReconstruct_master SHMS_event
Block: Tracking
Tracking_master SHMS_event
Block: Reconstruct
Reconstruct_master SHMS_event
cer_ng_elec P.ngcer.npeSum > 0.5
cer_ng_pi P.ngcer.npeSum <= 0.5
cer_hg_elec P.hgcer.npeSum > 0.5
cer_hg_pi P.hgcer.npeSum <= 0.5
cer_pi_both cer_ng_pi && cer_hg_pi
cer_elec_both cer_ng_elec && cer_hg_elec
cal_elec P.cal.etracknorm > 0.6 && P.cal.etracknorm < 1.6
cal_pi P.cal.etracknorm <= 0.6 && P.cal.etracknorm > 0.
elec_all cer_ng_elec && cer_hg_elec && cal_elec
pi_all cer_ng_pi && cer_hg_pi && cal_pi
shmsScinGood P.hod.goodscinhit == 1
shmsScinShould shmsScinGood
shmsScinShoulde shmsScinGood && P.cal.etotnorm > 0.6 && P.cal.etotnorm < 1.6 && P.hgcer.npeSum > 0.5
shmsScinShouldh shmsScinGood && P.cal.etotnorm <= 0.6 && P.cal.etotnorm > 0. && P.hgcer.npeSum < 0.5
shmsScinDid shmsScinShould && P.dc.ntrack > 0
shmsScinDide shmsScinShoulde && P.dc.ntrack > 0
shmsScinDidh shmsScinShouldh && P.dc.ntrack > 0
goodHDC1x1 P.dc.1x1.nhit > 0 && P.dc.1x1.nhit < 3
goodHDC1u2 P.dc.1u2.nhit > 0 && P.dc.1u2.nhit < 3
goodHDC1u1 P.dc.1u1.nhit > 0 && P.dc.1u1.nhit < 3
goodHDC1v1 P.dc.1v1.nhit > 0 && P.dc.1v1.nhit < 3
goodHDC1v2 P.dc.1v2.nhit > 0 && P.dc.1v2.nhit < 3
goodHDC1x2 P.dc.1x2.nhit > 0 && P.dc.1x2.nhit < 3
goodHDC2x1 P.dc.2x1.nhit > 0 && P.dc.2x1.nhit < 3
goodHDC2u2 P.dc.2u2.nhit > 0 && P.dc.2u2.nhit < 3
goodHDC2u1 P.dc.2u1.nhit > 0 && P.dc.2u1.nhit < 3
goodHDC2v1 P.dc.2v1.nhit > 0 && P.dc.2v1.nhit < 3
goodHDC2v2 P.dc.2v2.nhit > 0 && P.dc.2v2.nhit < 3
goodHDC2x2 P.dc.2x2.nhit > 0 && P.dc.2x2.nhit < 3
goodHDC1 goodHDC1x1 && goodHDC1u2 && goodHDC1u1 && goodHDC1v1 && goodHDC1v2 && goodHDC1x2
goodHDC2 goodHDC2x1 && goodHDC2u2 && goodHDC2u1 && goodHDC2v1 && goodHDC2v2 && goodHDC2x2
bothGood goodHDC1 && goodHDC2
realhdc1x1 goodHDC1x1 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
realhdc1u2 goodHDC1u2 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
realhdc1u1 goodHDC1u1 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
realhdc1v1 goodHDC1v1 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
realhdc1v2 goodHDC1v2 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
realhdc1x2 goodHDC1x2 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
realhdc2x1 goodHDC2x1 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
realhdc2u2 goodHDC2u2 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
realhdc2u1 goodHDC2u1 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
realhdc2v1 goodHDC2v1 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
realhdc2v2 goodHDC2v2 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
realhdc2x2 goodHDC2x2 && ((P.dc.Ch1.spacepoints + P.dc.Ch2.spacepoints) > 0)
pFound1Track P.dc.ntrack == 1
pFound2Track P.dc.ntrack == 2
pFound3Track P.dc.ntrack == 3
pFound4Track P.dc.ntrack == 4
pCleanTrack P.gtr.index > -1
1pCleanTrack P.gtr.index == 0
2pCleanTrack P.gtr.index == 1
3pCleanTrack P.gtr.index == 2
4pCleanTrack P.gtr.index == 3
pCleanTrack_cer_elec (P.gtr.index > -1) && cer_elec_both
p1hit1_cer_elec p1hit1 && cer_elec_both
pCleanTrack_cal_elec (P.gtr.index > -1) && cal_elec
p1hit1_cal_elec p1hit1 && cal_elec
anyhs1x P.hod.1x.nhits > 0
anyhs1y P.hod.1y.nhits > 0
anyhs2x P.hod.2x.nhits > 0
anyhs2y P.hod.2y.nhits > 0
goodps1x P.hod.1x.nhits > 0 && P.hod.1x.nhits < 3
goodps1y P.hod.1y.nhits > 0 && P.hod.1y.nhits < 3
goodps1 goodps1x && goodps1y
goodps2x P.hod.2x.nhits > 0 && P.hod.2x.nhits < 3
goodps2y P.hod.2y.nhits > 0 && P.hod.2y.nhits < 3
goodps2 goodps2x && goodps2y
goodps1s2 goodps1 && goodps2
Block: Physics
Physics_master SHMS_event
void replay_singlearm_shms (Int_t RunNumber = 0, Int_t MaxEvent = 0) {
// Get RunNumber and MaxEvent if not provided.
if(RunNumber == 0) {
cout << "Enter a Run Number (-1 to exit): ";
cin >> RunNumber;
if( RunNumber<=0 ) return;
}
if(MaxEvent == 0) {
cout << "\nNumber of Events to analyze: ";
cin >> MaxEvent;
if(MaxEvent == 0) {
cerr << "...Invalid entry\n";
exit;
}
}
// Create file name patterns.
const char* RunFileNamePattern = "raw/shms_all_%05d.dat";
const char* ROOTFileNamePattern = "ROOTfiles/shms_replay_singlearm_%d_%d.root";
// Load global parameters
// Add variables to global list.
gHcParms->Define("gen_run_number", "Run Number", RunNumber);
gHcParms->AddString("g_ctp_database_filename", "DBASE/STD/standard.database");
// Load varibles from files to global list.
gHcParms->Load(gHcParms->GetString("g_ctp_database_filename"), RunNumber);
// g_ctp_parm_filename and g_decode_map_filename should now be defined.
gHcParms->Load(gHcParms->GetString("g_ctp_kinematics_filename"), RunNumber);
gHcParms->Load(gHcParms->GetString("g_ctp_parm_filename"));
gHcParms->Load(gHcParms->GetString("g_ctp_calib_filename"));
// Load params for SHMS trigger configuration
gHcParms->Load("PARAM/TRIG/tshms.param");
// Load the Hall C detector map
gHcDetectorMap = new THcDetectorMap();
gHcDetectorMap->Load("MAPS/SHMS/DETEC/STACK/shms_stack.map");
// Add trigger apparatus
THaApparatus* TRG = new THcTrigApp("T", "TRG");
gHaApps->Add(TRG);
// Add trigger detector to trigger apparatus
THcTrigDet* shms = new THcTrigDet("shms", "SHMS Trigger Information");
TRG->AddDetector(shms);
// Set up the equipment to be analyzed.
THaApparatus* SHMS = new THcHallCSpectrometer("P", "SHMS");
gHaApps->Add(SHMS);
// Add Noble Gas Cherenkov to SHMS apparatus
THcCherenkov* ngcer = new THcCherenkov("ngcer", "Noble Gas Cherenkov");
SHMS->AddDetector(ngcer);
// Add drift chambers to SHMS apparatus
THcDC* dc = new THcDC("dc", "Drift Chambers");
SHMS->AddDetector(dc);
// Add hodoscope to SHMS apparatus
THcHodoscope* hod = new THcHodoscope("hod", "Hodoscope");
SHMS->AddDetector(hod);
// Add Heavy Gas Cherenkov to SHMS apparatus
THcCherenkov* hgcer = new THcCherenkov("hgcer", "Heavy Gas Cherenkov");
SHMS->AddDetector(hgcer);
// Add Heavy Gas Cherenkov to SHMS apparatus
THcAerogel* aero = new THcAerogel("aero", "Aerogel");
SHMS->AddDetector(aero);
// Add calorimeter to SHMS apparatus
THcShower* cal = new THcShower("cal", "Calorimeter");
SHMS->AddDetector(cal);
THaApparatus* BEAM = new THaIdealBeam("IB","Ideal Beamline");
gHaApps->Add( BEAM );
// Include golden track information
THaGoldenTrack* gtr = new THaGoldenTrack("P.gtr", "SHMS Golden Track", "P");
gHaPhysics->Add(gtr);
//
THcPrimaryKine* pkine = new THcPrimaryKine("P.kin","SHMS single arm kinematics","P","IB");
gHaPhysics->Add(pkine);
// // Add handler for prestart event 125.
THcConfigEvtHandler* ev125 = new THcConfigEvtHandler("HC", "Config Event type 125");
gHaEvtHandlers->Add(ev125);
// Add handler for EPICS events
THaEpicsEvtHandler *hcepics = new THaEpicsEvtHandler("epics", "HC EPICS event type 180");
gHaEvtHandlers->Add(hcepics);
// Add handler for scaler events
THcScalerEvtHandler *pscaler = new THcScalerEvtHandler("P","Hall C scaler event type 1");
pscaler->AddEventType(1);
pscaler->SetUseFirstEvent(kTRUE);
gHaEvtHandlers->Add (pscaler);
// Set up the analyzer - we use the standard one,
// but this could be an experiment-specific one as well.
// The Analyzer controls the reading of the data, executes
// tests/cuts, loops over Acpparatus's and PhysicsModules,
// and executes the output routines.
THcAnalyzer* analyzer = new THcAnalyzer;
// A simple event class to be output to the resulting tree.
// Creating your own descendant of THaEvent is one way of
// defining and controlling the output.
THaEvent* event = new THaEvent;
// Define the run(s) that we want to analyze.
// We just set up one, but this could be many.
char RunFileName[100];
sprintf(RunFileName, RunFileNamePattern, RunNumber);
THaRun* run = new THaRun(RunFileName);
// Set to read in Hall C run database parameters
run->SetRunParamClass("THcRunParameters");
// Eventually need to learn to skip over, or properly analyze
// the pedestal events
run->SetEventRange(1, MaxEvent); // Physics Event number, does not
// include scaler or control events.
run->SetNscan(1);
run->SetDataRequired(0x7);
run->Print();
// Define the analysis parameters
TString ROOTFileName = Form(ROOTFileNamePattern, RunNumber, MaxEvent);
analyzer->SetCountMode(2); // 0 = counter is # of physics triggers
// 1 = counter is # of all decode reads
// 2 = counter is event number
analyzer->SetEvent(event);
// Set EPICS event type
analyzer->SetEpicsEvtType(180);
// Define crate map
analyzer->SetCrateMapFileName("MAPS/db_cratemap.dat");
// Define output ROOT file
analyzer->SetOutFile(ROOTFileName.Data());
// Define DEF-file
analyzer->SetOdefFile("DEF-files/SHMS/PRODUCTION/pstackana_singlearm.def");
// Define cuts file
analyzer->SetCutFile("DEF-files/SHMS/PRODUCTION/pstackana_singlearm_cuts.def"); // optional
// File to record accounting information for cuts
analyzer->SetSummaryFile(Form("REPORT_OUTPUT/SHMS/PRODUCTION/summary_singlearm_%d_%d.report", RunNumber, MaxEvent)); // optional
// Start the actual analysis.
analyzer->Process(run);
// Create report file from template
analyzer->PrintReport("TEMPLATES/SHMS/PRODUCTION/pstackana_production.template",
Form("REPORT_OUTPUT/SHMS/PRODUCTION/replay_shms_singlearm_%d_%d.report", RunNumber, MaxEvent)); // optional
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment