#include <TopQuarkAnalysis/TopTools/plugins/GenTtbarCategorizer.cc>
Static Public Member Functions | |
static void | fillDescriptions (edm::ConfigurationDescriptions &descriptions) |
Static Public Member Functions inherited from edm::EDProducer | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
static bool | wantsGlobalLuminosityBlocks () |
static bool | wantsGlobalRuns () |
static bool | wantsStreamLuminosityBlocks () |
static bool | wantsStreamRuns () |
Private Member Functions | |
void | beginJob () override |
void | endJob () override |
std::vector< int > | nHadronsOrderedJetIndices (const std::map< int, int > &m_jetIndex) |
void | produce (edm::Event &, const edm::EventSetup &) override |
Additional Inherited Members | |
Public Types inherited from edm::EDProducer | |
typedef EDProducer | 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::ProducerBase | |
template<class ProductType > | |
BranchAliasSetterT< ProductType > | produces () |
declare what type of product will make and with which optional label More... | |
template<typename ProductType , BranchType B> | |
BranchAliasSetterT< ProductType > | produces () |
template<typename ProductType , Transition B> | |
BranchAliasSetterT< ProductType > | produces () |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
template<BranchType B> | |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
template<Transition B> | |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
template<typename ProductType , Transition B> | |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
template<class ProductType > | |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
template<typename ProductType , BranchType B> | |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
ProducesCollector | producesCollector () |
Protected Member Functions inherited from edm::EDConsumerBase | |
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | consumes (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) |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
Description: Categorization of different tt+xx processes, returning unique ID for each process as e.g. tt+bb, tt+b, tt+2b, tt+cc, ...
Implementation:
The classification scheme returns an ID per event, and works as follows: All jets in the following need to be in the acceptance as given by the config parameters |eta|, pt. A c jet must contain at least one c hadron and should contain no b hadrons First, b jets from top are identified, i.e. jets containing a b hadron from t->b decay They are encoded in the ID as numberOfBjetsFromTop*100, i.e. 0xx: no b jets from top in acceptance 1xx: 1 b jet from top in acceptance 2xx: both b jets from top in acceptance Then, b jets from W are identified, i.e. jets containing a b hadron from W->b decay They are encoded in the ID as numberOfBjetsFromW*1000, i.e. 0xxx: no b jets from W in acceptance 1xxx: 1 b jet from W in acceptance 2xxx: 2 b jets from W in acceptance Then, c jets from W are identified, i.e. jets containing a c hadron from W->c decay, but no b hadrons They are encoded in the ID as numberOfCjetsFromW*10000, i.e. 0xxxx: no c jets from W in acceptance 1xxxx: 1 c jet from W in acceptance 2xxxx: 2 c jets from W in acceptance From the remaining jets, the ID is formed based on the additional b jets (IDs x5x) and c jets (IDs x4x) in the following order: x55: at least 2 additional b jets with at least two of them having >= 2 b hadrons in each x54: at least 2 additional b jets with one of them having >= 2 b hadrons, the others having =1 b hadron x53: at least 2 additional b jets with all having =1 b hadron x52: exactly 1 additional b jet having >=2 b hadrons x51: exactly 1 additional b jet having =1 b hadron x45: at least 2 additional c jets with at least two of them having >= 2 c hadrons in each x44: at least 2 additional c jets with one of them having >= 2 c hadrons, the others having =1 c hadron x43: at least 2 additional c jets with all having =1 c hadron x42: exactly 1 additional c jet having >=2 c hadrons x41: exactly 1 additional c jet having =1 c hadron x00: No additional b or c jet, i.e. only light flavour jets or no additional jets
Definition at line 73 of file GenTtbarCategorizer.cc.
|
explicit |
Definition at line 127 of file GenTtbarCategorizer.cc.
|
override |
Definition at line 152 of file GenTtbarCategorizer.cc.
|
overrideprivatevirtual |
|
overrideprivatevirtual |
|
static |
Definition at line 452 of file GenTtbarCategorizer.cc.
References edm::ConfigurationDescriptions::addDefault(), and edm::ParameterSetDescription::setUnknown().
|
private |
Definition at line 428 of file GenTtbarCategorizer.cc.
Referenced by produce().
|
overrideprivatevirtual |
Implements edm::EDProducer.
Definition at line 159 of file GenTtbarCategorizer.cc.
References funct::abs(), GenHFHadronMatcher_cff::flavour, ttHFGenFilter_cfi::genBHadFlavour, genBHadFlavourToken_, ttHFGenFilter_cfi::genBHadFromTopWeakDecay, genBHadFromTopWeakDecayToken_, ttHFGenFilter_cfi::genBHadIndex, genBHadIndexToken_, GenTtbarCategorizer_cfi::genBHadJetIndex, genBHadJetIndexToken_, GenTtbarCategorizer_cfi::genBHadLeptonHadronIndex, genBHadLeptonHadronIndexToken_, GenTtbarCategorizer_cfi::genBHadLeptonViaTau, genBHadLeptonViaTauToken_, ttHFGenFilter_cfi::genBHadPlusMothers, ttHFGenFilter_cfi::genBHadPlusMothersIndices, genBHadPlusMothersIndicesToken_, genBHadPlusMothersToken_, GenTtbarCategorizer_cfi::genCHadBHadronId, genCHadBHadronIdToken_, GenTtbarCategorizer_cfi::genCHadFlavour, genCHadFlavourToken_, GenTtbarCategorizer_cfi::genCHadFromTopWeakDecay, genCHadFromTopWeakDecayToken_, GenTtbarCategorizer_cfi::genCHadJetIndex, genCHadJetIndexToken_, genJetAbsEtaMax_, genJetPtMin_, ttbarCategorization_cff::genJets, genJetsToken_, iEvent, SiStripPI::max, min(), eostools::move(), and nHadronsOrderedJetIndices().
|
private |
Definition at line 102 of file GenTtbarCategorizer.cc.
Referenced by produce().
|
private |
Definition at line 103 of file GenTtbarCategorizer.cc.
Referenced by produce().
|
private |
Definition at line 106 of file GenTtbarCategorizer.cc.
Referenced by produce().
|
private |
Definition at line 101 of file GenTtbarCategorizer.cc.
Referenced by produce().
|
private |
Definition at line 107 of file GenTtbarCategorizer.cc.
Referenced by produce().
|
private |
Definition at line 108 of file GenTtbarCategorizer.cc.
Referenced by produce().
|
private |
Definition at line 105 of file GenTtbarCategorizer.cc.
Referenced by produce().
|
private |
Definition at line 104 of file GenTtbarCategorizer.cc.
Referenced by produce().
|
private |
Definition at line 113 of file GenTtbarCategorizer.cc.
Referenced by produce().
|
private |
Definition at line 111 of file GenTtbarCategorizer.cc.
Referenced by produce().
|
private |
Definition at line 112 of file GenTtbarCategorizer.cc.
Referenced by produce().
|
private |
Definition at line 110 of file GenTtbarCategorizer.cc.
Referenced by produce().
|
private |
Definition at line 96 of file GenTtbarCategorizer.cc.
Referenced by produce().
|
private |
Definition at line 95 of file GenTtbarCategorizer.cc.
Referenced by produce().
|
private |
Definition at line 99 of file GenTtbarCategorizer.cc.
Referenced by produce().