This repository was archived by the owner on Jan 31, 2022. It is now read-only.
Description
Brief summary of issue
The channel to strip mapping is not presently correct for v3 electronics, and in many cases it's hard coded to v2b mapping.
Types of issue
Expected Behavior
The channel-to-strip mapping should stop defaulting to the v2b mapping but should be determined in the following way:
If the user provides an external mapping file the script should use this mapping file (with the option --extChanMapping ),
Scripts below should all have the option --extChanMapping.
If an external mapping file is not provided, a DB query based on the chamber name should be determined to load the mapping, or
If the chamber name is not know, the GEBType should be used to query the DB to determine the channel mapping,
If the DB query fails, it should default to the HV3b_V3 mapping included in the repo:
To accomplish this I would propose the getMapping(...) function is adapted to use the db interface tools to determine the mapping.
This may require adding a function to extract the channel mapping from the DB and then getMapping(...) to use this function.
Current Behavior
anaSBitReadout.py
Here the mapping is v3 defaulted. But it is hard coded for HV3b_V1, V2, or V4 hybrids:
if mapping is None :
mapping = mappath + size + "ChannelMap_VFAT3-HV3b-V1_V2_V4.txt"
elif not os .path .isfile (mapping ):
raise IOError ("No such file or directory" , mapping )
else :
pass
anaUltraScurve.py
Here an external mapping file can be provided but otherwise it will default to the v2b mapping:
if options .extChanMapping is not None :
dict_vfatChanLUT = getMapping (options .extChanMapping )
elif GEBtype == 'long' :
dict_vfatChanLUT = getMapping (MAPPING_PATH + '/longChannelMap.txt' )
if GEBtype == 'short' :
dict_vfatChanLUT = getMapping (MAPPING_PATH + '/shortChannelMap.txt' )
anaUltraThreshold.py
The mapping is defaulting to the v2b mapping:
if GEBtype == 'long' :
intext = open (MAPPING_PATH + '/longChannelMap.txt' , 'r' )
pass
if GEBtype == 'short' :
intext = open (MAPPING_PATH + '/shortChannelMap.txt' , 'r' )
pass
Context (for feature requests)
The channel to strip mapping is not presented correctly for v3 detectors.
Your Environment
Reactions are currently unavailable
Brief summary of issue
The channel to strip mapping is not presently correct for v3 electronics, and in many cases it's hard coded to v2b mapping.
Types of issue
Expected Behavior
The channel-to-strip mapping should stop defaulting to the v2b mapping but should be determined in the following way:
--extChanMapping),--extChanMapping.To accomplish this I would propose the getMapping(...) function is adapted to use the db interface tools to determine the mapping.
This may require adding a function to extract the channel mapping from the DB and then getMapping(...) to use this function.
Current Behavior
anaSBitReadout.py
Here the mapping is v3 defaulted. But it is hard coded for HV3b_V1, V2, or V4 hybrids:
gem-plotting-tools/anaSBitReadout.py
Lines 97 to 102 in 78c8874
anaUltraScurve.py
Here an external mapping file can be provided but otherwise it will default to the v2b mapping:
gem-plotting-tools/anaUltraScurve.py
Lines 293 to 298 in 78c8874
anaUltraThreshold.py
The mapping is defaulting to the v2b mapping:
gem-plotting-tools/anaUltraThreshold.py
Lines 65 to 70 in 78c8874
Context (for feature requests)
The channel to strip mapping is not presented correctly for v3 detectors.
Your Environment