Skip to content
Snippets Groups Projects
  • Hall C Online Analyzer User's avatar
    b184324a
    Pooser edtm work (#215) · b184324a
    Hall C Online Analyzer User authored
    * Add SHMS FADC reference time signal
    
    * Modify report files and templates to better quantify the deadtimes
    
    * Push initial changes for Steve
    
    * Include failed state of HMS scalers replay script
    
    * Include proper(?) method for obtaining event 129 scaler reads
    
    * Ensure that trigger apparatus cut file has similar flow to stack and production to avoid confusion
    
    * Remove reference time which serves as a reference time for the trigger apparatus
    
    * Update maps corresponding to previous commit
    
    * Ignore # files
    
    * Update test stand cuts file to match production and stack
    
    * Update test stand cuts file to match production and stack on HMS side
    
    * Update cuts files to handle new event type stucture corresponding to mulitple triggers
    
    * Make cuts only HMS specific
    
    * Do the same for the SHMS and correct the template files
    
    * Correct template files
    
    * Add pedestal event because of historical reasons (needs to be fixed)
    
    * Do the same for the SHMS
    b184324a
    History
    Pooser edtm work (#215)
    Hall C Online Analyzer User authored
    * Add SHMS FADC reference time signal
    
    * Modify report files and templates to better quantify the deadtimes
    
    * Push initial changes for Steve
    
    * Include failed state of HMS scalers replay script
    
    * Include proper(?) method for obtaining event 129 scaler reads
    
    * Ensure that trigger apparatus cut file has similar flow to stack and production to avoid confusion
    
    * Remove reference time which serves as a reference time for the trigger apparatus
    
    * Update maps corresponding to previous commit
    
    * Ignore # files
    
    * Update test stand cuts file to match production and stack
    
    * Update test stand cuts file to match production and stack on HMS side
    
    * Update cuts files to handle new event type stucture corresponding to mulitple triggers
    
    * Make cuts only HMS specific
    
    * Do the same for the SHMS and correct the template files
    
    * Correct template files
    
    * Add pedestal event because of historical reasons (needs to be fixed)
    
    * Do the same for the SHMS
pstackana_production_cuts.def 11.67 KiB
# Report file for SHMS stack

Block: RawDecode

Pedestal_event      g.evtyp == 99

SHMS_trig_1_event   g.evtyp == 1
SHMS_trig_2_event   g.evtyp == 2
SHMS_trig_3_event   g.evtyp == 3
SHMS_trig_4_event   g.evtyp == 4
SHMS_trig_5_event   g.evtyp == 5
SHMS_trig_6_event   g.evtyp == 6
SHMS_event          SHMS_trig_1_event || SHMS_trig_2_event || SHMS_trig_3_event || SHMS_trig_4_event || SHMS_trig_5_event || SHMS_trig_6_event

RawDecode_master  1

Block: Decode

shms_trigs        SHMS_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