Back to home page

EIC code displayed by LXR

 
 

    


Warning, /epic-lfhcal-tbana/examples/yall/fullset-g1-repro/Yallfile is written in an unsupported language. File is not indexed.

0001 campaign lfhcal-tb2026-fullset-g1-repro
0002 backend condor
0003 
0004 # Set to full to record operator accounts when permitted by your site's privacy policy.
0005 %account-provenance off
0006 
0007 # Reproduce Fredi's SPS H2 FullSetG_1 calibration chain from raw data.
0008 # Source recipe:
0009 #   NewStructure/convertDataHGCROC_TBSPSH2_2026.sh
0010 #   NewStructure/runHGCROCCalibration_TBSPSH2_2026.sh
0011 #   NewStructure/helperCalibHGCROC.sh
0012 #   NewStructure/stripCalib_TBSPSH2_2026.sh
0013 #
0014 # FullSetG_1 uses pedestal run 485 and muon runs
0015 # 484, 486, 487, 488, 489, 490, and 491 merged as Muon_FullSetG_1.
0016 #
0017 # Unlike FullSet F, Set G uses the V1 summing-board mapping together with the
0018 # FullSetG bad-channel map and FullSetG ToA offsets.
0019 #
0020 # Fredi's published reference calibration is:
0021 #   ../../../calibrations/TB2026/calib_SPS-H2_FullSetG_1.txt
0022 #
0023 # The ToA offsets are consumed from the published FullSetG file. This workflow
0024 # does not rederive them from hadron run 498.
0025 #
0026 # fixSetup is intentionally omitted: it repairs already-converted files after
0027 # mapping changes. This workflow converts fresh from raw using the current map.
0028 
0029 @env LFHCAL_DATA
0030 @env LFHCAL_WORK
0031 @env EIC_SHELL
0032 
0033 @set BUILD ../../../NewStructure/build
0034 @set TB2026_CONFIG ../../../configs/TB2026
0035 @set WORK fullset-g1-repro
0036 @set SET FullSetG_1
0037 @set MAPPING ../../../configs/TB2026/mapping_HGCROC_SPSH2TB_sumV1_default.csv
0038 @set BAD_CHANNELS ../../../configs/TB2026/badChannel_HGCROC_SPSTB2026_FullSetG.txt
0039 @set TOA ../../../configs/TB2026/ToAOffsets_TBSPS2026_FullSetG.csv
0040 @set RUNDB ../../../configs/TB2026/DataTakingDB_TBSPSH2_202605_HGCROC.csv
0041 
0042 # Scientific run configuration lives here.
0043 @table runs type run:
0044     pedestal 485
0045     muon     484
0046     muon     486
0047     muon     487
0048     muon     488
0049     muon     489
0050     muon     490
0051     muon     491
0052 
0053 %cpus 1
0054 %memory 4GB
0055 %disk 8GB
0056 %time 2h
0057 %getenv true
0058 %wrapper ../../../tools/run-in-eic-shell.sh {EIC_SHELL} /usr/bin/env ROOT_MAX_THREADS=1 OMP_NUM_THREADS=1
0059 
0060 # Lightweight directory setup runs during `yall-run create`, not as a Condor job.
0061 %preflight /bin/mkdir -p \
0062         {LFHCAL_WORK}/{WORK}/converted \
0063         {LFHCAL_WORK}/{WORK}/pedestal \
0064         {LFHCAL_WORK}/{WORK}/transfer \
0065         {LFHCAL_WORK}/{WORK}/mip \
0066         {LFHCAL_WORK}/{WORK}/selected \
0067         {LFHCAL_WORK}/{WORK}/refine1 \
0068         {LFHCAL_WORK}/{WORK}/refine2 \
0069         {LFHCAL_WORK}/{WORK}/refine3 \
0070         {LFHCAL_WORK}/{WORK}/refine4 \
0071         {LFHCAL_WORK}/{WORK}/refine5 \
0072         {LFHCAL_WORK}/{WORK}/final \
0073         {LFHCAL_WORK}/{WORK}/plots/pedestal \
0074         {LFHCAL_WORK}/{WORK}/plots/transfer \
0075         {LFHCAL_WORK}/{WORK}/plots/mip \
0076         {LFHCAL_WORK}/{WORK}/plots/refine1 \
0077         {LFHCAL_WORK}/{WORK}/plots/refine2 \
0078         {LFHCAL_WORK}/{WORK}/plots/refine3 \
0079         {LFHCAL_WORK}/{WORK}/plots/refine4 \
0080         {LFHCAL_WORK}/{WORK}/plots/refine5
0081 
0082 # Convert every raw run through one task family.
0083 convert-{type}-{run}:
0084     @each type run in runs
0085     @input raw {LFHCAL_DATA}/Run{run}.h2g
0086     @input mapping {MAPPING}
0087     @input rundb {RUNDB}
0088     @output root {LFHCAL_WORK}/{WORK}/converted/rawHGCROC_{run}.root
0089     %memory 2GB
0090     {BUILD}/Convert -d 0 -f -w -c @input.raw \
0091         -o @output.root -m @input.mapping -r @input.rundb
0092 
0093 # Binding type=muon restricts the patterned parent fan-in, and therefore
0094 # @input.parts, to the seven muon conversions.
0095 merge-{type}: convert-{type}-{run}
0096     @each type muon
0097     @input parts {LFHCAL_WORK}/{WORK}/converted/rawHGCROC_{run}.root
0098     @output root {LFHCAL_WORK}/{WORK}/converted/rawHGCROC_Muon_{SET}.root
0099     hadd -f @output.root @input.parts
0100 
0101 # Bind type here; run is inherited from the compatible conversion row.
0102 {type}-{run}: convert-{type}-{run}
0103     @each type pedestal
0104     @input raw {LFHCAL_WORK}/{WORK}/converted/rawHGCROC_{run}.root
0105     @input rundb {RUNDB}
0106     @output root {LFHCAL_WORK}/{WORK}/pedestal/rawHGCROC_wPed.root
0107     @output calib {LFHCAL_WORK}/{WORK}/pedestal/rawHGCROC_wPed_calib.txt
0108     @output hists {LFHCAL_WORK}/{WORK}/pedestal/rawHGCROC_wPed_Hists.root
0109     @output plots {LFHCAL_WORK}/{WORK}/plots/pedestal/Run{run}
0110     {BUILD}/DataPrep -a -d 1 -p -i @input.raw -f \
0111         -o @output.root -O @output.plots -r @input.rundb -F pdf
0112 
0113 # The patterned pedestal parent keeps this dependency tied to the run table.
0114 transfer-g1: merge-muon {type}-{run}
0115     @input pedestal {LFHCAL_WORK}/{WORK}/pedestal/rawHGCROC_wPed.root
0116     @input raw {LFHCAL_WORK}/{WORK}/converted/rawHGCROC_Muon_{SET}.root
0117     @input bad {BAD_CHANNELS}
0118     @input toa {TOA}
0119     @input rundb {RUNDB}
0120     @output root {LFHCAL_WORK}/{WORK}/transfer/rawHGCROC_wPed_wBC_Muon_{SET}.root
0121     @output plots {LFHCAL_WORK}/{WORK}/plots/transfer/Muon_{SET}
0122     {BUILD}/DataPrep -d 1 -e -f -P @input.pedestal \
0123         -i @input.raw -o @output.root -O @output.plots \
0124         -r @input.rundb -B @input.bad -G @input.toa
0125 
0126 mip-g1: transfer-g1
0127     @input root {LFHCAL_WORK}/{WORK}/transfer/rawHGCROC_wPed_wBC_Muon_{SET}.root
0128     @input rundb {RUNDB}
0129     @output root {LFHCAL_WORK}/{WORK}/mip/rawHGCROC_wPedwMuon_wBC_Muon_{SET}.root
0130     @output calib {LFHCAL_WORK}/{WORK}/mip/rawHGCROC_wPedwMuon_wBC_Muon_{SET}_calib.txt
0131     @output hists {LFHCAL_WORK}/{WORK}/mip/rawHGCROC_wPedwMuon_wBC_Muon_{SET}_Hists.root
0132     @output plots {LFHCAL_WORK}/{WORK}/plots/mip/Muon_{SET}
0133     {BUILD}/DataPrep -a -f -d 1 -e -s -i @input.root \
0134         -o @output.root -O @output.plots -r @input.rundb
0135 
0136 select-g1: mip-g1
0137     @input root {LFHCAL_WORK}/{WORK}/mip/rawHGCROC_wPedwMuon_wBC_Muon_{SET}.root
0138     @output root {LFHCAL_WORK}/{WORK}/selected/rawHGCROC_mipTrigg_wPedwMuon_wBC_Muon_{SET}.root
0139     {BUILD}/DataPrep -f -d 1 -X -i @input.root -o @output.root
0140 
0141 # Fredi's *_red_woE recipe keeps fitting the same skimmed MIP sample and feeds
0142 # the previous pass's text calibration back with -k. It does not feed the
0143 # previous ROOT output into the next pass.
0144 refine1-g1: select-g1
0145     @input root {LFHCAL_WORK}/{WORK}/selected/rawHGCROC_mipTrigg_wPedwMuon_wBC_Muon_{SET}.root
0146     @input rundb {RUNDB}
0147     @output root {LFHCAL_WORK}/{WORK}/refine1/rawHGCROC_wPedwMuon_wBC_ImpR_Muon_{SET}.root
0148     @output calib {LFHCAL_WORK}/{WORK}/refine1/rawHGCROC_wPedwMuon_wBC_ImpR_Muon_{SET}_calib.txt
0149     @output plots {LFHCAL_WORK}/{WORK}/plots/refine1/Muon_{SET}
0150     {BUILD}/DataPrep -x -a -f -d 1 -S -i @input.root \
0151         -o @output.root -O @output.plots -r @input.rundb
0152 
0153 refine2-g1: refine1-g1
0154     @input root {LFHCAL_WORK}/{WORK}/selected/rawHGCROC_mipTrigg_wPedwMuon_wBC_Muon_{SET}.root
0155     @input prev {LFHCAL_WORK}/{WORK}/refine1/rawHGCROC_wPedwMuon_wBC_ImpR_Muon_{SET}_calib.txt
0156     @input rundb {RUNDB}
0157     @output root {LFHCAL_WORK}/{WORK}/refine2/rawHGCROC_wPedwMuon_wBC_Imp2R_Muon_{SET}.root
0158     @output calib {LFHCAL_WORK}/{WORK}/refine2/rawHGCROC_wPedwMuon_wBC_Imp2R_Muon_{SET}_calib.txt
0159     @output plots {LFHCAL_WORK}/{WORK}/plots/refine2/Muon_{SET}
0160     {BUILD}/DataPrep -x -a -f -d 1 -S -i @input.root -k @input.prev \
0161         -o @output.root -O @output.plots -r @input.rundb
0162 
0163 refine3-g1: refine2-g1
0164     @input root {LFHCAL_WORK}/{WORK}/selected/rawHGCROC_mipTrigg_wPedwMuon_wBC_Muon_{SET}.root
0165     @input prev {LFHCAL_WORK}/{WORK}/refine2/rawHGCROC_wPedwMuon_wBC_Imp2R_Muon_{SET}_calib.txt
0166     @input rundb {RUNDB}
0167     @output root {LFHCAL_WORK}/{WORK}/refine3/rawHGCROC_wPedwMuon_wBC_Imp3R_Muon_{SET}.root
0168     @output calib {LFHCAL_WORK}/{WORK}/refine3/rawHGCROC_wPedwMuon_wBC_Imp3R_Muon_{SET}_calib.txt
0169     @output plots {LFHCAL_WORK}/{WORK}/plots/refine3/Muon_{SET}
0170     {BUILD}/DataPrep -x -a -f -d 1 -S -i @input.root -k @input.prev \
0171         -o @output.root -O @output.plots -r @input.rundb
0172 
0173 refine4-g1: refine3-g1
0174     @input root {LFHCAL_WORK}/{WORK}/selected/rawHGCROC_mipTrigg_wPedwMuon_wBC_Muon_{SET}.root
0175     @input prev {LFHCAL_WORK}/{WORK}/refine3/rawHGCROC_wPedwMuon_wBC_Imp3R_Muon_{SET}_calib.txt
0176     @input rundb {RUNDB}
0177     @output root {LFHCAL_WORK}/{WORK}/refine4/rawHGCROC_wPedwMuon_wBC_Imp4R_Muon_{SET}.root
0178     @output calib {LFHCAL_WORK}/{WORK}/refine4/rawHGCROC_wPedwMuon_wBC_Imp4R_Muon_{SET}_calib.txt
0179     @output plots {LFHCAL_WORK}/{WORK}/plots/refine4/Muon_{SET}
0180     {BUILD}/DataPrep -x -a -f -d 1 -S -i @input.root -k @input.prev \
0181         -o @output.root -O @output.plots -r @input.rundb
0182 
0183 refine5-g1: refine4-g1
0184     @input root {LFHCAL_WORK}/{WORK}/selected/rawHGCROC_mipTrigg_wPedwMuon_wBC_Muon_{SET}.root
0185     @input prev {LFHCAL_WORK}/{WORK}/refine4/rawHGCROC_wPedwMuon_wBC_Imp4R_Muon_{SET}_calib.txt
0186     @input rundb {RUNDB}
0187     @output root {LFHCAL_WORK}/{WORK}/refine5/rawHGCROC_wPedwMuon_wBC_Imp5R_Muon_{SET}.root
0188     @output calib {LFHCAL_WORK}/{WORK}/refine5/rawHGCROC_wPedwMuon_wBC_Imp5R_Muon_{SET}_calib.txt
0189     @output plots {LFHCAL_WORK}/{WORK}/plots/refine5/Muon_{SET}
0190     {BUILD}/DataPrep -x -a -f -d 1 -S -i @input.root -k @input.prev \
0191         -o @output.root -O @output.plots -r @input.rundb
0192 
0193 final-g1: refine5-g1
0194     @input root {LFHCAL_WORK}/{WORK}/refine5/rawHGCROC_wPedwMuon_wBC_Imp5R_Muon_{SET}.root
0195     @input calib {LFHCAL_WORK}/{WORK}/refine5/rawHGCROC_wPedwMuon_wBC_Imp5R_Muon_{SET}_calib.txt
0196     @output root {LFHCAL_WORK}/{WORK}/final/calib_Final_Muon_{SET}.root
0197     @output calib {LFHCAL_WORK}/{WORK}/final/calib_Final_Muon_{SET}_calib.txt
0198     ! /bin/mkdir -p {LFHCAL_WORK}/{WORK}/final && \
0199         /bin/cp @input.root @output.root && /bin/cp @input.calib @output.calib