llrcms / klubanalysis Goto Github PK
View Code? Open in Web Editor NEWGeneric KLUB analyzer
Generic KLUB analyzer
We don't know which mass to use after b jet regression. We are currently setting it to 0 but HHKinFit throws some error messages. Need to study the nature of these warnings and check wheter using the same mass or energy pre-regression, or scale the energy by the same factor pt_regr / pt_original (these shouldn't be equivalent to set mjet = 0?)
They mask more important errors when developing new code.
Simple issue, but I open it to make Giacomo happy
Distribution of additional jets in the event starts from 1 and has a peak at ~4. Why?
boolean flags should be set as follows:
http://wingware.com/psupport/python-manual/2.5/lib/optparse-handling-boolean-options.html
We are now using a fla 0.5 cut on the discriminator, but the value of the cut must be a function of eta and pt:
wiki: https://twiki.cern.ch/twiki/bin/viewauth/CMS/PileupJetID#Information_for_13_TeV_data_anal
Must study the impact of this improvement from HHKinFit developers:
kinFit->useAdvancedBJetChi2(true);
NB: must give the b jets BEFORE b jet regression:
"Be aware, that the chi2-functions were derived for b-jets before b-jet regression, so the jets before regression should be used as the fit-input."
Some branches recently added are missing
In 2017/2018, we have ttH datasets:
ttHtoTauTau and ttHtoNonBB are most likely not orthogonal (ttHtoTauTau events already contained in ttHtoNonBB). To increase the statistics for ttHtoTauTau events, they should be removed when occurring in ttHtoNonBB so that we can add the ttHtoTauTau dataset.
preparare tutta l'info (samples e XS) per girare i WJet in bin di HT https://twiki.cern.ch/twiki/bin/view/CMS/SummaryTable1G25ns#W_jets
e poi fare le LLR ntuple
Many leptons are reconstructed as tau at the same time.
This results in a large number of pairs with two elements that are very collinear (but not exactly dPhi = 0)
We see the effect in ETau and MuTau but not TauTau as expected.
This issue is related to PR #137.
Apparently there is a conflict in memory managment between ROOT and std::unique_ptrs in the destructor of the class Sample
( see here ): the class member tree_
is deleted somewhere by ROOT (I wans't able to find where), and when the std::unique_ptr that holds the reference to this member goes out of scope it tries to delete again the already deleted tree_
, hence causing a segementation violation.
The easiest solution was to switch from std::unique_ptr to a classical pointer without explicitly deleting this pointer, so the segmentation violation never occurs (since there is no "double deleting"). Obviously this solution is bad c++ programming because we never explicitly delete the object and this it could create memory leaks. Luckily these pointers are not create inside a loop so the risk of memory leaking is very small and we can use this solution quite safely.
Nevertheless, it is worth mentioning that this should be addressed in the future once we can identify exactly where the tree_
member is deleted and the memory managment policy between CMSSW/ROOT/smart_pointers is more clear.
So that we always know how ntuples were processed
Systematics sources not yet taken care of:
(everybody is welcome to add items to the list)
(also to be implemented in the skimming)
Now that we also have HT-binned DY samples the stitching weights must be changed from 2D weights to 3D weights. @dzuolo partially addressed this in #88:
test/computDYsplitting_HT.cpp
is OK and working finescripts/stitchWeightsDY_HT.py
instead needs to be tested and (probably) fixed.This should be addressed quite urgently since the production is almost finished.
How to assess QCD with tight selections?
-Check if relaxing ISO cuts helps
-Are there any way ti have high purity QCD sample (BDT?)?
-QCD MC?
If we are really sure our cuts remove a lot of QCD we can even stand an high uncertainty on it, but we must able to quanitfy all these
In src/bTagSF.cc
the name of the merged jes uncertainties is set to 2016
by mistake while it should be 2017
and 2018
for the different years, so the skimmers crash.
We need to modify the bTagSF class to receive also the year as argument and properly set the uncertainty names.
For a quick fix everyone just changed manually the year in src/bTagSF.cc
and recompiled, but we still need a more stable fix.
(waiting for Olivier to be back and cross-check with him)
When running with the new HHKinFit on the samples we get the following embarassing error message:
DEFECATED: Please use recommended constructor.
DEFECATED! Please use fit().
define the new di-lepton pair sequence, code it in a function and put a choice flag in the skim cfg file
We should switch to the new HH-model developed by @l-cadamuro to compute the limits.
The model is available at the hh->bbbb repository and described in this presentation by Luca.
Store the observed data also in a dedicated TTree inside outPlotter.root and not only in an histogram (data are not supposed to be binned even for binned analyses)
25ns b-tagging efficiencies SF have just arrived (see below).
Instructions on how to apply them can be found here:
https://twiki.cern.ch/twiki/bin/view/CMS/BTagSFMethods
Values are here:
https://twiki.cern.ch/twiki/bin/view/CMS/BtagRecommendation74X
From: Miguel Vidal [email protected]
Subject: Preliminary b-tagging SFs for 25ns data analysis
Date: 21 Nov 2015 09:16:11 CET
To: [email protected]
*** Discussion title: Higgs Physics
Hi all,
the first 25ns b-tagging scale factors are now available.
Please find below the official announcement in the BTV POG.
Andrea and Miguel
*** Discussion title: B-Tagging
Dear all,
please, find in our 25ns recommendation twiki:
https://twiki.cern.ch/Wtwiki/bin/view/CMS/BtagRecommendation74X
the preliminary scale factors for the CSVv2 and JP algorithms for 25ns
data analysis. We aim to have then fully approved for the December
Jamboree.
Best, Luca for the BTV POG
As reported by @l-cadamuro in: https://indico.cern.ch/event/922760/contributions/3885448/attachments/2048961/3433794/HH_powheg_anomalous_weights_2Giu2020.pdf
some events of the ggHH NLO samples need to be rejected.
The fix should enter in the skimmers only for NLO ggHH samples as:
if ( abs(theBigTree.aMCatNLOweight) > 0.5 ) continue
.
The fix should be put at the very beginning of the skim: e.g. here for 2016 skimmer
NB
The aMCatNLOweight
branch (which is genEvt->weight()
in LLR ) is not exactly the one that Luca points out in his slides (originalXWGTUP
), but the difference of the two weights is actually really small (e.g. 5 different events over 1M, all of them with a very small genWeight) so the aMCatNLOweight
branch can be used.
Search DY in jet bins
LLR ntuple for skim Wjet in HT bins
Tree skim for TTTo2L2Nu
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.