#include <PhysicsTools/FlavorHistoryFilter/src/FlavorHistoryFilter.cc>
Public Types | |
typedef reco::FlavorHistory::FLAVOR_T | flavor_type |
typedef std::vector< int > | flavor_vector |
Public Types inherited from edm::EDFilter | |
typedef EDFilter | ModuleType |
Public Types inherited from edm::ProducerBase | |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
Public Types inherited from edm::EDConsumerBase | |
typedef ProductLabels | Labels |
Public Member Functions | |
FlavorHistoryFilter (const edm::ParameterSet &) | |
~FlavorHistoryFilter () | |
Public Member Functions inherited from edm::EDFilter | |
EDFilter () | |
ModuleDescription const & | moduleDescription () const |
virtual | ~EDFilter () |
Public Member Functions inherited from edm::ProducerBase | |
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
ProducerBase () | |
void | registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &) |
std::function< void(BranchDescription const &)> | registrationCallback () const |
used by the fwk to register list of products More... | |
virtual | ~ProducerBase () |
Public Member Functions inherited from edm::EDConsumerBase | |
std::vector< ConsumesInfo > | consumesInfo () const |
EDConsumerBase () | |
ProductHolderIndexAndSkipBit | indexFrom (EDGetToken, BranchType, TypeID const &) const |
void | itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const |
void | itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const |
std::vector < ProductHolderIndexAndSkipBit > const & | itemsToGetFromEvent () const |
void | labelsForToken (EDGetToken iToken, Labels &oLabels) const |
void | modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const |
void | modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
bool | registeredToConsume (ProductHolderIndex, bool, BranchType) const |
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
void | updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &) |
virtual | ~EDConsumerBase () |
Private Member Functions | |
virtual void | endJob () |
virtual bool | filter (edm::Event &, const edm::EventSetup &) override |
Additional Inherited Members | |
Static Public Member Functions inherited from edm::EDFilter | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &) |
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 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) |
This now filters events hierarchically. Previously this was done at the python configuration level, which was cumbersome for users to use.
Now, the hierarchy is:
Create prioritized paths to separate HF composition samples.
These are exclusive priorities, so sample "i" will not overlap with "i+1". Note that the "dr" values below correspond to the dr between the matched genjet, and the sister genjet.
1) W+bb with >= 2 jets from the ME (dr > 0.5) 2) W+b or W+bb with 1 jet from the ME 3) W+cc from the ME (dr > 0.5) 4) W+c or W+cc with 1 jet from the ME 5) W+bb with 1 jet from the parton shower (dr == 0.0) 6) W+cc with 1 jet from the parton shower (dr == 0.0)
These are the "trash bin" samples that we're throwing away:
7) W+bb with >= 2 partons but 1 jet from the ME (dr == 0.0) 8) W+cc with >= 2 partons but 1 jet from the ME (dr == 0.0) 9) W+bb with >= 2 partons but 2 jets from the PS (dr > 0.5) 10)W+cc with >= 2 partons but 2 jets from the PS (dr > 0.5)
And here is the true "light flavor" sample:
11) Veto of all the previous (W+ light jets)
Implementation: <Notes on="" implementation>="">
Definition at line 76 of file FlavorHistoryFilter.h.
Definition at line 78 of file FlavorHistoryFilter.h.
typedef std::vector<int> FlavorHistoryFilter::flavor_vector |
Definition at line 79 of file FlavorHistoryFilter.h.
|
explicit |
Definition at line 31 of file FlavorHistoryFilter.cc.
References b_me_, b_ps_, b_ps_comp_, bb_me_, bb_me_comp_, c_me_, c_ps_, c_ps_comp_, cc_me_, cc_me_comp_, dr_, edm::ParameterSet::exists(), edm::ParameterSet::getParameter(), pathToSelect_, and verbose.
FlavorHistoryFilter::~FlavorHistoryFilter | ( | ) |
Definition at line 154 of file FlavorHistoryFilter.cc.
References b_me_, b_ps_, b_ps_comp_, bb_me_, bb_me_comp_, c_me_, c_ps_, c_ps_comp_, cc_me_, and cc_me_comp_.
|
privatevirtual |
Reimplemented from edm::EDFilter.
Definition at line 249 of file FlavorHistoryFilter.cc.
|
overrideprivatevirtual |
Implements edm::EDFilter.
Definition at line 177 of file FlavorHistoryFilter.cc.
References b_me_, b_ps_, b_ps_comp_, bb_me_, bb_me_comp_, bsrcToken_, c_me_, c_ps_, c_ps_comp_, cc_me_, cc_me_comp_, csrcToken_, edm::Event::getByToken(), pathToSelect_, edm::Event::put(), benchmark_cfg::select, reco::FlavorHistorySelectorUtil::select(), and corrVsCorr::selection.
|
private |
Definition at line 95 of file FlavorHistoryFilter.h.
Referenced by filter(), FlavorHistoryFilter(), and ~FlavorHistoryFilter().
|
private |
Definition at line 98 of file FlavorHistoryFilter.h.
Referenced by filter(), FlavorHistoryFilter(), and ~FlavorHistoryFilter().
|
private |
Definition at line 102 of file FlavorHistoryFilter.h.
Referenced by filter(), FlavorHistoryFilter(), and ~FlavorHistoryFilter().
|
private |
Definition at line 94 of file FlavorHistoryFilter.h.
Referenced by filter(), FlavorHistoryFilter(), and ~FlavorHistoryFilter().
|
private |
Definition at line 100 of file FlavorHistoryFilter.h.
Referenced by filter(), FlavorHistoryFilter(), and ~FlavorHistoryFilter().
|
private |
Definition at line 89 of file FlavorHistoryFilter.h.
Referenced by filter().
|
private |
Definition at line 97 of file FlavorHistoryFilter.h.
Referenced by filter(), FlavorHistoryFilter(), and ~FlavorHistoryFilter().
|
private |
Definition at line 99 of file FlavorHistoryFilter.h.
Referenced by filter(), FlavorHistoryFilter(), and ~FlavorHistoryFilter().
|
private |
Definition at line 103 of file FlavorHistoryFilter.h.
Referenced by filter(), FlavorHistoryFilter(), and ~FlavorHistoryFilter().
|
private |
Definition at line 96 of file FlavorHistoryFilter.h.
Referenced by filter(), FlavorHistoryFilter(), and ~FlavorHistoryFilter().
|
private |
Definition at line 101 of file FlavorHistoryFilter.h.
Referenced by filter(), FlavorHistoryFilter(), and ~FlavorHistoryFilter().
|
private |
Definition at line 90 of file FlavorHistoryFilter.h.
Referenced by filter().
|
private |
Definition at line 92 of file FlavorHistoryFilter.h.
Referenced by FlavorHistoryFilter().
|
private |
Definition at line 91 of file FlavorHistoryFilter.h.
Referenced by filter(), and FlavorHistoryFilter().