Back to home page

EIC code displayed by LXR

 
 

    


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

0001 campaign lfhcal-tb2026-fullset-g2-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_2 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_2 uses pedestal run 529 and muon runs
0015 # 530, 531, 532, 533, 534, 535, 536, and 537 merged as Muon_FullSetG_2.
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_2.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-g2-repro
0036 @set SET FullSetG_2
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 529
0045     muon     530
0046     muon     531
0047     muon     532
0048     muon     533
0049     muon     534
0050     muon     535
0051     muon     536
0052     muon     537
0053 
0054 %cpus 1
0055 %memory 4GB
0056 %disk 8GB
0057 %time 2h
0058 %getenv true
0059 %wrapper ../../../tools/run-in-eic-shell.sh {EIC_SHELL} /usr/bin/env ROOT_MAX_THREADS=1 OMP_NUM_THREADS=1
0060 
0061 # Lightweight directory setup runs during `yall-run create`, not as a Condor job.
0062 %preflight /bin/mkdir -p \
0063         {LFHCAL_WORK}/{WORK}/converted \
0064         {LFHCAL_WORK}/{WORK}/pedestal \
0065         {LFHCAL_WORK}/{WORK}/transfer \
0066         {LFHCAL_WORK}/{WORK}/mip \
0067         {LFHCAL_WORK}/{WORK}/selected \
0068         {LFHCAL_WORK}/{WORK}/refine1 \
0069         {LFHCAL_WORK}/{WORK}/refine2 \
0070         {LFHCAL_WORK}/{WORK}/refine3 \
0071         {LFHCAL_WORK}/{WORK}/refine4 \
0072         {LFHCAL_WORK}/{WORK}/refine5 \
0073         {LFHCAL_WORK}/{WORK}/final \
0074         {LFHCAL_WORK}/{WORK}/plots/pedestal \
0075         {LFHCAL_WORK}/{WORK}/plots/transfer \
0076         {LFHCAL_WORK}/{WORK}/plots/mip \
0077         {LFHCAL_WORK}/{WORK}/plots/refine1 \
0078         {LFHCAL_WORK}/{WORK}/plots/refine2 \
0079         {LFHCAL_WORK}/{WORK}/plots/refine3 \
0080         {LFHCAL_WORK}/{WORK}/plots/refine4 \
0081         {LFHCAL_WORK}/{WORK}/plots/refine5
0082 
0083 # Convert every raw run through one task family.
0084 convert-{type}-{run}:
0085     @each type run in runs
0086     @input raw {LFHCAL_DATA}/Run{run}.h2g
0087     @input mapping {MAPPING}
0088     @input rundb {RUNDB}
0089     @output root {LFHCAL_WORK}/{WORK}/converted/rawHGCROC_{run}.root
0090     %memory 2GB
0091     {BUILD}/Convert -d 0 -f -w -c @input.raw \
0092         -o @output.root -m @input.mapping -r @input.rundb
0093 
0094 # Binding type=muon restricts the patterned parent fan-in, and therefore
0095 # @input.parts, to the eight muon conversions.
0096 merge-{type}: convert-{type}-{run}
0097     @each type muon
0098     @input parts {LFHCAL_WORK}/{WORK}/converted/rawHGCROC_{run}.root
0099     @output root {LFHCAL_WORK}/{WORK}/converted/rawHGCROC_Muon_{SET}.root
0100     hadd -f @output.root @input.parts
0101 
0102 # Bind type here; run is inherited from the compatible conversion row.
0103 {type}-{run}: convert-{type}-{run}
0104     @each type pedestal
0105     @input raw {LFHCAL_WORK}/{WORK}/converted/rawHGCROC_{run}.root
0106     @input rundb {RUNDB}
0107     @output root {LFHCAL_WORK}/{WORK}/pedestal/rawHGCROC_wPed.root
0108     @output calib {LFHCAL_WORK}/{WORK}/pedestal/rawHGCROC_wPed_calib.txt
0109     @output hists {LFHCAL_WORK}/{WORK}/pedestal/rawHGCROC_wPed_Hists.root
0110     @output plots {LFHCAL_WORK}/{WORK}/plots/pedestal/Run{run}
0111     {BUILD}/DataPrep -a -d 1 -p -i @input.raw -f \
0112         -o @output.root -O @output.plots -r @input.rundb -F pdf
0113 
0114 # The patterned pedestal parent keeps this dependency tied to the run table.
0115 transfer-g2: merge-muon {type}-{run}
0116     @input pedestal {LFHCAL_WORK}/{WORK}/pedestal/rawHGCROC_wPed.root
0117     @input raw {LFHCAL_WORK}/{WORK}/converted/rawHGCROC_Muon_{SET}.root
0118     @input bad {BAD_CHANNELS}
0119     @input toa {TOA}
0120     @input rundb {RUNDB}
0121     @output root {LFHCAL_WORK}/{WORK}/transfer/rawHGCROC_wPed_wBC_Muon_{SET}.root
0122     @output plots {LFHCAL_WORK}/{WORK}/plots/transfer/Muon_{SET}
0123     {BUILD}/DataPrep -d 1 -e -f -P @input.pedestal \
0124         -i @input.raw -o @output.root -O @output.plots \
0125         -r @input.rundb -B @input.bad -G @input.toa
0126 
0127 mip-g2: transfer-g2
0128     @input root {LFHCAL_WORK}/{WORK}/transfer/rawHGCROC_wPed_wBC_Muon_{SET}.root
0129     @input rundb {RUNDB}
0130     @output root {LFHCAL_WORK}/{WORK}/mip/rawHGCROC_wPedwMuon_wBC_Muon_{SET}.root
0131     @output calib {LFHCAL_WORK}/{WORK}/mip/rawHGCROC_wPedwMuon_wBC_Muon_{SET}_calib.txt
0132     @output hists {LFHCAL_WORK}/{WORK}/mip/rawHGCROC_wPedwMuon_wBC_Muon_{SET}_Hists.root
0133     @output plots {LFHCAL_WORK}/{WORK}/plots/mip/Muon_{SET}
0134     {BUILD}/DataPrep -a -f -d 1 -e -s -i @input.root \
0135         -o @output.root -O @output.plots -r @input.rundb
0136 
0137 select-g2: mip-g2
0138     @input root {LFHCAL_WORK}/{WORK}/mip/rawHGCROC_wPedwMuon_wBC_Muon_{SET}.root
0139     @output root {LFHCAL_WORK}/{WORK}/selected/rawHGCROC_mipTrigg_wPedwMuon_wBC_Muon_{SET}.root
0140     {BUILD}/DataPrep -f -d 1 -X -i @input.root -o @output.root
0141 
0142 # Fredi's *_red_woE recipe keeps fitting the same skimmed MIP sample and feeds
0143 # the previous pass's text calibration back with -k. It does not feed the
0144 # previous ROOT output into the next pass.
0145 refine1-g2: select-g2
0146     @input root {LFHCAL_WORK}/{WORK}/selected/rawHGCROC_mipTrigg_wPedwMuon_wBC_Muon_{SET}.root
0147     @input rundb {RUNDB}
0148     @output root {LFHCAL_WORK}/{WORK}/refine1/rawHGCROC_wPedwMuon_wBC_ImpR_Muon_{SET}.root
0149     @output calib {LFHCAL_WORK}/{WORK}/refine1/rawHGCROC_wPedwMuon_wBC_ImpR_Muon_{SET}_calib.txt
0150     @output plots {LFHCAL_WORK}/{WORK}/plots/refine1/Muon_{SET}
0151     {BUILD}/DataPrep -x -a -f -d 1 -S -i @input.root \
0152         -o @output.root -O @output.plots -r @input.rundb
0153 
0154 refine2-g2: refine1-g2
0155     @input root {LFHCAL_WORK}/{WORK}/selected/rawHGCROC_mipTrigg_wPedwMuon_wBC_Muon_{SET}.root
0156     @input prev {LFHCAL_WORK}/{WORK}/refine1/rawHGCROC_wPedwMuon_wBC_ImpR_Muon_{SET}_calib.txt
0157     @input rundb {RUNDB}
0158     @output root {LFHCAL_WORK}/{WORK}/refine2/rawHGCROC_wPedwMuon_wBC_Imp2R_Muon_{SET}.root
0159     @output calib {LFHCAL_WORK}/{WORK}/refine2/rawHGCROC_wPedwMuon_wBC_Imp2R_Muon_{SET}_calib.txt
0160     @output plots {LFHCAL_WORK}/{WORK}/plots/refine2/Muon_{SET}
0161     {BUILD}/DataPrep -x -a -f -d 1 -S -i @input.root -k @input.prev \
0162         -o @output.root -O @output.plots -r @input.rundb
0163 
0164 refine3-g2: refine2-g2
0165     @input root {LFHCAL_WORK}/{WORK}/selected/rawHGCROC_mipTrigg_wPedwMuon_wBC_Muon_{SET}.root
0166     @input prev {LFHCAL_WORK}/{WORK}/refine2/rawHGCROC_wPedwMuon_wBC_Imp2R_Muon_{SET}_calib.txt
0167     @input rundb {RUNDB}
0168     @output root {LFHCAL_WORK}/{WORK}/refine3/rawHGCROC_wPedwMuon_wBC_Imp3R_Muon_{SET}.root
0169     @output calib {LFHCAL_WORK}/{WORK}/refine3/rawHGCROC_wPedwMuon_wBC_Imp3R_Muon_{SET}_calib.txt
0170     @output plots {LFHCAL_WORK}/{WORK}/plots/refine3/Muon_{SET}
0171     {BUILD}/DataPrep -x -a -f -d 1 -S -i @input.root -k @input.prev \
0172         -o @output.root -O @output.plots -r @input.rundb
0173 
0174 refine4-g2: refine3-g2
0175     @input root {LFHCAL_WORK}/{WORK}/selected/rawHGCROC_mipTrigg_wPedwMuon_wBC_Muon_{SET}.root
0176     @input prev {LFHCAL_WORK}/{WORK}/refine3/rawHGCROC_wPedwMuon_wBC_Imp3R_Muon_{SET}_calib.txt
0177     @input rundb {RUNDB}
0178     @output root {LFHCAL_WORK}/{WORK}/refine4/rawHGCROC_wPedwMuon_wBC_Imp4R_Muon_{SET}.root
0179     @output calib {LFHCAL_WORK}/{WORK}/refine4/rawHGCROC_wPedwMuon_wBC_Imp4R_Muon_{SET}_calib.txt
0180     @output plots {LFHCAL_WORK}/{WORK}/plots/refine4/Muon_{SET}
0181     {BUILD}/DataPrep -x -a -f -d 1 -S -i @input.root -k @input.prev \
0182         -o @output.root -O @output.plots -r @input.rundb
0183 
0184 refine5-g2: refine4-g2
0185     @input root {LFHCAL_WORK}/{WORK}/selected/rawHGCROC_mipTrigg_wPedwMuon_wBC_Muon_{SET}.root
0186     @input prev {LFHCAL_WORK}/{WORK}/refine4/rawHGCROC_wPedwMuon_wBC_Imp4R_Muon_{SET}_calib.txt
0187     @input rundb {RUNDB}
0188     @output root {LFHCAL_WORK}/{WORK}/refine5/rawHGCROC_wPedwMuon_wBC_Imp5R_Muon_{SET}.root
0189     @output calib {LFHCAL_WORK}/{WORK}/refine5/rawHGCROC_wPedwMuon_wBC_Imp5R_Muon_{SET}_calib.txt
0190     @output plots {LFHCAL_WORK}/{WORK}/plots/refine5/Muon_{SET}
0191     {BUILD}/DataPrep -x -a -f -d 1 -S -i @input.root -k @input.prev \
0192         -o @output.root -O @output.plots -r @input.rundb
0193 
0194 final-g2: refine5-g2
0195     @input root {LFHCAL_WORK}/{WORK}/refine5/rawHGCROC_wPedwMuon_wBC_Imp5R_Muon_{SET}.root
0196     @input calib {LFHCAL_WORK}/{WORK}/refine5/rawHGCROC_wPedwMuon_wBC_Imp5R_Muon_{SET}_calib.txt
0197     @output root {LFHCAL_WORK}/{WORK}/final/calib_Final_Muon_{SET}.root
0198     @output calib {LFHCAL_WORK}/{WORK}/final/calib_Final_Muon_{SET}_calib.txt
0199     ! /bin/mkdir -p {LFHCAL_WORK}/{WORK}/final && \
0200         /bin/cp @input.root @output.root && /bin/cp @input.calib @output.calib