JVF Uncertainty Tool

JVF Uncertainty Tool


The tool provides the JVF cut up/down variation needed to estimate the systematic uncertainty associated to the use of a JVF cut in the analysis. Three JVF working points are supported: 0, 0.25, 0.50. The analyser will run his/her analysis 3 times: one using the nominal JVF cut, another with the JVF up cut variation and the last one with the JVF down cut variation. The difference with respect to the nominal correspond to the systematic uncertainty associated to the use of JVF.

The JVF cut, as well as the up/down systematic variations have to be applied only to jets with $p_{T}<$50 GeV and $|\eta|<$2.4. The output depends on whether the jet falls in the pile-up (PU) or hard-scatter (HS) jet category. Three functions are defined: the first one isPileUpJet() classifies the jet as a HS or PU jet based in a $\Delta R$ matching between the jet and the truth jets collection.

bool isPileUpJet(const TLorentzVector jet, const std::vector<TLorentzVector> truthJets);
  • jet = reconstructed jet after LC/EM+JES calibration, pT<50 GeV and |eta_detector|<2.4
  • truthJets = truth jets with pT>10 GeV. Anti-kT jets reconstructed from truth particles without neutrinos and muons have to be used.

The second function getJVFcut() provides the JVF up/down cut variation. These variations are calculated separately for HS and PU jets and for the different jet algorithms: "AntiKt4TopoEM","AntiKt6TopoEM","AntiKt4LCTopo" and "AntiKt6LCTopo". The jet algorithm is passed as an argument when initializing the tool.

float getJVFcut(const float JVFcutNominal, const bool isPileUp, const float pT_jet, const float eta_det, const bool isUp );
  • pT_jet = reconstructed jet pT after LC/EM+JES calibration (only jets with pT<50 GeV have to be considered)
  • eta_det = jet eta detector (only jets with |eta_det|<2.4 GeV have to be considered)
  • JVFcutNominal = 0.0, 0.25, 0.50
  • isPileUp = output of the previous function
  • isUp = true to get the JVF up cut variation, false to get the JVF down cut variation

TLorentzVectors are expected to have units of GeV (not MeV)

Details about the procedure and the event selection used to derive the JVF up/down cut variations can be found at: XXXXXXXXXXXXXXXXXXXXXXXXXX

Especial case: JVFcutNominal=0

Only the JVF up cut variation is provided in this case, for obvious reasons. The difference between using the JVF up cut and the nominal one has to be symmetrized in order to get the down variation.

Package and tag: JVFUncertaintyTool-00-00-01

svn co $SVNOFF/Reconstruction/Jet/JetAnalysisTools/JVFUncertaintyTool/tags/JVFUncertaintyTool-00-00-01 JVFUncertaintyTool

To compile it:

cd Reconstruction/Jet/JetAnalysisTools/JVFUncertaintyTool/cmt
cmt make -f Makefile.Standalone

It is then possible to link the compiled .so to your standalone executable.

Initializing the JVFUncertaintyTool: include the header file and call the constructor before the event loop

#include "JVFUncertaintyTool/JVFUncertaintyTool.h"

 //before the event loop create an instance of JVFUncertaintyTool. It takes as argument the jet collection: "AntiKt4TopoEM","AntiKt6TopoEM","AntiKt4LCTopo","AntiKt6LCTopo"

JVFUncertaintyTool *jvfTool = new JVFUncertaintyTool("AntiKt4TopoEM");

Verifying if the jet is classified as a HS or PU jet: for each reconstructed jet we need to call the IsPileUpJet() function

//Create the TLorentzVector of the reconstructed jet after the EM/LC+JES calibration
TLorentzVector jet = new TLorentzVector();
jet.SetPtEtaPhiE(pT, eta, phi, E)

//Verify is the jet is classified as a PU or HS jet
bool isPU = jvfTool->IsPileUpJet(jet, truthJets);

Get the JVF up/down cut:

double JVFcutNominal = 0.5;  //0, 0.25, 0.50 are supported

float JVFcutUp = jvfTool->getJVFcut(JVFcutNominal, isPU, jet.Pt(), eta_det, true);
float JVFcutDown = jvfTool->getJVFcut(JVFcutNominal, isPU, jet.Pt(), eta_det, false);

Edit | Attach | Watch | Print version | History: r8 < r7 < r6 < r5 < r4 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r8 - 2013-02-11 - ReinaCamacho
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback