Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ The scale factors can be found in the .root files in ‘scaleFactors/’. The fi

This matching has to be performed in an analysis to apply the correct scale factors. Some pseudo code to give an example how this can be applied in an analysis is given in ‘pseudoCodeMatching’. The top quarks and their decay products are generator particles at LHE level. How to access them is framework dependent and in the responsibility of the analysers.

For HOTVR the decay products are not matched to the full jet but to the HOTVR subjets. The matching radius is estimated from the jet area of each subjet by sqrt( area / pi). Example pseudo code can be found in ‘pseudoCodeMatchingHOTVR’.
For HOTVR in 2016 the decay products are not matched to the full jet but to the HOTVR subjets. The matching radius is estimated from the jet area of each subjet by sqrt( area / pi). In 2018 the decay products are matched to the full jet. The matching radius is calculated from the pt of the jet via rho/pt. Example pseudo code can be found in ‘pseudoCodeMatchingHOTVR’.

The scale factors can be accessed in a physics analysis with the functionality in ’readScaleFactors.cxx’. The function

Expand Down
20 changes: 12 additions & 8 deletions pseudoCodeMatchingHOTVR.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,19 @@ ToptaggingSFs::eCategory getTopTaggingMatchHOTVR(std::vector<genTop> tops, Jet t
bool Wdecay1_matched = false;
bool Wdecay2_matched = false;

for( const auto & subjet: tagged_jet.subjets()){
double dRmatch = sqrt(subjet.jetArea()/3.14);
}

if(deltaR( top.bquark(), subjet) < dRmatch ) b_matched = true;
if(deltaR( top.WDecayProduct1(), subjet) < dRmatch ) Wdecay1_matched = true;
if(deltaR( top.WDecayProduct2(), subjet) < dRmatch ) Wdecay2_matched = true;
double dRmatch;
double Rmin = 0.1;
double Rmax = 1.5;
double rho = 600.;
double reff = rho/jet.pt();
if( reff < Rmin ) dRmatch = Rmin;
else if( reff > Rmax ) dRmatch = Rmax;
else dRmatch = reff;

if(deltaR( top.bquark(), jet) < dRmatch ) b_matched = true;
if(deltaR( top.WDecayProduct1(), jet) < dRmatch ) Wdecay1_matched = true;
if(deltaR( top.WDecayProduct2(), jet) < dRmatch ) Wdecay2_matched = true;


int Nmatch = 0;
if(b_matched) ++Nmatch;
if(Wdecay1_matched) ++Nmatch;
Expand Down
Binary file modified scaleFactors/2016TopTaggingScaleFactors.root
Binary file not shown.
Binary file modified scaleFactors/2016TopTaggingScaleFactors_NoMassCut.root
Binary file not shown.
Binary file modified scaleFactors/2017TopTaggingScaleFactors.root
Binary file not shown.
Binary file modified scaleFactors/2017TopTaggingScaleFactors_NoMassCut.root
Binary file not shown.
Binary file modified scaleFactors/2018TopTaggingScaleFactors.root
Binary file not shown.
Binary file modified scaleFactors/2018TopTaggingScaleFactors_NoMassCut.root
Binary file not shown.