Skip to content
Snippets Groups Projects
Commit b4a586bc authored by Emanuele Villa's avatar Emanuele Villa
Browse files

Merge branch 'feature/HLT3_configs' into 'main'

Update to configs after N and S installations

See merge request !44
parents 4a0d3a4f 4bc57f2e
Branches
Tags
1 merge request!44Update to configs after N and S installations
Pipeline #10680 passed
......@@ -31,13 +31,24 @@ Coincidence between edges of each bar.
Receiving a trigger from MCB and sending out a triggerOut, therefore there is a dummy HLT3 coincidence enabled.
### 'tof_MCB_HLT3_topORdownstream_AND_bottomORupstream_trgOut.sh'
SINCE INSTALLATION OF NORTH AND SOUTH PLANES, THIS BECAME LEGACY, USE THE CONFIG BELOW.
Coincidence between edges of each bar.
In addition, there is an AND coincidence set between FEB 0, 1 and 3.
In addition, there is an AND coincidence set between FEB 0, 1 and 2.
This means that [(top OR downstream) AND (bottom OR upstream)] are required to trigger.
FEB 3 currently not included, due to limitations in the combinatory scheme.
This can help to have coincidence between different planes to study tracks.
This is the one with MCB, suitable for cosmics tests.
### 'tof_MCB_HLT3_FEBcoincidences_trgOut.sh'
Same as above, but renamed it to avoid confusion since the installation of planes North and South.
Coincidence between edges of each bar.
In addition, there is an AND coincidence set between FEB 0, 1 and 2.
The complete condition is [(Top OR Downstream) AND (Bottom OR Upstream)] OR [(Top OR Downstream) AND (North or South)] OR [(North or South) AND (Bottom OR Upstream)].
FEB 3 not included, due to limitations in the combinatory scheme.
This can help to have coincidence between different planes to study tracks.
This needs the MCB and provides a trgOut signal, suitable for cosmics tests.
### 'tof_MCB_HLT3_topANDbottom.sh'
Same as above but different trigger logic, Top AND Bottom required to trigger.
All other channels are off.
......
source ${BASH_DIR}/odb/base/odbUtils.sh
echo -e "Running HLT3 MCB setup, coincidence among any two FEBs. This means:"
echo -e "[(Top OR Downstream) AND (Bottom OR Upstream)] OR [(Top OR Downstream) AND (North or South)] OR [(North or South) AND (Bottom OR Upstream)]"
echo -e "Only central bars, no bars 0,1,18,19 in trigger conditions to avoid these dominating."
echo -e "Receiving external trigger from MCB, providing trgOut signal."
echo -e "This is the same as the legacy tof_MCB_HLT3_topORdownstream_AND_bottomORupstream_trgOut.sh, just making explicit that now we have N and S planes."
nFEBs=4
nSAMPICsPerFEB=4
for (( iFEB=0; iFEB<=(${nFEBs}-1); iFEB++ ));
do
echo -e "${INFO} iFEB=${iFEB}"
febFolder="/TOF/DAQ/ChannelSettings/FEB${iFEB}"
odbVarSet "${febFolder}/isEnabled" y # enabling all FEBs
odbVarSet "${febFolder}/globalTrigger" 1 # set HLT to L3 instead of L2, needed to have trgOut
for (( iSAMPIC=0; iSAMPIC<=(${nSAMPICsPerFEB}-1); iSAMPIC++ ));
do
echo -e "${INFO} iSAMPIC=${iSAMPIC}"
sampicFolder="${febFolder}/SAMPIC${iSAMPIC}"
odbVarSet "${sampicFolder}/isEnabled" y # enabling all SAMPICs
odbVarSet "${sampicFolder}/openGateOnExtTrig" n # we don't use this
odbVarSet "${sampicFolder}/useExtTrigAsEnableTrig" y # external trigger to use MCB
odbVarSet "${sampicFolder}/triggerOption" 1 # this enables the usage of the HLT
done
done
# channels that are not used
odbVarSet "/TOF/DAQ/ChannelSettings/FEB3/SAMPIC1/channelIsEnabledList[8]" 0
odbVarSet "/TOF/DAQ/ChannelSettings/FEB3/SAMPIC1/channelIsEnabledList[11]" 0
odbVarSet "/TOF/DAQ/ChannelSettings/FEB3/SAMPIC2/channelIsEnabledList[4]" 0
odbVarSet "/TOF/DAQ/ChannelSettings/FEB3/SAMPIC2/channelIsEnabledList[7]" 0
odbVarSet "/TOF/DAQ/ChannelSettings/FEB3/SAMPIC3/channelIsEnabledList[*]" 0
#set external clock and frequency for MCB tests
odbVarSet '/TOF/DAQ/RunParameters/useExternalClock' y
odbVarSet '/TOF/DAQ/RunParameters/externalSamplingFrequency' 3200
odbVarSet '/TOF/DAQ/HighLevelTrigger/ExternalTriggerOptions/ExternalTriggerType' 4
odbVarSet '/TOF/DAQ/HighLevelTrigger/L2Trigger/Level2TriggerBuildOption' y
# L2 Trigger settings for FEBS 0, 1, 2
for (( iFEB=0; iFEB<=(${nFEBs}-2); iFEB++ ));
do
febFolderL2="/TOF/DAQ/HighLevelTrigger/L2Trigger/FEB${iFEB}"
odbVarSet "${febFolderL2}/TrigLogicInput0" 0
odbVarSet "${febFolderL2}/TrigLogicInput1" 1
odbVarSet "${febFolderL2}/TrigLogicInput2" 2
odbVarSet "${febFolderL2}/TrigLogicInput3" 3
odbVarSet "${febFolderL2}/TrigLogicLayer1Logic0" 0 # LOGIC_AND
odbVarSet "${febFolderL2}/TrigLogicLayer1Logic1" 4 # FORCE_0
odbVarSet "${febFolderL2}/TrigLogicLayer1Logic2" 0 # LOGIC_AND
odbVarSet "${febFolderL2}/TrigLogicLayer2Logic0" 2 # LEFT
odbVarSet "${febFolderL2}/TrigLogicLayer2Logic1" 3 # RIGHT
odbVarSet "${febFolderL2}/TrigLogicLayer3Logic" 1 # LOGIC_OR
done
# L2 Trigger settings for FEB 3
febFolderL2_FEB3="/TOF/DAQ/HighLevelTrigger/L2Trigger/FEB3"
odbVarSet "${febFolderL2_FEB3}/TrigLogicInput0" 0
odbVarSet "${febFolderL2_FEB3}/TrigLogicInput1" 1
odbVarSet "${febFolderL2_FEB3}/TrigLogicInput2" 2
odbVarSet "${febFolderL2_FEB3}/TrigLogicInput3" 0
odbVarSet "${febFolderL2_FEB3}/TrigLogicLayer1Logic0" 0 # LOGIC_AND
odbVarSet "${febFolderL2_FEB3}/TrigLogicLayer1Logic1" 0 # LOGIC_AND
odbVarSet "${febFolderL2_FEB3}/TrigLogicLayer1Logic2" 0 # LOGIC_AND
odbVarSet "${febFolderL2_FEB3}/TrigLogicLayer2Logic0" 1 # LOGIC_OR
odbVarSet "${febFolderL2_FEB3}/TrigLogicLayer2Logic1" 3 # RIGHT
odbVarSet "${febFolderL2_FEB3}/TrigLogicLayer3Logic" 1 # LOGIC_OR
# L3 Trigger settings
# Still keeping out FEB3, or there can not be the correct logic for the others
odbVarSet '/TOF/DAQ/HighLevelTrigger/L3Trigger/Level3TriggerBuildOption' y
febFolderL3="/TOF/DAQ/HighLevelTrigger/L3Trigger"
odbVarSet "${febFolderL3}/TrigLogicInput0" 0
odbVarSet "${febFolderL3}/TrigLogicInput1" 1
odbVarSet "${febFolderL3}/TrigLogicInput2" 2
odbVarSet "${febFolderL3}/TrigLogicInput3" 0
odbVarSet "${febFolderL3}/TrigLogicLayer1Logic0" 0 # LOGIC_AND
odbVarSet "${febFolderL3}/TrigLogicLayer1Logic1" 0 # LOGIC_AND
odbVarSet "${febFolderL3}/TrigLogicLayer1Logic2" 0 # LOGIC_AND
odbVarSet "${febFolderL3}/TrigLogicLayer2Logic0" 1 # LOGIC_OR
odbVarSet "${febFolderL3}/TrigLogicLayer2Logic1" 1 # LOGIC_OR
odbVarSet "${febFolderL3}/TrigLogicLayer3Logic" 1 # LOGIC_OR
#typedef enum
#{
# 0 LOGIC_AND,
# 1 LOGIC_OR,
# 2 LEFT,
# 3 RIGHT,
# 4 FORCE_0,
# 5 FORCE_1
#
#}CombiTriggerLogic_t;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment