พื้นที่เก็บข้อมูลนี้ประกอบด้วยสเกลแฟคเตอร์ (SF) ที่แนะนำสำหรับผู้เลือกปฏิบัติเอกภาพหลายราย และเครื่องมือในการอ่าน คำแนะนำโดยละเอียดเพิ่มเติมสามารถพบได้ในหน้า TWiki นี้: https://twiki.cern.ch/twiki/bin/viewauth/CMS/TauIDRecommendationForRun2
โปรดทราบว่าในอนาคตอันใกล้นี้ SF ในรูปแบบของไฟล์ ROOT จะถูกยกเลิก และในระยะยาวจะถูกแทนที่ด้วยเครื่องมือ correctionlib
และไฟล์ JSON ที่ XPOG มอบให้จากส่วนกลาง คำแนะนำโดยละเอียดเพิ่มเติมสำหรับการแก้ไขเอกภาพอยู่ที่นี่
หากต้องการติดตั้งเครื่องมือสำหรับอ่าน tau ID SF ให้ทำ
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
หลังจากคอมไพล์ด้วยลำดับชั้นไดเร็กทอรีตามลำดับนี้ คุณสามารถเข้าถึงเครื่องมือ ( python/TauIDSFTool.py
) ใน python ได้เป็น
from TauPOG.TauIDSFs.TauIDSFTool import TauIDSFTool
สามารถรันการทดสอบเครื่องมือใน python ได้
./test/testTauIDSFTool.py
การใช้งาน C++ ที่คล้ายกันมีอยู่ใน src/TauIDSFTool.cc
พร้อมตัวอย่างการใช้งานง่ายๆ ใน ( test/testTauIDSFTool.cc
) นี่เป็นการทดสอบการติดตั้งที่สามารถคอมไพล์และรันได้
scram b runtests -j8
อีกทางหนึ่ง หากคุณต้องการใช้เครื่องมือ python แบบสแตนด์อโลนโดยไม่มี CMSSW ให้โคลนพื้นที่เก็บข้อมูลและรับรองว่า PYTHONPATH
ของคุณชี้ไปที่โมดูล TauIDSFTool
export PYTHONPATH=<path to python directory>:$PYTHONPATH
หลังจากนั้น คุณควรจะทำได้:
from TauIDSFTool import TauIDSFTool
นี่เป็นบทสรุปโดยคร่าวๆ ของ SF ที่มีอยู่สำหรับ DeepTau2017v2p1
และ DeepTau2018v2p5
ใน data/
:
ส่วนประกอบเอกภาพ | genmatch | DeepTau2017v2p1 VSjet | DeepTau2017v2p1 VSe | DeepTau2017v2p1 VSmu | DeepTau2018v2p5 VSjet | ระดับพลังงาน |
---|---|---|---|---|---|---|
เทาจริง | 5 | เทียบกับ pT และ DM (สำหรับ MC) หรือเทียบกับ pT หรือเทียบกับ DM (สำหรับการฝัง) | - | - | เทียบกับ pT และ DM (สำหรับ MC) ไม่มีการฝัง ได้รับการแก้ไขแล้ว | เทียบกับ DM |
e -> เอกภาพปลอม | 1 , 3 | - | เทียบกับการทางพิเศษแห่งประเทศไทย | - | เทียบกับ DM และการทางพิเศษแห่งประเทศไทย | |
mu -> เอกภาพปลอม | 2 , 4 | - | - | เทียบกับการทางพิเศษแห่งประเทศไทย | – (±1% ไม่ระบุ) |
(*) ตัวประกอบสเกลมีให้สำหรับชุดย่อยของจุดทำงานเท่านั้น สำหรับ VSele discriminator นั้น จะมีการวัด VVLoose และ Tight WPs - ผู้ใช้ได้รับการสนับสนุนอย่างยิ่งให้ใช้หนึ่งในสองจุดทำงานเหล่านี้ และควรรายงานไปยัง TauPOG เพื่อขออนุมัติหากใช้จุดทำงานอื่น สำหรับ VSmu จะมีการวัดค่าเหล่านี้สำหรับ Tight WP แต่เราไม่คาดหวังว่าจะมีการพึ่งพา VSmu WP ที่เลือกมากนักในกรณีนี้ ดังนั้นคุณจึงมีอิสระที่จะใช้ WP ใดๆ ที่มีอยู่ที่คุณต้องการสำหรับการปฏิเสธ muon
การจับคู่เจนถูกกำหนดเป็น:
1
สำหรับอิเล็กตรอนพร้อมท์2
สำหรับมิวออนพร้อมท์3
สำหรับอิเล็กตรอนจากการสลายเอกภาพ4
สำหรับมิวออนจากการสลายเอกภาพ5
สำหรับเทาส์จริง6
สำหรับการไม่มีการแข่งขันหรือไอพ่นแกล้งเทาส์ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการจับคู่เจนของเทาส์ โปรดดูที่นี่ โปรดทราบว่าใน nanoAOD มีให้ใช้งานในชื่อ Tau_GenPartFlav
แต่ jet หรือ no match สอดคล้องกับ Tau_GenPartFlav==0
แทน 6
SF มีไว้สำหรับแคมเปญต่อไปนี้:
ป้ายปี | แคมเปญเอ็มซี | แคมเปญข้อมูล |
---|---|---|
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 ที่จัดเตรียมไว้สำหรับตัวอย่างก่อน UL เป็นไปตามแบบแผนเดิมสำหรับการกักเก็บโดย pT หรือ DM และปฏิบัติตามรูปแบบความไม่แน่นอนแบบเก่าซึ่งมีการรายงานเฉพาะความไม่แน่นอนทั้งหมดเท่านั้น
มีการกำหนดสคริปต์ง่ายๆ เพื่อถ่ายโอนข้อมูลการแก้ไขที่บันทึกไว้ในฮิสโตแกรมหรือฟังก์ชันของไฟล์ใน data/
ใช้เป็นตัวอย่าง
./test/dumpTauIDSFs.py data/TauID_SF_*_DeepTau2017v2p1VSjet_*.root
SF ที่ขึ้นกับ DM และ pT ได้รับการจัดเตรียมเป็นฟังก์ชัน TF1 ในไฟล์ ROOT "TauID_SF_dm_DeepTau2017v2p1VSjet_VSjetX_VSeleY_Mar07.root" สำหรับ DeepTau2017v2p1 และ "TauID_SF_dm_DeepTau2018v2p5VSjet_VSjetX_VSeleY_Jul18.root" สำหรับ DeepTau2018v2p5 โดยที่ X สอดคล้องกับ VSjet WP และ Y สอดคล้องกับ VSele WP
ไฟล์ ROOT มีฟังก์ชันหลายอย่าง ค่ากลางได้มาจากฟังก์ชันที่มีชื่อเช่น "DM$DM_$ERA_fit" โดยที่ $DM คือโหมดการสลายตัว = 0, 1, 10 หรือ 11 และ $ERA = 2016_preVFP, 2016_postVFP, 2017 หรือ 2018
ตัวอย่างเช่น หากต้องการรับค่าส่วนกลางของ SF สำหรับ Medium VSjet และ VVLoose VSele WPs ของตัวแยกแยะ 'DeepTau2017v2p1VSjet'
สำหรับ DM=1 ในปี 2018 ให้ใช้
file = TFile("data/TauID_SF_dm_DeepTau2017v2p1VSjet_VSjetMedium_VSeleVVLoose_Mar07.root")
func = file.Get('DM1_2018_fit')
sf = func.Eval(pt)
นอกจากนี้ยังมีฟังก์ชันที่สอดคล้องกับรูปแบบที่เป็นระบบที่สามารถเข้าถึงได้ในลักษณะเดียวกัน ตารางด้านล่างให้ข้อมูลสรุปของชื่อฟังก์ชันและความไม่แน่นอนที่สอดคล้องกับ DeepTau2017v2p1:
ความไม่แน่นอน | ชื่อฟังก์ชันในไฟล์ ROOT | สตริงที่จะส่งผ่านไปยังเครื่องมือ | หมายเหตุ | มีความสัมพันธ์กันตามยุคสมัย | มีความสัมพันธ์กันโดย 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 |
ตารางด้านล่างให้ข้อมูลสรุปของชื่อฟังก์ชันและความไม่แน่นอนที่สอดคล้องกับ DeepTau2018v2p5:
ความไม่แน่นอน | ชื่อฟังก์ชันในไฟล์ ROOT | สตริงที่จะส่งผ่านไปยังเครื่องมือ | หมายเหตุ | มีความสัมพันธ์กันตามยุคสมัย | มีความสัมพันธ์กันโดย 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 ได้โดยใช้เครื่องมือ:
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)
และความแปรผันของความไม่แน่นอนสามารถเข้าถึงได้โดยใช้:
sf = tauSFTool.getSFvsDMandPT(pt,dm,genmatch,unc)
โดยที่สตริง unc
ใช้เพื่อระบุความแปรผันอย่างเป็นระบบตามที่กำหนดในคอลัมน์ที่สามในตารางด้านบน
การวิเคราะห์ที่มีความไวต่อเทาส์ด้วย pT>140 GeV ควรเปลี่ยนไปใช้ pT SF สูงโดยเฉพาะซึ่งวัดในถังของ pT ที่สูงกว่า 140 GeV
SF จัดทำเป็นอ็อบเจ็กต์ TGraphAsymmErrors ในไฟล์ ROOT "TauID_SF_Highpt_DeepTau2017v2p1VSjet_VSjetX_VSeleY_Mar07.root" โดยที่ X สอดคล้องกับ VSjet WP และ Y สอดคล้องกับ VSele WP
ไฟล์ ROOT มีกราฟหลายกราฟ ค่าส่วนกลางได้มาจากกราฟที่ชื่อ เช่น "DMclusion_$ERA" โดยที่ $ERA = 2016_preVFP, 2016_postVFP, 2017 หรือ 2018 กราฟเหล่านี้ประกอบด้วยถัง pT 2 ถังที่มี pT 100-200 และ pT>200 GeV คุณควรใช้สิ่งเหล่านี้เป็นค่าที่รวมไว้เท่านั้น สำหรับเทาส์ระหว่าง 140-200 GeV ให้ใช้ถังแรก และสำหรับเทาส์ที่มี pT>200 GeV ให้ใช้ถังที่สอง
สามารถเข้าถึง SF ได้โดยใช้เครื่องมือ:
from TauPOG.TauIDSFs.TauIDSFTool import TauIDSFTool
tauSFTool = TauIDSFTool(year='UL2018',id='DeepTau2017v2p1VSjet',wp='Medium',wp_vsele='VVLoose',highpT=True)
sf = tauSFTool.getHighPTSFvsPT(pt,genmatch)
และความแปรผันของความไม่แน่นอนสามารถเข้าถึงได้โดยใช้:
sf = tauSFTool.getHighPTSFvsPT(pt,genmatch,unc)
โดยที่ "unc" ขึ้นอยู่กับแหล่งที่มาของความไม่แน่นอน ตารางด้านล่างอธิบายแหล่งที่มาของความไม่แน่นอนและสตริงที่คุณต้องส่งผ่านไปยังเครื่องมือเพื่อดึงข้อมูล:
ความไม่แน่นอน | สตริงที่จะส่งผ่านไปยังเครื่องมือ | หมายเหตุ | มีความสัมพันธ์กันตามยุคสมัย | สัมพันธ์กันโดย 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 |
เลิกใช้งานแล้วสำหรับ UL MC - ใช้ DM และ SF ที่ขึ้นกับ pT แทน!
สเกลแฟคเตอร์แบบฝังยังคงเป็นไปตามข้อกำหนดเดิมสำหรับ pT หรือ DM binned SF ดังนั้นคำแนะนำเหล่านี้ยังคงใช้บังคับในกรณีนี้
SF ที่ขึ้นกับ pT มีให้เป็นฟังก์ชัน TF1
ตัวอย่างเช่น หากต้องการรับสิ่งเหล่านั้นสำหรับ WP สื่อของตัวแยกแยะ 'DeepTau2017v2p1VSjet'
สำหรับปี 2559 ให้ใช้
file = TFile("data/TauID_SF_pt_DeepTau2017v2p1VSjet_2016Legacy.root")
func = file.Get('Medium_cent')
sf = func.Eval(pt)
เครื่องมือนี้สามารถใช้เป็น
from TauPOG.TauIDSFs.TauIDSFTool import TauIDSFTool
tauSFTool = TauIDSFTool('2016Legacy','DeepTau2017v2p1VSjet','Medium',ptdm=False)
และเพื่อดึง SF สำหรับ tau pT ที่กำหนด ให้ทำ
sf = tauSFTool.getSFvsPT(pt)
ควรใช้ SF กับวัตถุ tau ที่ตรงกับ taus "ของจริง" ที่ระดับ gen เท่านั้น ( genmatch==5
) คุณสามารถส่งผ่านอาร์กิวเมนต์ genmatch
ที่เป็นทางเลือกได้ และฟังก์ชันจะส่งคืน SF ที่เหมาะสมหาก genmatch==5
และ 1.0
มิฉะนั้น
sf = tauSFTool.getSFvsPT(pt,genmatch)
ความไม่แน่นอนที่แนะนำสามารถเรียกดูได้เป็น
sf_up = tauSFTool.getSFvsPT(pt,genmatch,unc='Up')
sf_down = tauSFTool.getSFvsPT(pt,genmatch,unc='Down')
หรือทั้งสามอย่างในคราวเดียว:
sf_down, sf, sf_up = tauSFTool.getSFvsPT(pt,genmatch,unc='All')
สำหรับ tau ID SF ของ ตัวอย่างที่ฝัง ให้ ตั้งค่าสถานะ emb
เป็น True
:
tauSFTool = TauIDSFTool('2017ReReco','DeepTau2017v2p1VSjet','Medium',emb=True)
หากการวิเคราะห์ของคุณใช้ DeepTauVSe WP ที่หลวมกว่า VLoose และ/หรือ DeepTauVSmu ที่หลวมกว่าตัวแบ่งแยกระดับกลาง ควรเพิ่มความไม่แน่นอนเพิ่มเติมโดยใช้แฟล็ก otherVSlepWP
:
tauSFTool = TauIDSFTool('2017ReReco','DeepTau2017v2p1VSjet','Medium',otherVSlepWP=True)
เลิกใช้งานแล้วสำหรับ UL MC - ใช้ DM และ SF ที่ขึ้นกับ pT แทน!
สเกลแฟคเตอร์แบบฝังยังคงเป็นไปตามข้อกำหนดเดิมสำหรับ pT หรือ DM binned SF ดังนั้นคำแนะนำเหล่านี้ยังคงใช้บังคับในกรณีนี้
การวิเคราะห์โดยใช้ทริกเกอร์ ditau และ tau pT > 40 GeV อาจใช้ SF ที่ขึ้นกับ DM โปรดทราบว่าไม่มี SF สำหรับโหมดสลาย 5 และ 6 และเครื่องมือจะคืนค่า 1 ตามค่าเริ่มต้น โปรดอ่านส่วน TWiki นี้ พวกมันถูกระบุเป็นฮิสโตแกรม TH1
ตัวอย่างเช่น หากต้องการรับสิ่งเหล่านั้นสำหรับ WP สื่อของตัวแยกแยะ 'DeepTau2017v2p1VSjet'
สำหรับปี 2559 ให้ใช้
file = TFile("data/TauID_SF_dm_DeepTau2017v2p1VSjet_2016Legacy.root")
hist = file.Get('Medium')
sf = hist.GetBinContent(hist.GetXaxis().FindBin(dm))
หรือด้วยเครื่องมือ
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')
โดยที่ genmatch
เป็นทางเลือก
หากต้องการใช้ SF กับอิเล็กตรอนหรือมิวออนที่แกล้งเทาส์ ให้ใช้กทพ. ของเทาว์ที่สร้างขึ้นใหม่และรหัส genmatch
มีให้เป็นฮิสโตแกรม TH1
:
file = TFile("data/TauID_SF_eta_DeepTau2017v2p1VSmu_2016Legacy.root")
hist = file.Get('Medium')
sf = hist.GetBinContent(hist.GetXaxis().FindBin(eta))
หรือด้วยเครื่องมือ
python/TauIDSFTool.py
antiEleSFTool = TauIDSFTool('2017ReReco','antiEleMVA6','Loose')
antiMuSFTool = TauIDSFTool('2017ReReco','antiMu3','Tight')
antiEleSF = antiEleSFTool.getSFvsEta(eta,genmatch)
antiMuSF = antiMuSFTool.getSFvsEta(eta,genmatch)
ความไม่แน่นอนได้มาในลักษณะเดียวกันกับข้างต้น
การใช้งานสำหรับ DeepTau2018v2p5
การแก้ไขระดับพลังงานเอกภาพ (TES) สำหรับเทาส์ที่มี pT<140 GeV มีอยู่ใน data/TauES_dm_DeepTau2018v2p5VSjet_$ERA_VSjet$X_VSele$Y_Jul18.root
โดยที่ $X สอดคล้องกับ VSjet WP, $Y สอดคล้องกับ VSele WP และ $ERA = UL2016_preVFP, UL2016_postVFP, UL2017 หรือ UL2018
แต่ละไฟล์มีหนึ่งฮิสโตแกรม ( 'tes'
) โดยที่ TES อยู่กึ่งกลางประมาณ 1.0
วัดในถังของโหมดสลายเอกภาพ ควรนำไปใช้กับเทาว์ของแท้โดยการคูณเทาว์ TLorentzVector
หรือเทียบเท่ากับพลังงานเทาว์, pT และมวลดังนี้:
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
ความไม่แน่นอนจะเท่ากับ 1.5% สำหรับโหมดการสลายตัว 0, 1 และ 10 และ 2% สำหรับโหมดการสลายตัว 11 ความไม่แน่นอนควรได้รับการตกแต่งให้สัมพันธ์กันตามรูปแบบการสลายตัวและยุคสมัย สำหรับเทาส์ที่มีค่า pT>140 GeV ไม่ควรใช้การแก้ไขกับค่า TES ที่ระบุจาก MC แต่ควรรวมค่าความไม่แน่นอนที่มากกว่า 3% เข้าไปด้วย คลาสอย่างง่าย TauESTool
มีไว้เพื่อรับ TES เป็น
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')
วิธีนี้จะคำนวณค่ากลางและความไม่แน่นอนสำหรับ pT ต่ำ (20 GeV < pT < 140 GeV) และค่า pT ที่สูงกว่า (pT > 140 GeV)
การใช้งานสำหรับ DeepTau2017v2p1
ระดับพลังงานเทาว์ (TES) มีอยู่ในไฟล์ data/TauES_dm_*.root
แต่ละไฟล์มีหนึ่งฮิสโตแกรม ( 'tes'
) โดยมี TES อยู่ตรงกลางประมาณ 1.0
ควรนำไปใช้กับเทาว์ของแท้โดยการคูณเทาว์ TLorentzVector
หรือเทียบเท่ากับพลังงานเทาว์, pT และมวลดังนี้:
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
คลาสอย่างง่าย TauESTool
มีไว้เพื่อรับ TES เป็น
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')
วิธีนี้จะคำนวณความไม่แน่นอนที่ถูกต้องที่ค่ากลาง (34 GeV < pT < 170 GeV) และค่า pT ที่สูงกว่า (pT > 170 GeV) วิเคราะห์ว่าต้องการใช้ TES ที่ pT สูงเท่านั้น สามารถใช้สิ่งต่อไปนี้แทนได้
tes = testool.getTES_highpt(dm,genmatch)
e -> tau fake Energy Scale (FES) มีอยู่ในไฟล์ data/TauFES_eta-dm_*.root
แต่ละไฟล์จะมีหนึ่งกราฟ ( 'fes'
) โดยมี FES อยู่ตรงกลางประมาณ 1.0
ควรใช้เฉพาะกับเทาส์ที่สร้างขึ้นใหม่ซึ่งสร้างโดยอิเล็กตรอน (เช่น genmatch==1
หรือ 3
) และมี DM 0 หรือ 1 แอปพลิเคชันจะคล้ายกับ TES ข้างต้น คลาสอย่างง่าย TauFESTool
มีไว้เพื่อรับ FES เป็น
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')