Skip to content

Make SUSYTools compatible with the new BTagging scheme

Johannes Junggeburth requested to merge (removed):BTaggingFix_ST into 21.2

Hi @janders, @salderwe,

I had a thought about how to solve the different container names for BTagged jets and ordinary ones. In a first attempt I tried to exchange the container key, but that lead to a crash of athena. Then I realized that the BTaggingTool is just accessing the xAOD::BTagging object and working with that. So why not bend the link from the TimeStamped containers to the old containers. The solution I propose is backward compatible but requires the user to adapt his code & ST config file.

I've introduced two new config properties

Btag.TimeStamp: 201810
BtagTrkJet.TimeStamp: None

If set they're going to configure the BTagSelection and BTrkJetSelection and efficiency tools. I'm not sure whether the timestamp has been introduced for the track-jets as well. Anyway it does not harm to be prepared for the future.

To make the btagging working again I've added the BendBTaggingLinks which overwrites the btagging link from the time-stamped btag container to the made ShallowCopy. Basically the user can call the method himself in his code or he/she can parse the time-stamped key to the GetJets method which is then taking care of it. If no time stamped key is parsed nothing will happen w.r.t. this.

I've managed to obtain back some b-tags in my n-tuples using this approach. I'd like to ask @cpollard, @cschiavi to confirm that the btagging link is really the only difference between these two jet collections or whether I've missed something.

Cheers,

Johannes

Edited by Philipp Gadow

Merge request reports