TQAF Classes
Complete:
TopGenEvent
Contact person
Roger Wolf
Description
A slim data format for quick data access for high statistics analyses cannot afford to keep the collection of
all genParticles of the event generation for simulated events. Nevertheless it is necessary for many analyses to keep a minimal set of genParticles related to the decay chain of the generated top and/or anti-top quark and its mother particles. The TopGenEvent keeps this information allowing to drop the origianl genParticle collection. In addition the four vectors of the status 3 particles (including the top quark), which correspond to the kinematics before parton showering and therefore are un-physical are recalculated from the particles stable decay products (including radiated gluons). The mother particles are chosen to the the direct mother particles at production scale. The decay chains keep all daughter and mother relations.
Structure
TopGenEvent
is the base class for the classes
TtGenEvent
for top anti-top events and
StGenEvent
for single top events. A list of the stored genParticles is shown below:
member |
comment |
parts_ |
top (anti-top) decay chain(s) |
initPartons_ |
top (anti-top) mother particles |
Access
Access is provided via several get functions, of which a representative subset is listed below:
get function |
return value |
comment |
particles() |
reference to all decay particles |
in Base Class |
initialPartons() |
reference to the mother particles |
in Base Class |
singleLepton() |
pointer to single lepton |
in Base Class |
singleNeutrino() |
pointer to single neutrino |
in Base Class |
lightQuarks(bool plusB=false) |
vector of pointers to light quarks |
in Base Class |
associatedB() |
pointer to associated b quark |
in StGenEvent |
leptonicDecayTop() |
pointer to leptonicly decaying top quark |
in TtGenEvent |
leptonicDecayW() |
pointer to leptonically decaying W boson |
in TtGenEvent |
leptonicDecayB() |
pointer to leptonically decaying b quark |
in TtGenEvent |
the functions return
const reco::GenParticle*
or
std::vector< const reco::GenParticle* >
if the corresponding particles are available and
Null
or an empty std::vector else. Also a few get functions for meta information are provided:
get function |
return value |
comment |
numberOfLeptons() |
int |
in Base Class |
isTtBar() |
bool |
in TtGenEvent |
isFullHadronic() |
bool |
in TtGenEvent |
isSemiLeptronic() |
bool |
in TtGenEvent |
isFullLeptonic() |
bool |
in TtGenEvent |
isSemiLeptonic(LeptonType typeA) |
bool |
in TtSemiEvent |
isSemiLeptonic(LeptonType typeA, LeptonType typeB) |
bool |
in TtSemiEvent |
semiLeptonicChannel() |
LeptonType |
in TtSemiEvent |
For the full set of available get functions have a lookt to the corresponding .h files.
Production
The TopGenEvent is produced within the
TopEventProducers
package in three steps. These are listed below:
where the links point to the corresponding python configuration files. They are sequenced in the file
ttGenEvent_cff.py
. This sequence is part of the
TQAF Layer 2
standard sequence. The StGenEvent is filled in simillarly. It is possible to filter top anti tio events according to their decay topology (full hadronic, semi-leptonic, full leptonic) based on generator information. The corresponding EDFilter modules are sequenced in the file
ttGenEventFilters_cff.py
.
TtSemiLeptonicEvent
Contact person
Roger Wolf
Description
TtSemiLeptonicEvent is the container class of all kind of relevant high level analysis information for top anti-top event topologies in the semi-leptonic decay channel. It keeps a reference to the TopGenEvent, a map of user defined EventHypotheses in the format of
reco::CompositeCandidates or PAT hierarchical event hypothesis and corresponding meta information related to the algorithms that were used to determine the hypotheses. Non-available hypotheses will return the
map::const_iterator end()
; non-valid hypothesis will be empty. Functions are provided to check the EventHypotheses for their validity.
Structure
So far only an implementation of the
TtSemiLeptonicEvent
for the event topology of top anti-top events in the semi-leptonic decay channel exists. An extension towards other decay channels is straight forward though. A list of the currently stored information is shown below:
member |
comment |
genEvt_ |
reference to the generated event information (see above) |
evtHyp_ |
map of user defined EventHypotheses |
fitChi2_ |
chi2 values of KinFit hypotheses |
fitProb_ |
fit probabilities of KinFit hypotheses |
genMatchSumPt_ |
delta pt summed over all jets for GenMatch hypotheses |
genMatchSumDR_ |
delta R summed over all jets for GenMatch hypotheses |
mvaMethod_ |
MVA method used for MVADisc hypotheses |
mvaDisc_ |
discriminator values obtained for MVADisc hypotheses |
Keep in mind that it is meant to provide tools to quickly get into analyses. It maybe extended or modified on the analyzers request.
Access
Access is provided via several get functions, of which a representative subset is listed below:
get function |
return value |
comment |
leptonicTop(const HypoKey& key) |
const reco::Candidate* |
pointer to the top quark of the leptonic decay branch |
leptonicB(const HypoKey& key) |
const reco::Candidate* |
pointer to the b quark of the leptonic decay branch |
leptonicW(const HypoKey& key) |
const reco::Candidate* |
pointer to the W boson of the leptonic decay branch |
neutrino(const HypoKey& key) |
const reco::Candidate* |
pointer to the neutrino of the leptonic decay branch |
lepton(const HypoKey& key) |
const reco::Candidate* |
pointer to the lepton of the leptonic decay branch |
genLeptonicTop() |
const reco::GenParticle* |
pointer to the generated lepton of the leptonic decay branch |
genLeptonicW() |
const reco::GenParticle* |
pointer to the generated W boson of the leptonic decay branch |
genLeptonicB() |
const reco::GenParticle* |
pointer to the b quark of the leptonic decay branch |
genLepton() |
const reco::GenParticle* |
pointer to the lepton of the leptonic decay branch |
genNeutrino() |
const reco::GenParticle* |
pointer to the neutrino of the leptonic decay branch |
the functions return a
const reco::GenParticle*
or
const reco::Candidate*
if the corresponding particles are available and
Null
else. Also a few get functions for meta information are provided:
get function |
return value |
comment |
isHypoAvailable(const HypoKey& key) |
bool |
checks if hypothesis with HypoKey key is available |
isHypoValid(const HypoKey& key) |
bool |
checks if hypothesis with HypoKey key is valid |
numberOfAvailableHypos() |
unsigned int |
returns number of available hypotheses |
jetMatch(const HypoKey& key) |
std::vector< int > |
returns jet parton association of hypothesis with HypoKey key |
genMatchSumPt() |
double |
returns sum of delta pt summed over jets in hypothesis |
genMatchSumDR() |
double |
returns sum of delta pt summed over jets in hypothesis |
mvaMethod() |
std::string |
returns used MVA method |
mvaDisc() |
double |
returns MVA result |
fitChi2() |
double |
returns chi2 of KinFit hypothesis |
fitProb() |
double |
returns fit probability of KinFit hypothesis |
For the full set of available get functions have a look to the corresponding .h file.
Production
The TtSemiLeptonicEvent is produced within the
TopEventProducers
package in three steps. These are listed below:
where the links point to the corresponding python configuration files. They are sequenced in the file
ttSemiLepEvtBuilder_cff.py
. This sequence is part of the
TQAF Layer 2
standard sequence. For an example have a look to the
SWGuideTQAFTutorial page.
--
RogerWolf - 04 Jul 2008