JetForwardJvtToolBDT: new forward pileup-jet tagger
Add a new JetForwardJvtToolBDT class to the JetMomentTool package. Modified JetJvtEfficiency & DerivationFrameworkJetEtMiss to handle the new tool.
The tool tags pileup jets outside tracker acceptance using the fJVT/timing information enhanced with specific jet-shape variables, allowing to mitigate the impact of stochastic pileup, that can't be dealt with using fJVT alone, and generally improving the tagging performances.
The tagger (MVfJVT) computation requires inputs that are usually not stored in derivations. It is computed in the derivation framework and is retrieved by adding to the derivation code:
applyMVfJvtAugmentation(jetalg='AntiKt4EMTopo',sequence=DerivationSequence, algname='JetForwardJvtToolBDTAlg')
MVfJVT is stored as a JetEtMiss CP moment ( 'DFCommonJets_MVfJVT' ). Alternatively, one can retrieve the tagger inputs variables instead, in order to compute the tagger value in the analysis framework (useful in some specific cases).
SlimmingHelper.ExtraVariables += ["AntiKt4EMTopoJets.DFCommonJets_Sumcle.DFCommonJets_SumclIso.DFCommonJets_SumclEMprob.DFCommonJets_LeadclWidth.DFCommonJets_LeadclSecondLambda"]
The calibration chain has been updated in the derivation code to match the latest recommendation, as the MVfJVT computation requires jets to be calibrated. The calibration chain would need to be kept up-to-date in case new recommendations are provided. The validity of the procedure implemented has been checked by comparing the MVfJVT distributions in Z+jets samples with the tagger computed in the derivation framework, and in a custom user code (using analysisBase). Perfect closure is obtained.
Tested and functioning both in analysis (AnalysisBase,21.2.76) & derivation (AthDerivation,21.2.67.0) frameworks.