#include <ttHFGenFilter/ttHFGenFilter/plugins/ttHFGenFilter.cc>
Static Public Member Functions | |
static void | fillDescriptions (edm::ConfigurationDescriptions &descriptions) |
Static Public Member Functions inherited from edm::stream::EDFilterBase | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
Private Member Functions | |
virtual bool | analyzeMothersRecursive (const reco::Candidate *, std::vector< const reco::Candidate * > &AllTopMothers) |
void | beginStream (edm::StreamID) override |
void | endStream () override |
bool | filter (edm::Event &, const edm::EventSetup &) override |
virtual void | FindAllTopMothers (const reco::Candidate *particle, std::vector< const reco::Candidate * > &) |
virtual std::vector< const reco::Candidate * > | GetTops (const std::vector< reco::GenParticle > &, std::vector< const reco::Candidate * > &AllTopMothers) |
virtual bool | HasAdditionalBHadron (const std::vector< int > &, const std::vector< int > &, const std::vector< reco::GenParticle > &, std::vector< const reco::Candidate * > &) |
Private Attributes | |
const edm::EDGetTokenT< std::vector< int > > | genBHadFlavourToken_ |
const edm::EDGetTokenT< std::vector< int > > | genBHadFromTopWeakDecayToken_ |
const edm::EDGetTokenT< std::vector< int > > | genBHadIndexToken_ |
const edm::EDGetTokenT< std::vector< std::vector< int > > > | genBHadPlusMothersIndicesToken_ |
const edm::EDGetTokenT< std::vector< reco::GenParticle > > | genBHadPlusMothersToken_ |
const edm::EDGetTokenT< reco::GenParticleCollection > | genParticlesToken_ |
bool | OnlyHardProcessBHadrons_ |
bool | taggingMode_ |
Additional Inherited Members | |
Public Types inherited from edm::stream::EDFilter<> | |
typedef CacheContexts< T... > | CacheTypes |
typedef CacheTypes::GlobalCache | GlobalCache |
typedef AbilityChecker< T... > | HasAbility |
typedef CacheTypes::LuminosityBlockCache | LuminosityBlockCache |
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache > | LuminosityBlockContext |
typedef CacheTypes::LuminosityBlockSummaryCache | LuminosityBlockSummaryCache |
typedef CacheTypes::RunCache | RunCache |
typedef RunContextT< RunCache, GlobalCache > | RunContext |
typedef CacheTypes::RunSummaryCache | RunSummaryCache |
Public Types inherited from edm::stream::EDFilterBase | |
typedef EDFilterAdaptorBase | ModuleType |
Public Types inherited from edm::ProducerBase | |
using | ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >> |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
Public Types inherited from edm::EDConsumerBase | |
typedef ProductLabels | Labels |
Protected Member Functions inherited from edm::EDConsumerBase | |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | consumes (TypeToGet const &id, edm::InputTag const &tag) |
ConsumesCollector | consumesCollector () |
Use a ConsumesCollector to gather consumes information from helper functions. More... | |
template<typename ProductType , BranchType B = InEvent> | |
void | consumesMany () |
void | consumesMany (const TypeToGet &id) |
template<BranchType B> | |
void | consumesMany (const TypeToGet &id) |
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes () |
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes (ESInputTag const &tag) |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
Description: Filters ttbar events, where additional b-hadrons come from ISR or hard process
Implementation: The ttHFGenFilter is a edm::Filter, that returns true, if a tt+jets event contains a b-hadron, that does not come from top decay or when the b-hadron comes from ISR. The filter uses the GenHFHadronMatcher to classify, whether the b-hadron is an "additional b-hadron". This is done in the ttHFGenFilter::HasAdditionalBHadron() function. To classify, whether the b-hadron comes from ISR: first all mothers of the top-topbar pair are found then the mother-chain of all b-hadrons is checked if it contains at least one mother, that is also in the mother-chain of the top-topbar pair
Definition at line 46 of file ttHFGenFilter.cc.
|
explicit |
Definition at line 85 of file ttHFGenFilter.cc.
References edm::ParameterSet::getParameter(), OnlyHardProcessBHadrons_, and taggingMode_.
|
override |
Definition at line 101 of file ttHFGenFilter.cc.
|
privatevirtual |
Definition at line 190 of file ttHFGenFilter.cc.
References mps_fire::i, gen::k, reco::Candidate::mother(), reco::Candidate::numberOfMothers(), and reco::Candidate::status().
Referenced by HasAdditionalBHadron().
|
overrideprivatevirtual |
Reimplemented from edm::stream::EDFilterBase.
Definition at line 267 of file ttHFGenFilter.cc.
|
overrideprivatevirtual |
Reimplemented from edm::stream::EDFilterBase.
Definition at line 273 of file ttHFGenFilter.cc.
|
static |
Definition at line 310 of file ttHFGenFilter.cc.
References edm::ConfigurationDescriptions::addDefault(), DEFINE_FWK_MODULE, and edm::ParameterSetDescription::setUnknown().
|
overrideprivate |
Definition at line 116 of file ttHFGenFilter.cc.
References ttHFGenFilter_cfi::genBHadFlavour, genBHadFlavourToken_, ttHFGenFilter_cfi::genBHadFromTopWeakDecay, genBHadFromTopWeakDecayToken_, ttHFGenFilter_cfi::genBHadIndex, genBHadIndexToken_, ttHFGenFilter_cfi::genBHadPlusMothers, ttHFGenFilter_cfi::genBHadPlusMothersIndices, genBHadPlusMothersIndicesToken_, genBHadPlusMothersToken_, GenHFHadronMatcher_cfi::genParticles, genParticlesToken_, edm::Event::getByToken(), GetTops(), HasAdditionalBHadron(), edm::Event::put(), and taggingMode_.
|
privatevirtual |
Definition at line 250 of file ttHFGenFilter.cc.
References funct::abs(), mps_fire::i, reco::Candidate::mother(), reco::Candidate::numberOfMothers(), and reco::Candidate::pdgId().
Referenced by GetTops().
|
privatevirtual |
Definition at line 210 of file ttHFGenFilter.cc.
References FindAllTopMothers(), mps_fire::i, reco::CompositeRefCandidateT< D >::mother(), reco::CompositeRefCandidateT< D >::numberOfMothers(), and reco::LeafCandidate::pdgId().
Referenced by filter().
|
privatevirtual |
Definition at line 156 of file ttHFGenFilter.cc.
References funct::abs(), analyzeMothersRecursive(), mps_fire::i, createfilelist::int, and OnlyHardProcessBHadrons_.
Referenced by filter().
|
private |
Definition at line 64 of file ttHFGenFilter.cc.
Referenced by filter().
|
private |
Definition at line 65 of file ttHFGenFilter.cc.
Referenced by filter().
|
private |
Definition at line 68 of file ttHFGenFilter.cc.
Referenced by filter().
|
private |
Definition at line 67 of file ttHFGenFilter.cc.
Referenced by filter().
|
private |
Definition at line 66 of file ttHFGenFilter.cc.
Referenced by filter().
|
private |
Definition at line 63 of file ttHFGenFilter.cc.
Referenced by filter().
|
private |
Definition at line 69 of file ttHFGenFilter.cc.
Referenced by HasAdditionalBHadron(), and ttHFGenFilter().
|
private |
Definition at line 70 of file ttHFGenFilter.cc.
Referenced by filter(), and ttHFGenFilter().