23 if(initPartsColl.size()==2)
24 if(initPartsColl[0].
pdgId()==21 && initPartsColl[1].pdgId()==21)
33 if(initPartsColl.size()==2)
51 std::pair<WDecay::LeptonType, WDecay::LeptonType>
67 return ( std::pair<WDecay::LeptonType,WDecay::LeptonType>(typeA, typeB) );
75 for (
unsigned int i = 0;
i < partsColl.size(); ++
i) {
91 for (
unsigned int i = 0;
i < partsColl.size(); ++
i) {
108 for (
unsigned int i = 0;
i < partsColl.size(); ++
i) {
111 cand = &partsColl[
i];
123 for (
unsigned int i = 0;
i < partsColl.size(); ++
i) {
127 cand = &partsColl[
i];
139 for (
unsigned int i = 0;
i < partsColl.size(); ++
i) {
143 cand = &partsColl[
i];
156 for (
unsigned int i = 0;
i < partsColl.size(); ++
i) {
159 cand = &partsColl[
i];
175 for(reco::GenParticleCollection::const_iterator
w=
parts_->begin();
w!=
parts_->end(); ++
w){
203 for (
unsigned int i = 0;
i < partsColl.size(); ++
i) {
206 cand = &partsColl[
i];
220 for (
unsigned int i = 0;
i < partsColl.size(); ++
i) {
224 cand = &partsColl[
i];
238 for (
unsigned int i = 0;
i < partsColl.size(); ++
i) {
241 cand = &partsColl[
i];
255 for (
unsigned int i = 0;
i < partsColl.size(); ++
i) {
258 cand = &partsColl[
i];
272 for (
unsigned int i = 0;
i < partsColl.size(); ++
i) {
276 cand = &partsColl[
i];
290 for(
unsigned int i = 0;
i < partsColl.size(); ++
i ){
293 cand = &partsColl[
i];
304 std::vector<const reco::GenParticle*> rad;
312 std::vector<const reco::GenParticle*> rad;
std::vector< GenParticle > GenParticleCollection
collection of GenParticles
const reco::GenParticle * leptonicDecayTop(bool excludeTauLeptons=false) const
get top of leptonic decay branch
const reco::GenParticle * hadronicDecayB(bool excludeTauLeptons=false) const
get b of hadronic decay branch
reco::GenParticleRefProd parts_
reference to the top decay chain (has to be kept in the event!)
bool isSemiLeptonic(bool excludeTauLeptons=false) const
check if the event can be classified as semi-laptonic
bool fromQuarkAnnihilation() const
check if the tops were produced from qqbar
const reco::GenParticle * lepton(bool excludeTauLeptons=false) const
get lepton for semi-leptonic or full leptonic decays
bool isLepton(const Candidate &part)
math::XYZTLorentzVector topPair_
combined 4-vector of top and topBar
std::vector< const reco::GenParticle * > leptonicDecayTopRadiation(bool excludeTauLeptons=false) const
gluons as radiated from the leptonicly decaying top quark
const reco::GenParticle * hadronicDecayW(bool excludeTauLeptons=false) const
get W of hadronic decay branch
const reco::GenParticle * top() const
return top if available; 0 else
reco::GenParticleRefProd initPartons_
reference to the list of initial partons (has to be kept in the event!)
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
bool isFullLeptonic(bool excludeTauLeptons=false) const
check if the event can be classified as full leptonic
bool isNeutrino(const Candidate &part)
WDecay::LeptonType semiLeptonicChannel() const
return decay channel; all leptons including taus are allowed
bool fromGluonFusion() const
check if the tops were produced from a pair of gluons
std::vector< const reco::GenParticle * > hadronicDecayTopRadiation(bool excludeTauLeptons=false) const
gluons as radiated from the hadronicly decaying top quark
TtGenEvent()
empty constructor
const reco::GenParticle * hadronicDecayTop(bool excludeTauLeptons=false) const
get top of hadronic decay branch
const reco::GenParticle * hadronicDecayQuark(bool invertFlavor=false) const
get light quark of hadronic decay branch
std::pair< WDecay::LeptonType, WDecay::LeptonType > fullLeptonicChannel() const
const reco::GenParticle * singleNeutrino(bool excludeTauLeptons=false) const
return single neutrino if available; 0 else
const reco::GenParticle * leptonicDecayB(bool excludeTauLeptons=false) const
get b of leptonic decay branch
std::vector< const reco::GenParticle * > radiatedGluons(int pdgId) const
return radiated gluons from particle with pdgId
const reco::GenParticle * neutrino(bool excludeTauLeptons=false) const
get neutrino for semi-leptonic or full leptonic decays
const reco::GenParticle * neutrinoBar(bool excludeTauLeptons=false) const
get anti-neutrino for semi-leptonic or full leptonic decays
const reco::GenParticle * leptonicDecayW(bool excludeTauLeptons=false) const
get W of leptonic decay branch
int flavour(const Candidate &part)
const reco::GenParticle * topBar() const
return anti-top if available; 0 else
const reco::GenParticle * leptonBar(bool excludeTauLeptons=false) const
get anti-lepton for semi-leptonic or full leptonic decays
const reco::GenParticle * singleLepton(bool excludeTauLeptons=false) const
return single lepton if available; 0 else