Repositori ini berisi faktor skala (SF) yang direkomendasikan untuk beberapa diskriminator tau, dan alat untuk membacanya. Rekomendasi lebih detail dapat ditemukan di halaman TWiki ini: https://twiki.cern.ch/twiki/bin/viewauth/CMS/TauIDRecommendationForRun2
️ Harap dicatat bahwa dalam waktu dekat SF dalam format file ROOT akan dihapuskan secara bertahap, dan dalam jangka panjang digantikan oleh alatcorrectionlib
dan file JSON yang disediakan secara terpusat oleh XPOG. Petunjuk lebih rinci untuk koreksi tau ada di sini.
Untuk menginstal alat untuk membaca tau ID SF, lakukan
export SCRAM_ARCH=slc6_amd64_gcc700 # for CMSSW_10_3_3, check "scram list"
CMSSW_BASE=CMSSW_10_3_3 # or whichever release you desire
cmsrel $CMSSW_BASE
cd $CMSSW_BASE/src
git clone https://github.com/cms-tau-pog/TauIDSFs TauPOG/TauIDSFs
cmsenv
scram b -j8
Setelah mengkompilasi dengan hierarki direktori masing-masing, Anda dapat mengakses alat ( python/TauIDSFTool.py
) dengan python sebagai
from TauPOG.TauIDSFs.TauIDSFTool import TauIDSFTool
Pengujian alat dengan python dapat dijalankan dengan
./test/testTauIDSFTool.py
Implementasi C++ serupa tersedia di src/TauIDSFTool.cc
, dengan contoh penggunaan sederhana di ( test/testTauIDSFTool.cc
). Ini juga merupakan tes instalasi yang dapat dikompilasi dan dijalankan
scram b runtests -j8
Alternatifnya, jika Anda ingin menggunakan alat python mandiri tanpa CMSSW, kloning repositori dan pastikan bahwa PYTHONPATH
Anda menunjuk ke modul TauIDSFTool
.
export PYTHONPATH=<path to python directory>:$PYTHONPATH
Setelah itu, Anda harus dapat melakukan:
from TauIDSFTool import TauIDSFTool
Ini adalah ringkasan kasar SF yang tersedia untuk DeepTau2017v2p1
dan DeepTau2018v2p5
di data/
:
komponen Tau | genmatch | DeepTau2017v2p1 VSjet | DeepTau2017v2p1 VSe | DeepTau2017v2p1 VSmu | DeepTau2018v2p5 VSjet | skala energi |
---|---|---|---|---|---|---|
nyata lho | 5 | vs pT dan DM (untuk MC) atau vs. pT, atau vs. DM (untuk Sematkan.) | – (*) | – (*) | vs pT dan DM (untuk MC), tanpa Sematan. koreksi belum diperoleh | vs.DM |
e -> tau palsu | 1 , 3 | – | vs.eta | – | vs DM dan eta | |
mu -> tau palsu | 2 , 4 | – | – | vs.eta | – (±1% kecuali) |
(*) Faktor skala disediakan hanya untuk sub-kumpulan titik kerja. Untuk diskriminator VSele, pengukuran dilakukan untuk WP VVLoose dan Tight - pengguna sangat dianjurkan untuk menggunakan salah satu dari dua titik kerja ini dan harus melapor ke TauPOG untuk mendapatkan persetujuan jika titik kerja lain digunakan. Untuk VSmu, mereka diukur untuk WP Ketat tetapi kami tidak mengharapkan ketergantungan yang besar pada WP VSmu yang dipilih dalam hal ini sehingga Anda bebas menggunakan WP apa pun yang tersedia yang Anda suka untuk penolakan muon.
Pencocokan gen didefinisikan sebagai:
1
untuk elektron cepat2
untuk muon cepat3
untuk elektron dari peluruhan tau4
untuk muon dari peluruhan tau5
untuk taus asli6
karena tidak cocok, atau jet memalsukan taus. Untuk informasi lebih lanjut mengenai gen-matching taus, silakan lihat di sini. Perhatikan bahwa dalam nanoAOD ini tersedia sebagai Tau_GenPartFlav
, tetapi jet atau no match sesuai dengan Tau_GenPartFlav==0
alih-alih 6
.SF dimaksudkan untuk kampanye berikut:
Label tahun | kampanye MC | Kampanye data |
---|---|---|
2016Legacy (*) | RunIISummer16MiniAODv3 | 17Jul2018 |
2017ReReco (*) | RunIIFall17MiniAODv2 | 31Mar2018 |
2018ReReco (*) | RunIIAutumn18MiniAOD | 17Sep2018 / 22Jan2019 |
UL2016_preVFP | RunIISummer20UL16*APV | (HIPM_)UL2016_MiniAODv* |
UL2016_postVFP | RunIISummer20UL16 | UL2016_MiniAODv* |
UL2017 | RunIISummer20UL17 | UL2017_MiniAODv* |
UL2018 | RunIISummer20UL18 | UL2018_MiniAODv* |
(*) SF yang disediakan untuk sampel pra-UL mengikuti konvensi lama untuk binning baik oleh pT atau DM, dan mengikuti skema ketidakpastian lama di mana hanya ketidakpastian total yang dilaporkan
Skrip sederhana diberikan untuk membuang koreksi yang disimpan dalam histogram atau fungsi file di data/
. Gunakan misalnya
./test/dumpTauIDSFs.py data/TauID_SF_*_DeepTau2017v2p1VSjet_*.root
SF yang bergantung pada DM dan pT disediakan sebagai fungsi TF1 dalam file ROOT "TauID_SF_dm_DeepTau2017v2p1VSjet_VSjetX_VSeleY_Mar07.root" untuk DeepTau2017v2p1 dan "TauID_SF_dm_DeepTau2018v2p5VSjet_VSjetX_VSeleY_Jul18.root" untuk DeepTau2018v2p5, di mana X berhubungan dengan VSjet WP dan Y berhubungan dengan VSele WP.
File ROOT berisi beberapa fungsi. Nilai sentral diperoleh dari fungsi bernama seperti "DM$DM_$ERA_fit" dengan $DM adalah mode peluruhan = 0, 1, 10, atau 11, dan $ERA = 2016_preVFP, 2016_postVFP, 2017, atau 2018.
Misalnya untuk mendapatkan nilai sentral SF untuk WP Medium VSjet dan VVLoose VSele dari diskriminator 'DeepTau2017v2p1VSjet'
untuk DM=1 pada tahun 2018, gunakan
file = TFile("data/TauID_SF_dm_DeepTau2017v2p1VSjet_VSjetMedium_VSeleVVLoose_Mar07.root")
func = file.Get('DM1_2018_fit')
sf = func.Eval(pt)
Ada juga fungsi yang sesuai dengan variasi sistematis yang dapat diakses dengan cara yang sama. Tabel di bawah ini memberikan ringkasan nama fungsi dan ketidakpastian apa yang terkait dengan DeepTau2017v2p1:
Ketakpastian | Nama fungsi dalam file ROOT | String untuk diteruskan ke alat | Catatan | Berkorelasi dengan zaman | Dikorelasikan dengan DM |
---|---|---|---|---|---|
Statistical uncertainty 1 | DM$DM_$ERA_fit_uncert0_{up,down} | uncert0_{up,down} | Statistical uncertainty on linear fit parameters from eigendecomposition of covariance matrix. | ✗ | ✗ |
Statistical uncertainty 2 | DM$DM_$ERA_fit_uncert1_{up,down} | uncert1_{up,down} | Statistical uncertainty on linear fit parameters from eigendecomposition of covariance matrix. | ✗ | ✗ |
Systematic alleras | DM$DM_$ERA_syst_alleras_{up,down}_fit | syst_alleras_{up,down} | The component of the systematic uncertainty that is correlated across DMs and eras | ✓ | ✓ |
Systematic by-era | DM$DM_$ERA_syst_$ERA_{up,down}_fit | syst_$ERA_{up,down} | The component of the systematic uncertainty that is correlated across DMs but uncorrelated by eras | ✗ | ✓ |
Systematic by-era and by-DM | DM$DM_$ERA_syst_dm$DM_$ERA_{up,down}_fit | syst_dm$DM_$ERA_{up,down} | The component of the systematic uncertainty that is uncorrelated across DMs and eras | ✗ | ✗ |
Tabel di bawah ini memberikan ringkasan nama fungsi dan ketidakpastian apa yang terkait dengan DeepTau2018v2p5:
Ketakpastian | Nama fungsi dalam file ROOT | String untuk diteruskan ke alat | Catatan | Berkorelasi dengan zaman | Dikorelasikan dengan DM |
---|---|---|---|---|---|
Statistical uncertainty 1 | DM$DM_$ERA_fit_uncert0_{up,down} | uncert0_{up,down} | Statistical uncertainty on linear fit parameters from eigendecomposition of covariance matrix. | ✗ | ✗ |
Statistical uncertainty 2 | DM$DM_$ERA_fit_uncert1_{up,down} | uncert1_{up,down} | Statistical uncertainty on linear fit parameters from eigendecomposition of covariance matrix. | ✗ | ✗ |
Systematic alleras | DM$DM_$ERA_syst_alleras_{up,down}_fit | syst_alleras_{up,down} | The component of the systematic uncertainty that is correlated across DMs and eras | ✓ | ✓ |
Systematic by-era | DM$DM_$ERA_syst_alldms_$ERA_{up,down}_fit | syst_alldms_$ERA_{up,down} | The component of the systematic uncertainty that is correlated across DMs but uncorrelated by eras | ✗ | ✗ |
Systematic Tau Energy scale | DM$DM_$ERA_TES{Up,Down}_fit | TES_{up,down} | The uncertainty due to the tauenergy scale systematic uncertainty | ✗ | ✗ |
SF juga dapat diakses menggunakan alat ini:
from TauPOG.TauIDSFs.TauIDSFTool import TauIDSFTool
tauSFTool = TauIDSFTool(year='UL2018',id='DeepTau2017v2p1VSjet',wp='Medium',wp_vsele='VVLoose',ptdm=True)
sf = tauSFTool.getSFvsDMandPT(pt,dm,genmatch)
Dan variasi ketidakpastian dapat diakses menggunakan:
sf = tauSFTool.getSFvsDMandPT(pt,dm,genmatch,unc)
dimana string unc
digunakan untuk mengidentifikasi variasi sistematis seperti yang diberikan pada kolom ketiga pada tabel di atas
Analisis yang sensitif terhadap taus dengan pT>140 GeV harus beralih ke SF pT tinggi khusus yang diukur dalam wadah pT di atas 140 GeV
SF disediakan sebagai objek TGraphAsymmErrors dalam file ROOT "TauID_SF_Highpt_DeepTau2017v2p1VSjet_VSjetX_VSeleY_Mar07.root", di mana X berhubungan dengan VSjet WP dan Y berhubungan dengan VSele WP.
File ROOT berisi beberapa grafik. Nilai sentral diperoleh dari grafik yang diberi nama seperti "DMinclusive_$ERA" dengan $ERA = 2016_preVFP, 2016_postVFP, 2017, atau 2018. Grafik ini berisi 2 bin pT dengan pT 100-200, dan pT>200 GeV. Anda sebaiknya hanya menggunakan ini sebagai nilai yang dibuang. Untuk taus antara 140-200 GeV gunakan bin pertama, dan untuk taus dengan pT>200 GeV gunakan bin kedua.
SF juga dapat diakses menggunakan alat ini:
from TauPOG.TauIDSFs.TauIDSFTool import TauIDSFTool
tauSFTool = TauIDSFTool(year='UL2018',id='DeepTau2017v2p1VSjet',wp='Medium',wp_vsele='VVLoose',highpT=True)
sf = tauSFTool.getHighPTSFvsPT(pt,genmatch)
Dan variasi ketidakpastian dapat diakses menggunakan:
sf = tauSFTool.getHighPTSFvsPT(pt,genmatch,unc)
dimana "unc" bergantung pada sumber ketidakpastian. Tabel di bawah menjelaskan sumber ketidakpastian dan string yang perlu Anda teruskan ke alat untuk mengambilnya:
Ketakpastian | String untuk diteruskan ke alat | Catatan | Berkorelasi dengan zaman | Dikorelasikan dengan pT |
---|---|---|---|---|
Statistical uncertainty 1 | stat_bin1_{up,down} | Statistical uncertainty on the pT 140-200 GeV bin. Note this also includes systematic uncertainties that are decorrelated by pT bin and era (since they also behave like statistical uncertainties) | ✗ | ✗ |
Statistical uncertainty 2 | stat_bin2_{up,down} | Statistical uncertainty on the pT >200 GeV bin. Note this also includes systematic uncertainties that are decorrelated by pT bin and era (since they also behave like statistical uncertainties) | ✗ | ✗ |
Systematic | syst_{up,down} | The systematic uncertainty that is correlated across pT regions and eras | ✓ | ✓ |
Extrapolation Systematic | extrap_{up,down} | The systematics uncertainty due to the extrapolation of the SF to higher pT regions | ✓ | ✓ |
Tidak digunakan lagi untuk UL MC - gunakan SF yang bergantung pada DM dan pT!
Faktor skala yang tertanam masih mengikuti resep lama untuk pT atau DM binned SF sehingga petunjuk ini masih berlaku dalam kasus ini
SF yang bergantung pada pT disediakan sebagai fungsi TF1
. Misalnya, untuk mendapatkan WP medium dari diskriminator 'DeepTau2017v2p1VSjet'
untuk tahun 2016, gunakan
file = TFile("data/TauID_SF_pt_DeepTau2017v2p1VSjet_2016Legacy.root")
func = file.Get('Medium_cent')
sf = func.Eval(pt)
Alat tersebut dapat digunakan sebagai
from TauPOG.TauIDSFs.TauIDSFTool import TauIDSFTool
tauSFTool = TauIDSFTool('2016Legacy','DeepTau2017v2p1VSjet','Medium',ptdm=False)
dan untuk mengambil SF untuk tau pT tertentu, lakukan
sf = tauSFTool.getSFvsPT(pt)
SF hanya boleh diterapkan pada objek tau yang cocok dengan tau "asli" pada level gen ( genmatch==5
). Anda dapat meneruskan argumen genmatch
opsional dan fungsi akan mengembalikan SF yang sesuai jika genmatch==5
, dan 1.0
sebaliknya,
sf = tauSFTool.getSFvsPT(pt,genmatch)
Ketidakpastian yang direkomendasikan dapat diambil sebagai
sf_up = tauSFTool.getSFvsPT(pt,genmatch,unc='Up')
sf_down = tauSFTool.getSFvsPT(pt,genmatch,unc='Down')
atau, ketiganya sekaligus:
sf_down, sf, sf_up = tauSFTool.getSFvsPT(pt,genmatch,unc='All')
Untuk tau ID SF dari sampel yang disematkan , setel tanda emb
ke True
:
tauSFTool = TauIDSFTool('2017ReReco','DeepTau2017v2p1VSjet','Medium',emb=True)
Jika analisis Anda menggunakan DeepTauVSe WP yang lebih longgar daripada VLoose dan/atau DeepTauVSmu yang lebih longgar daripada diskriminator medium, sebaiknya tambahkan ketidakpastian tambahan menggunakan tanda otherVSlepWP
:
tauSFTool = TauIDSFTool('2017ReReco','DeepTau2017v2p1VSjet','Medium',otherVSlepWP=True)
Tidak digunakan lagi untuk UL MC - gunakan SF yang bergantung pada DM dan pT!
Faktor skala yang tertanam masih mengikuti resep lama untuk pT atau DM binned SF sehingga petunjuk ini masih berlaku dalam kasus ini
Analisis menggunakan pemicu ditau dan tau pT > 40 GeV, dapat menggunakan SF yang bergantung pada DM. Harap dicatat bahwa tidak ada SF yang tersedia untuk mode peluruhan 5 dan 6, dan alat akan mengembalikan 1 secara default, silakan baca bagian TWiki ini. Mereka disediakan sebagai histogram TH1
. Misalnya, untuk mendapatkan WP medium dari diskriminator 'DeepTau2017v2p1VSjet'
untuk tahun 2016, gunakan
file = TFile("data/TauID_SF_dm_DeepTau2017v2p1VSjet_2016Legacy.root")
hist = file.Get('Medium')
sf = hist.GetBinContent(hist.GetXaxis().FindBin(dm))
atau dengan alatnya,
from TauPOG.TauIDSFs.TauIDSFTool import TauIDSFTool
tauSFTool = TauIDSFTool('2017ReReco','MVAoldDM2017v2','Tight',dm=True,ptdm=False)
sf = tauSFTool.getSFvsDM(pt,dm,genmatch)
sf_up = tauSFTool.getSFvsDM(pt,dm,genmatch,unc='Up')
sf_down = tauSFTool.getSFvsDM(pt,dm,genmatch,unc='Down')
di mana genmatch
bersifat opsional.
Untuk menerapkan SF pada elektron atau muon yang memalsukan taus, gunakan eta dari tau yang direkonstruksi dan kode genmatch
. Mereka disediakan sebagai histogram TH1
:
file = TFile("data/TauID_SF_eta_DeepTau2017v2p1VSmu_2016Legacy.root")
hist = file.Get('Medium')
sf = hist.GetBinContent(hist.GetXaxis().FindBin(eta))
atau dengan alatnya,
python/TauIDSFTool.py
antiEleSFTool = TauIDSFTool('2017ReReco','antiEleMVA6','Loose')
antiMuSFTool = TauIDSFTool('2017ReReco','antiMu3','Tight')
antiEleSF = antiEleSFTool.getSFvsEta(eta,genmatch)
antiMuSF = antiMuSFTool.getSFvsEta(eta,genmatch)
Ketidakpastian diperoleh dengan cara yang sama seperti di atas.
Penggunaan untuk DeepTau2018v2p5
Koreksi skala energi tau (TES) untuk taus dengan pT<140 GeV disediakan dalam file data/TauES_dm_DeepTau2018v2p5VSjet_$ERA_VSjet$X_VSele$Y_Jul18.root
, di mana $X berhubungan dengan VSjet WP, $Y berhubungan dengan VSele WP, dan $ERA = UL2016_preVFP, UL2016_postVFP, UL2017, atau UL2018
Setiap file berisi satu histogram ( 'tes'
) dengan TES berpusat di sekitar 1.0
diukur dalam bin mode peluruhan tau. Ini harus diterapkan pada tau asli dengan mengalikan tau TLorentzVector
, atau setara dengan energi tau, pT dan massa sebagai berikut:
file = TFile("data/TauES_dm_DeepTau2018v2p5VSjet_UL2018_VSjetMedium_VSeleVVLoose_Jul18.root")
hist = file.Get('tes')
tes = hist.GetBinContent(hist.GetXaxis().FindBin(dm))
# scale the tau's TLorentzVector
tau_tlv *= tes
# OR, scale the energy, mass and pT
tau_E *= tes
tau_pt *= tes
tau_m *= tes
Ketidakpastian tersebut setara dengan 1,5% untuk mode peluruhan 0, 1, dan 10, dan 2% untuk mode peluruhan 11. Ketidakpastian tersebut harus dikorelasikan berdasarkan mode peluruhan dan era. Untuk taus dengan pT>140 GeV, tidak ada koreksi yang harus diterapkan pada nilai TES nominal dari MC tetapi ketidakpastian 3% yang lebih besar harus disertakan. Kelas sederhana, TauESTool
, disediakan untuk mendapatkan TES sebagai
from TauPOG.TauIDSFs.TauIDSFTool import TauESTool
testool = TauESTool('UL2018','DeepTau2018v2p5VSjet',wp='Medium', wp_vsele='VVLoose')
tes = testool.getTES(pt,dm,genmatch)
tesUp = testool.getTES(pt,dm,genmatch,unc='Up')
tesDown = testool.getTES(pt,dm,genmatch,unc='Down')
Metode ini menghitung nilai sentral dan ketidakpastian untuk pT rendah (20 GeV < pT < 140 GeV) dan nilai pT lebih tinggi (pT > 140 GeV).
Penggunaan untuk DeepTau2017v2p1
Skala energi tau (TES) disediakan dalam file data/TauES_dm_*.root
. Setiap file berisi satu histogram ( 'tes'
) dengan TES berpusat di sekitar 1.0
. Ini harus diterapkan pada tau asli dengan mengalikan tau TLorentzVector
, atau setara dengan energi tau, pT dan massa sebagai berikut:
file = TFile("data/TauES_dm_DeepTau2017v2p1VSjet_UL2018.root")
hist = file.Get('tes')
tes = hist.GetBinContent(hist.GetXaxis().FindBin(dm))
# scale the tau's TLorentzVector
tau_tlv *= tes
# OR, scale the energy, mass and pT
tau_E *= tes
tau_pt *= tes
tau_m *= tes
Kelas sederhana, TauESTool
, disediakan untuk mendapatkan TES sebagai
from TauPOG.TauIDSFs.TauIDSFTool import TauESTool
testool = TauESTool('2017ReReco','DeepTau2017v2p1VSjet')
tes = testool.getTES(pt,dm,genmatch)
tesUp = testool.getTES(pt,dm,genmatch,unc='Up')
tesDown = testool.getTES(pt,dm,genmatch,unc='Down')
Metode ini menghitung ketidakpastian yang tepat pada nilai pT menengah (34 GeV < pT < 170 GeV) dan lebih tinggi (pT > 170 GeV). Analisis yang hanya ingin menggunakan TES pada pT tinggi, dapat menggunakan yang berikut ini:
tes = testool.getTES_highpt(dm,genmatch)
Skala energi palsu e -> tau (FES) disediakan dalam file data/TauFES_eta-dm_*.root
. Setiap file berisi satu grafik ( 'fes'
) dengan FES berpusat di sekitar 1.0
. Ini hanya boleh diterapkan pada taus yang direkonstruksi yang dipalsukan oleh elektron (yaitu genmatch==1
atau 3
) dan memiliki DM 0 atau 1. Penerapannya sama dengan TES di atas. Kelas sederhana, TauFESTool
, disediakan untuk mendapatkan FES sebagai
from TauPOG.TauIDSFs.TauIDSFTool import TauFESTool
festool = TauESTool('2017ReReco')
fes = festool.getFES(eta,dm,genmatch)
fesUp = festool.getFES(eta,dm,genmatch,unc='Up')
fesDown = festool.getFES(eta,dm,genmatch,unc='Down')