Documentation ¶
Index ¶
- type Option
- func WithDebug(d bool) Option
- func WithRndSeed(s uint64) Option
- func WithSmearAll(d bool) Option
- func WithSmearJetAzimu(d bool) Option
- func WithSmearJetPt(d bool) Option
- func WithSmearJetTheta(d bool) Option
- func WithSmearLepAzimu(d bool) Option
- func WithSmearLepPt(d bool) Option
- func WithSmearLepTheta(d bool) Option
- func WithSmearN(n int) Option
- type TopBuilder
- func (tb *TopBuilder) AllReco(lepTLV, lepbarTLV fmom.PxPyPzE, pdgIDLep, pdgIDLepBar int, ...) ([2]fmom.PxPyPzE, [2]fmom.PxPyPzE, [2]int)
- func (tb *TopBuilder) ElliReco(lepTLV, lepbarTLV fmom.PxPyPzE, pdgIDLep, pdgIDLepBar int, ...) (fmom.PxPyPzE, fmom.PxPyPzE, int)
- func (tb *TopBuilder) SonnReco(lepTLV, lepbarTLV fmom.PxPyPzE, pdgIDLep, pdgIDLepBar int, ...) (fmom.PxPyPzE, fmom.PxPyPzE, int)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Option ¶
type Option func(cfg *config)
Options encodes the various settings to pass to the reconstruction.
func WithRndSeed ¶
WithRndSeed sets the seed for random number generations used in the smearing. Default is 1234
func WithSmearAll ¶
WithSmearAll enables smearing of all kinematics quantities This include lepton pT, polar, and azimuth angles as well as jet energy, polar and azimuth angles. Enabled by default. Default number of iterations is 10, but can be changed using WithSmearN(n) function.
func WithSmearJetAzimu ¶
WithSmearJetAzimtu enables smearing of jet azimuth angle. Disabled by default. To activate individual smearings, the option WithSmearAll(false) must be passed.
func WithSmearJetPt ¶
WithSmearLepPt enables smearing of jet pT (actually jet energy). Disabled by default. To activate individual smearings, the option WithSmearAll(false) must be passed.
func WithSmearJetTheta ¶
WithSmearJetTheta enables smearing of jet theta (polar) angle. Disabled by default. To activate individual smearings, the option WithSmearAll(false) must be passed.
func WithSmearLepAzimu ¶
WithSmearLepAzimtu enables smearing of lepton azimuth angle. Disabled by default. To activate individual smearings, the option WithSmearAll(false) must be passed.
func WithSmearLepPt ¶
WithSmearLepPt enables smearing of lepton pT. Disabled by default. To activate individual smearings, the option WithSmearAll(false) must be passed.
func WithSmearLepTheta ¶
WithSmearLepTheta enables smearing of lepton theta (polar) angle. Disabled by default. To activate individual smearings, the option WithSmearAll(false) must be passed.
func WithSmearN ¶
WithSmearN sets the number of iteration used in the smearing of the kinematics. Default is 10.
type TopBuilder ¶
type TopBuilder struct {
// contains filtered or unexported fields
}
TopBuilder reconstructs ttbar pairs in dilepton final state. Two methods can be used:
- the Sonnenschein method (https://arxiv.org/abs/hep-ph/0603011)
- the ellipses method (https://arxiv.org/abs/1305.1878)
Each of these method is implemented along a smearing of object kinematics in order to maximize the reconstruction efficiency.
func New ¶
func New(fname string, opts ...Option) (*TopBuilder, error)
New returns a new TopBuilder object from the path to a ROOT file holding histograms used to smear object kinematics, and set of options.
func (*TopBuilder) AllReco ¶
func (tb *TopBuilder) AllReco( lepTLV, lepbarTLV fmom.PxPyPzE, pdgIDLep, pdgIDLepBar int, jetTLV, jetbarTLV fmom.PxPyPzE, isbJet, isbJetbar bool, emissx, emissy float64, rdnNumbers ...[12]float64) ([2]fmom.PxPyPzE, [2]fmom.PxPyPzE, [2]int)
AllReco performs the Sonnenschein and the Ellipse reconstruction and return 2 array of 4-momenta (top[2] and anti-top[2]) as well as an array of status[2] of the reconstruction. The array index value is 0 for the Sonnenschein method and 1 for the Ellipse method. Status[i] = N means the reconstruction i worked for N smearing iterations. Therefore, Status[i] = 0 means the reconstruction has failed. Four-momemtum and missing Et components must be given in GeV. rdnNumbers are tuples of the 12 numbers needed per smearing iteration. If rndNumbers is not empty, smearing is automatically activated for this function call for all kinematic variables. When several tuples are passed, the number of smearing iterations is set to be number of tuples, ie len(rdnNumbers). The ordering of random numbers is the following:
rdn[12] = [12]float64{ scaleLep , scaleLepBar , thetaLep , thetaLepBar , azimuLep , azimuLepBar , scaleJet0, scaleJet0Bar, thetaJet0, thetaJet0Bar, azimuJet0, azimuJet0Bar, scaleJet1, scaleJet1Bar, thetaJet1, thetaJet1Bar, azimuJet1, azimuJet1Bar, }
func (*TopBuilder) ElliReco ¶
func (tb *TopBuilder) ElliReco( lepTLV, lepbarTLV fmom.PxPyPzE, pdgIDLep, pdgIDLepBar int, jetTLV, jetbarTLV fmom.PxPyPzE, isbJet, isbJetbar bool, emissx, emissy float64, rdnNumbers ...[12]float64) (fmom.PxPyPzE, fmom.PxPyPzE, int)
ElliReco performs the Sonnenschein reconstruction and return 2 4-momentum (top and anti-top) as well as a status of the reconstruction. Status = N means the reconstruction worked for N smearing iterations. Therefore, Status = 0 means the reconstruction has failed. Four-momemtum and missing Et components must be given in GeV. rdnNumbers are tuples of the 12 numbers needed per smearing iteration. If rndNumbers is not empty, smearing is automatically activated for this function call for all kinematic variables. When several tuples are passed, the number of smearing iterations is set to be number of tuples, ie len(rdnNumbers). The ordering of random numbers is the following:
rdn[12] = [12]float64{ scaleLep , scaleLepBar , thetaLep , thetaLepBar , azimuLep , azimuLepBar , scaleJet0, scaleJet0Bar, thetaJet0, thetaJet0Bar, azimuJet0, azimuJet0Bar, scaleJet1, scaleJet1Bar, thetaJet1, thetaJet1Bar, azimuJet1, azimuJet1Bar, }
func (*TopBuilder) SonnReco ¶
func (tb *TopBuilder) SonnReco( lepTLV, lepbarTLV fmom.PxPyPzE, pdgIDLep, pdgIDLepBar int, jetTLV, jetbarTLV fmom.PxPyPzE, isbJet, isbJetbar bool, emissx, emissy float64, rdnNumbers ...[12]float64) (fmom.PxPyPzE, fmom.PxPyPzE, int)
SonnReco performs the Sonnenschein reconstruction and return 2 4-momentum (top and anti-top) as well as a status of the reconstruction. Status = N means the reconstruction worked for N smearing iterations. Therefore, Status = 0 means the reconstruction has failed. Four-momemtum and missing Et components must be given in GeV. rdnNumbers are tuples of the 12 numbers needed per smearing iteration. If rndNumbers is not empty, smearing is automatically activated for this function call for all kinematic variables. When several tuples are passed, the number of smearing iterations is set to be number of tuples, ie len(rdnNumbers). The ordering of random numbers is the following:
rdn[12] = [12]float64{ scaleLep , scaleLepBar , thetaLep , thetaLepBar , azimuLep , azimuLepBar , scaleJet0, scaleJet0Bar, thetaJet0, thetaJet0Bar, azimuJet0, azimuJet0Bar, scaleJet1, scaleJet1Bar, thetaJet1, thetaJet1Bar, azimuJet1, azimuJet1Bar, }