check for double s-tag containers
Same as !49161 (merged), but it checks for double s-tags in addition to double e-tags. @jbossios found an edge case that crashed in 21.2.199:
INFO: Trying with single-tag containers manually mc16_13TeV.364158.Sherpa_221_NNPDF30NNLO_Wmunu_MAXHTPTV0_70_BFilter.recon.AOD.e5340_s3126_s3136_r9364!
Traceback (most recent call last):
File "/cvmfs/atlas.cern.ch/repo/sw/software/21.2/AthAnalysis/21.2.199/InstallArea/x86_64-centos7-gcc8-opt/share/checkPRW.py", line 141, in <module>
os._exit(main())
File "/cvmfs/atlas.cern.ch/repo/sw/software/21.2/AthAnalysis/21.2.199/InstallArea/x86_64-centos7-gcc8-opt/share/checkPRW.py", line 80, in main
prov = atlasAPI.get_dataset_prov(client, singleTagName)
File "/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/pyAmi/pyAMI-5.1.2/lib/pyAMI/atlas/api.py", line 205, in get_dataset_prov
result = client.execute(command, format = 'dom_object')
File "/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/pyAmi/pyAMI-5.1.2/lib/pyAMI/client.py", line 270, in execute
return pyAMI.object.DOMObject(result, raise_errors = raise_errors)
File "/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/pyAmi/pyAMI-5.1.2/lib/pyAMI/object.py", line 139, in __init__
raise pyAMI.exception.Error('\n'.join(messages))
pyAMI.exception.Error: pyAMI exception: Can't get identifier from globalDatasets
It failed because pyAMI only found the double s-tag recon.AOD container and not the needed single s-tag container. This MR fixes this specific edge-case:
Determining provenances of 1 datasets ...
Doing mc16_13TeV.364158.Sherpa_221_NNPDF30NNLO_Wmunu_MAXHTPTV0_70_BFilter.deriv.DAOD_STDM3.e5340_s3126_r9364_p4432
INFO: Found a double e-tag container mc16_13TeV.364158.Sherpa_221_NNPDF30NNLO_Wmunu_MAXHTPTV0_70_BFilter.recon.AOD.e5340_e5984_s3126_s3136_r9364!
INFO: Found a double s-tag container mc16_13TeV.364158.Sherpa_221_NNPDF30NNLO_Wmunu_MAXHTPTV0_70_BFilter.recon.AOD.e5340_s3126_s3136_r9364!
INFO: Trying with single-tag containers manually mc16_13TeV.364158.Sherpa_221_NNPDF30NNLO_Wmunu_MAXHTPTV0_70_BFilter.recon.AOD.e5340_s3126_r9364!
channel 364158 is incomplete (missing 67528000 events from config files)
In addition, error handling is a bit improved to avoid the crash above.