Skip to content

Fix checkPRW.py with double e-tag containers

Miha Muskinja requested to merge mmuskinj/athena:21.2-checkPRW-fix into 21.2

In some cases the checkPRW.py script does not find the single e-tag recon.AOD container and breaks down. For example:

echo "mc16_13TeV.410142.Sherpa_NNPDF30NNLO_ttll_mll5.deriv.DAOD_HIGG2D1.e4686_s3126_r10724_p4220" > mydatasets.txt
checkPRW.py --inDsTxt=./mydatasets.txt ./mc16_13TeV.410142.Sherpa_NNPDF30NNLO_ttll_mll5.deriv.NTUP_PILEUP.e4686_s3126_r10724_p3604/NTUP_PILEUP.16745432._000001.pool.root.1
Determining provenances of 1 datasets ...
Doing mc16_13TeV.410142.Sherpa_NNPDF30NNLO_ttll_mll5.deriv.DAOD_HIGG2D1.e4686_s3126_r10724_p4220
channel 410142 is suspect! (config files have additional 2998000 events)

It breaks down because the script only finds the following dataset:

mc16_13TeV.410142.Sherpa_NNPDF30NNLO_ttll_mll5.recon.AOD.e4686_e5984_s3126_r10724

However, the correct dataset is the one with a single e-tag:

mc16_13TeV.410142.Sherpa_NNPDF30NNLO_ttll_mll5.recon.AOD.e4686_s3126_r10724

This MR adds a solution for this specific corner case. After the fix, it works well:

./checkPRW.py --inDsTxt=./mydatasets.txt ./mc16_13TeV.410142.Sherpa_NNPDF30NNLO_ttll_mll5.deriv.NTUP_PILEUP.e4686_s3126_r10724_p3604/NTUP_PILEUP.16745432._000001.pool.root.1
Determining provenances of 1 datasets ...
Doing mc16_13TeV.410142.Sherpa_NNPDF30NNLO_ttll_mll5.deriv.DAOD_HIGG2D1.e4686_s3126_r10724_p4220
mc16_13TeV.410142.Sherpa_NNPDF30NNLO_ttll_mll5.recon.AOD.e4686_e5984_s3126_r10724
INFO: Found a double e-tag container mc16_13TeV.410142.Sherpa_NNPDF30NNLO_ttll_mll5.recon.AOD.e4686_e5984_s3126_r10724!
INFO: Trying with single-tag containers manually mc16_13TeV.410142.Sherpa_NNPDF30NNLO_ttll_mll5.recon.AOD.e4686_s3126_r10724!
channel 410142 is ok

Merge request reports