GbbTaggerHowTo
Jet selection
- 0.4 anti-kt jets, calibrated at EM/LC scale.
- Jet pT > 40 GeV
- |Jet Eta| <2.1
- MV1 weight > 0.905363 (rel 17 60% efficiency working point)
Gbb tagger in athena
Input variable: nMatchingTracks
This variable, referred to as Jet track multiplicity in
ATLAS-CONF-2012-100 is defined as the number of tracks with pT above 1
GeV, satisfying the quality cuts below, contained within a cone of radius R = 0.4 around the jet axis.
- pTMin = 1000.,
- d0Max = 2.0,
- z0Max = 2.0,
- nHitPix = 1,
- nHitSct = 4,
- nHitSi = 7,
- fitChi2OnNdfMax = 3.0,
Input variable: trkJetWidth
This variable, referred to as Track-jet width in
ATLAS-CONF-2012-100 , is defined as the track_pT weighted average of the ∆R distances between the tracks and the jet axis direction.
In athena, the function below is used to compute its value:
double HadFlavorTag::m_trkwidth(std::vector<const Rec::TrackParticle*> tracks,HepLorentzVector j){
double trkWIDTH = -1;
double trkWIDTH_num = 0;
double trkWIDTH_den = 0;
for(std::vector<const Rec::TrackParticle*>::iterator trkItr = tracks.begin(); trkItr !=tracks.end(); ++trkItr) {
const Rec::TrackParticle* aTemp = *trkItr;
double dR =aTemp->hlv().deltaR(j);
trkWIDTH_num+=aTemp->pt()*dR;
trkWIDTH_den+=aTemp->pt();
}
if(trkWIDTH_den>0)trkWIDTH = trkWIDTH_num/trkWIDTH_den;
return trkWIDTH;
}
Input variable: trkJetDRKtaxes
This variable, referred to as the
DeltaR between the axes of exclusive kt subjets in
ATLAS-CONF-2012-100 , is obtained by applying the kt algorithm to the tracks associated to the jet using a large kt distance parameter to ensure that all tracks get combined. The clustering is stopped once it reaches exactly two jets.
In athena,
double HadFlavorTag::m_drktaxes(std::vector<const Rec::TrackParticle*> tracks){
double DRKtAxes = -1;
vector<fastjet::PseudoJet> seed2axes;
const int n_jets = 2;
vector <fastjet::PseudoJet> inputTracks;
//get inputTracks out of TrackParticles
for(std::vector<const Rec::TrackParticle*>::iterator trkItr = tracks.begin(); trkItr !=tracks.end(); ++trkItr) {
const Rec::TrackParticle* aTemp = *trkItr;
double Energy =aTemp->hlv().e();
double Px =aTemp->hlv().px();
double Py =aTemp->hlv().py();
double Pz =aTemp->hlv().pz();
inputTracks.push_back(fastjet::PseudoJet(Px,Py,Pz,Energy/1000));
}
//cluster sequence
fastjet::JetDefinition jet_def = fastjet::JetDefinition(fastjet::kt_algorithm,3.14159265/2,fastjet::E_scheme,fastjet::Best);
fastjet::ClusterSequence jet_clust_seq(inputTracks, jet_def);
seed2axes = jet_clust_seq.exclusive_jets(n_jets);
if(inputTracks.size()>=2)DRKtAxes = sqrt(seed2axes[0].squared_distance(seed2axes[1]));
return DRKtAxes;
}
The following
fastjet classes need to be included:
#include "fastjet/PseudoJet.hh"
#include "fastjet/ClusterSequence.hh"
Use standalone version
The standalone version of the tagger comprises 2 files:
- StandaloneGbbTaggerResponse.cpp: This is the tagger class.
- weights.txt: This is the weights file. Do not modify this file.
In order to use this version interactively, please do:
gSystem->CompileMacro("StandaloneGbbTaggerResponse.cpp", "k");
before calling the function returning the tagger output value,
double w = GetMvaoutput(double trkJetDRKtaxes, int nMatchingTracks, double trkJetWidth, double JetPt); // JetPt in [GeV]
Otherwise, include the class in your C++ analysis code.
Working points
We support two working points for each pt bin:
- 40GeV < Jet Pt < 60GeV:
- 50% single b-jet efficiency: w > 0.704, gbb rejection 8
- 60% single b-jet efficiency: w > 0.602, gbb rejection 5
- 60GeV < Jet Pt < 80GeV:
- 50% single b-jet efficiency: w > 0.8264 , gbb rejection 10
- 60% single b-jet efficiency: w > 0.7448 , gbb rejection 7
- 80GeV < Jet Pt < 110GeV:
- 50% single b-jet efficiency: w > 0.908, gbb rejection 14
- 60% single b-jet efficiency: w > 0.806 , gbb rejection 9
- 110GeV < Jet Pt < 150GeV:
- 50% single b-jet efficiency: w > 0.9284 , gbb rejection 19
- 60% single b-jet efficiency: w > 0.8468, gbb rejection 12
- 150GeV < Jet Pt < 200GeV:
- 50% single b-jet efficiency: w > 0.9284 , gbb rejection 23
- 60% single b-jet efficiency: w > 0.8468 , gbb rejection 14
- 200GeV < Jet Pt < 270GeV:
- 50% single b-jet efficiency: w > 0.9488 , gbb rejection 30
- 60% single b-jet efficiency: w > 0.8468 , gbb rejection 16
- 270GeV < Jet Pt < 360GeV:
- 50% single b-jet efficiency: w > 0.9488, gbb rejection 36
- 60% single b-jet efficiency: w > 0.8672, gbb rejection 19
- 360GeV < Jet Pt < 480GeV:
- 50% single b-jet efficiency: w >0.9692 , gbb rejection 41
- 60% single b-jet efficiency: w > 0.908, gbb rejection 18
--
MariaLauraGonzalezSilva - 27-Nov-2012