|
| L2TauPixelIsoTagProducer (const edm::ParameterSet &) |
|
void | produce (edm::StreamID, edm::Event &, const edm::EventSetup &) const override |
|
| ~L2TauPixelIsoTagProducer () override |
|
| EDProducer ()=default |
|
bool | hasAbilityToProduceInLumis () const final |
|
bool | hasAbilityToProduceInRuns () const final |
|
bool | wantsGlobalLuminosityBlocks () const final |
|
bool | wantsGlobalRuns () const final |
|
bool | wantsStreamLuminosityBlocks () const final |
|
bool | wantsStreamRuns () const final |
|
| EDProducerBase () |
|
ModuleDescription const & | moduleDescription () const |
|
| ~EDProducerBase () override |
|
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
|
std::vector< edm::ProductResolverIndex > const & | indiciesForPutProducts (BranchType iBranchType) const |
|
| ProducerBase () |
|
std::vector< edm::ProductResolverIndex > const & | putTokenIndexToProductResolverIndex () const |
|
void | registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &) |
|
std::function< void(BranchDescription const &)> | registrationCallback () const |
| used by the fwk to register list of products More...
|
|
void | resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel) |
|
| ~ProducerBase () noexcept(false) override |
|
std::vector< ConsumesInfo > | consumesInfo () const |
|
void | convertCurrentProcessAlias (std::string const &processName) |
| Convert "@currentProcess" in InputTag process names to the actual current process name. More...
|
|
| EDConsumerBase () |
|
| EDConsumerBase (EDConsumerBase const &)=delete |
|
| EDConsumerBase (EDConsumerBase &&)=default |
|
ESProxyIndex const * | esGetTokenIndices (edm::Transition iTrans) const |
|
ProductResolverIndexAndSkipBit | indexFrom (EDGetToken, BranchType, TypeID const &) const |
|
void | itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
|
void | itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
|
std::vector< ProductResolverIndexAndSkipBit > const & | itemsToGetFrom (BranchType iType) const |
|
void | labelsForToken (EDGetToken iToken, Labels &oLabels) const |
|
void | modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
|
EDConsumerBase const & | operator= (EDConsumerBase const &)=delete |
|
EDConsumerBase & | operator= (EDConsumerBase &&)=default |
|
bool | registeredToConsume (ProductResolverIndex, bool, BranchType) const |
|
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
|
ProductResolverIndexAndSkipBit | uncheckedIndexFrom (EDGetToken) const |
|
void | updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet) |
|
void | updateLookup (eventsetup::ESRecordsToProxyIndices const &) |
|
virtual | ~EDConsumerBase () noexcept(false) |
|
|
typedef EDProducerBase | ModuleType |
|
using | ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >> |
|
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
|
typedef ProductLabels | Labels |
|
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) |
|
Producer of a JetTagCollection where tag is defined as # of pixel tracks in a tau-style isolation cone centered around jet direction. Notes:
- we don't care if signal tracks exist or not (protection against pixel inefficiency).
- Only tracks that belong to the primary vertex are considered.
- If primary vertex doesn't exist, tau jets are tagged as perfectly isolated.
- Author
- Vadim Khotilovich
Definition at line 24 of file L2TauPixelIsoTagProducer.h.
Definition at line 35 of file L2TauPixelIsoTagProducer.cc.
References funct::abs(), reco::deltaR2(), edm::Event::getByToken(), mps_fire::i, metsig::jet, fwrapper::jets, m_beamSpotSrc_token, m_isoCone2Max, m_isoCone2Min, m_jetSrc_token, m_trackMaxDxy, m_trackMaxNChi2, m_trackMinNHits, m_trackMinPt, m_vertexSrc_token, eostools::move(), edm::Handle< T >::product(), edm::Event::put(), MetAnalyzer::pv(), reco::Vertex::tracks_begin(), reco::Vertex::tracks_end(), findQualityFiles::v, electrons_cff::vertices, and reco::Vertex::z().
Referenced by ~L2TauPixelIsoTagProducer().
49 vector<RefToBase<Jet> >
jets;
50 jets.reserve (jets_h->size());
51 for (
size_t i = 0;
i < jets_h->size(); ++
i) jets.push_back( jets_h->refAt(
i) );
55 unique_ptr<JetTagCollection> jetTagCollection;
65 for (
const auto &
jet : jets) (*jetTagCollection)[
jet] = 0.f;
74 for(
const auto &
v : *(vertices.
product()) )
76 if(!
v.isValid() ||
v.isFake())
continue;
82 if(pv && !jets.empty())
84 for (
const auto &
jet : jets)
87 float jet_eta = Jet::physicsEta(pv->
z(),
jet->eta());
88 float jet_phi =
jet->phi();
99 float dr2 =
deltaR2 (jet_eta, jet_phi, (*tr)->eta(), (*tr)->phi());
105 (*jetTagCollection)[
jet] = iso;
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
trackRef_iterator tracks_end() const
last iterator over tracks
bool getByToken(EDGetToken token, Handle< PROD > &result) const
const edm::EDGetTokenT< edm::View< reco::Jet > > m_jetSrc_token
const edm::EDGetTokenT< reco::VertexCollection > m_vertexSrc_token
const float m_isoCone2Min
const float m_isoCone2Max
const edm::EDGetTokenT< reco::BeamSpot > m_beamSpotSrc_token
JetFloatAssociation::Container JetTagCollection
Abs< T >::type abs(const T &t)
double z() const
z coordinate
constexpr auto deltaR2(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
T const * product() const
const float m_trackMaxNChi2
const int m_trackMinNHits
trackRef_iterator tracks_begin() const
first iterator over tracks
const float m_trackMaxDxy