TQAF Classes

Complete: 3

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:

module action
TopDecaySubset production of the top (anti-top decay chain)
TopInitSubset production of the top mothers
TtGenEventProducer association of the decay chain and mother particles to the TopGenEvent

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:

module action
ttGenEvent production sequence for the TopGenEvent (see above)
ttSemiLepEvtHypotheses production sequence for selected EventHypotheses
TtSemiLepEvtBuilder association of the TopGenEvent, EventHypotheses and hypotheses meta information to the TtSemiLeptonicEvent

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

Edit | Attach | Watch | Print version | History: r8 < r7 < r6 < r5 < r4 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r8 - 2011-10-17 - SebastianNaumann
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    CMSPublic All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright &© 2008-2023 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback