Twiki for users of Hadronic recoil package at 13 TeV using PFOs (Particle flow objects).
Introduction
The
HadronicRecoilPFO2016 package is developed originally for the W mass analysis at 13
TeV ; however it is also intended for other measurements that may find interest in having a proper recoil definition (e.g. pTW measurement). It runs only at analysis level making use of derivations containing the relevant information. In the next release of STDM derivations, STDM4 should contain all that is needed. Please email to your derivation contact and this page's responsible if you want it included in your derivation (NB : the size increase due to the additional containers can be non-negligible).
At the moment, there is no calibration or systematic derived ; it is planned to do it the same way as it was done for the 7
TeV W mass analysis, i.e. using Z events.
This Twiki provides technical details about the use of the package.
Setup and exemple use
Checkout the package in your analysis directory:
svn co svn+ssh://svn.cern.ch/reps/atlasinst/Institutes/Saclay/Run2AnalysisW/HadRecoil4Winners/trunk HadRecoil4Winners
Then include the package in the dependencies of your code (
AnalysisCode/cmt/Makefile).
Exemple code on how to use it ; in the header file :
#include "HadRecoil4Winners/hadrecoil.h"
hadrecoil *m_hadrecoil;
In the code at initialization :
m_hadrecoil = new hadrecoil("recoilTool");
Then in the event loop you can access the HR 4-vectors like this (several definitions are available, see below) ; I put the type of the argument to be passed to each function (of course to be removed in the code). Be careful to take the final definition of your lepton.
TLorentzVector PFOHR = m_hadrecoil -> getHadRecoilPFO(xAOD::TEvent& m_event, xAOD::IParticleContainer* leptons);
TLorentzVector PFOVoronoiHR = m_hadrecoil -> getHadRecoilPFOVoronoi(xAOD::TEvent& m_event, xAOD::IParticleContainer* leptons);
TLorentzVector PFOVoronoiSpreadingHR = m_hadrecoil -> getHadRecoilPFOVoronoiSpreading(xAOD::TEvent& m_event, xAOD::IParticleContainer* leptons);
TLorentzVector PFOSKVoronoiHR = m_hadrecoil -> getHadRecoilPFOSKVoronoi(xAOD::TEvent& m_event, xAOD::IParticleContainer* leptons);
Eventually don't forget to delete the tool in finalization:
if(m_hadrecoil){
delete m_hadrecoil;
m_hadrecoil = 0;}
Various hadronic recoil definitions
Each definition uses a sum of constituents (at 7
TeV it was typically LCW calibrated clusters) as the baseline hadronic recoil. Then, a cone is drilled around the "good" leptons - those passed to the tool. Eventually a random cone at same eta, different phi, is taken to replace the cone hole and account for underlying activity.
- getHadRecoilPFO : uses the sum of all particle flow objects (at LCW scale) ; charged PFOs (cPFOs) have pile-up suppression applied (remove cPFOs whose associated track does not come from the PV).
- getHadRecoilPFOVoronoi : uses the sum of all particle flow objects (at LCW scale) to calculate the Voronoi areas. Then, Voronoi pile-up suppression is applied to the neutral PFOs (nPFOs). Eventually, charged-suppressed cPFOs and nPFOs are added.
- getHadRecoilPFOVoronoiSpreading : same as above but using Voronoi spreading instead of simple Voronoi subtraction for nPFOs.
- getHadRecoilPFOSKVoronoi : same as getHadRecoilPFOVoronoi but using softkiller + Voronoi subtraction for nPFOs.
NB : a refined treatment of the leptons has to be done for the case of multijet background evaluation. This is not done at the moment ; at 7
TeV it used to replace the cone hole with the lepton isolation value
Performance of various algorithms
In the following performance plots, "nominal" means 7-TeV definition (using all LCW clusters), "recommended TST-based" uses the official TST MET minus the lepton, "CST-based" uses the CST MET also obtained with the official MET package. The other 3 definitions are explicit (see above). These plots are obtained with cone drilling but without cone replacement.
- bias_zee.pdf: mean value of bias (|u_par| - pTZ) vs pTZ, Zee
--
FabriceBalli - 2016-04-27