#include <L1Trigger/L1CaloTrigger/plugin/Phase1L1TJetProducer.cc>
Static Public Member Functions | |
static void | fillDescriptions (edm::ConfigurationDescriptions &descriptions) |
Static Public Member Functions inherited from edm::one::EDProducerBase | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
Private Member Functions | |
std::vector< reco::CaloJet > | _buildJetsFromSeeds (const std::vector< std::tuple< int, int >> &seeds) const |
std::vector< reco::CaloJet > | _buildJetsFromSeedsWithPUSubtraction (const std::vector< std::tuple< int, int >> &seeds, bool killZeroPt) const |
reco::CaloJet | buildJetFromSeed (const std::tuple< int, int > &seed) const |
template<class Container > | |
void | fillCaloGrid (TH2F &caloGrid, const Container &triggerPrimitives) |
std::vector< std::tuple< int, int > > | findSeeds (float seedThreshold) const |
Finds the seeds in the caloGrid, seeds are saved in a vector that contain the index in the TH2F of each seed. More... | |
float | getTowerEnergy (int iEta, int iPhi) const |
Get the energy of a certain tower while correctly handling phi periodicity in case of overflow. More... | |
void | produce (edm::Event &, const edm::EventSetup &) override |
void | subtract9x9Pileup (reco::CaloJet &jet) const |
Private Attributes | |
std::unique_ptr< TH2F > | caloGrid_ |
std::vector< double > | etaBinning_ |
edm::EDGetTokenT< edm::View< reco::Candidate > > | inputCollectionTag_ |
unsigned int | jetIEtaSize_ |
unsigned int | jetIPhiSize_ |
size_t | nBinsEta_ |
unsigned int | nBinsPhi_ |
std::string | outputCollectionName_ |
double | phiLow_ |
double | phiUp_ |
bool | puSubtraction_ |
double | seedPtThreshold_ |
bool | vetoZeroPt_ |
Additional Inherited Members | |
Public Types inherited from edm::one::EDProducerBase | |
typedef EDProducerBase | 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 = InEvent> | |
EDConsumerBaseAdaptor< B > | consumes (edm::InputTag tag) noexcept |
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<Transition Tr = Transition::Event> | |
constexpr auto | esConsumes () noexcept |
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes (ESInputTag const &tag) |
template<Transition Tr = Transition::Event> | |
auto | esConsumes (ESInputTag tag) noexcept |
template<Transition Tr = Transition::Event> | |
ESGetTokenGeneric | esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey) |
Used with EventSetupRecord::doGet. More... | |
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: Produces jets with a phase-1 like sliding window algorithm using a collection of reco::Candidates in input.
INPUT PARAMETERS *** etaBinning: vdouble with eta binning (allows non-homogeneous binning in eta) nBinsPhi: uint32, number of bins in phi phiLow: double, min phi (typically -pi) phiUp: double, max phi (typically +pi) jetIEtaSize: uint32, jet cluster size in ieta jetIPhiSize: uint32, jet cluster size in iphi seedPtThreshold: double, threshold of the seed tower puSubtraction: bool, runs chunky doughnut pile-up subtraction, 9x9 jet only outputCollectionName: string, tag for the output collection vetoZeroPt: bool, controls whether jets with 0 pt should be save. It matters if PU is ON, as you can get negative or zero pt jets after it. inputCollectionTag: inputtag, collection of reco::candidates used as input to the algo
Definition at line 56 of file Phase1L1TJetProducer.cc.
|
explicit |
Definition at line 102 of file Phase1L1TJetProducer.cc.
References edm::ParameterSet::getParameter().
|
override |
Definition at line 124 of file Phase1L1TJetProducer.cc.
|
private |
Definition at line 306 of file Phase1L1TJetProducer.cc.
References buildJetFromSeed(), metsig::jet, singleTopDQM_cfi::jets, fileCollector::seed, and InitialStep_cff::seeds.
Referenced by produce().
|
private |
Definition at line 290 of file Phase1L1TJetProducer.cc.
References buildJetFromSeed(), metsig::jet, singleTopDQM_cfi::jets, fileCollector::seed, InitialStep_cff::seeds, subtract9x9Pileup(), and vetoZeroPt_.
Referenced by produce().
|
private |
Definition at line 265 of file Phase1L1TJetProducer.cc.
References caloGrid_, getTowerEnergy(), L1TowerCalibrationProducer_cfi::iEta, createfilelist::int, metsig::jet, jetIEtaSize_, jetIPhiSize_, and fileCollector::seed.
Referenced by _buildJetsFromSeeds(), and _buildJetsFromSeedsWithPUSubtraction().
|
private |
Definition at line 319 of file Phase1L1TJetProducer.cc.
|
static |
Definition at line 328 of file Phase1L1TJetProducer.cc.
References edm::ConfigurationDescriptions::add(), submitPVResolutionJobs::desc, HLT_FULL_cff::InputTag, and M_PI.
|
private |
Finds the seeds in the caloGrid, seeds are saved in a vector that contain the index in the TH2F of each seed.
Definition at line 215 of file Phase1L1TJetProducer.cc.
References caloGrid_, getTowerEnergy(), L1TowerCalibrationProducer_cfi::iEta, createfilelist::int, jetIEtaSize_, jetIPhiSize_, InitialStep_cff::seeds, and UEAnalysisJets_cfi::seedThreshold.
Referenced by produce().
|
private |
Get the energy of a certain tower while correctly handling phi periodicity in case of overflow.
Definition at line 126 of file Phase1L1TJetProducer.cc.
References caloGrid_, L1TowerCalibrationProducer_cfi::iEta, hgcalTowerMapProducer_cfi::nBinsEta, and Phase1L1TJetProducer_cfi::nBinsPhi.
Referenced by buildJetFromSeed(), findSeeds(), and subtract9x9Pileup().
|
overrideprivatevirtual |
Implements edm::one::EDProducerBase.
Definition at line 146 of file Phase1L1TJetProducer.cc.
References _buildJetsFromSeeds(), _buildJetsFromSeedsWithPUSubtraction(), caloGrid_, findSeeds(), iEvent, inputCollectionTag_, eostools::move(), outputCollectionName_, reco::LeafCandidate::pt(), puSubtraction_, seedPtThreshold_, and vetoZeroPt_.
|
private |
Definition at line 168 of file Phase1L1TJetProducer.cc.
References caloGrid_, getTowerEnergy(), metsig::jet, SiStripPI::max, x, x_scroll_max, x_scroll_min, y, y_scroll_max, and y_scroll_min.
Referenced by _buildJetsFromSeedsWithPUSubtraction().
|
private |
Definition at line 86 of file Phase1L1TJetProducer.cc.
Referenced by buildJetFromSeed(), findSeeds(), getTowerEnergy(), produce(), and subtract9x9Pileup().
|
private |
Definition at line 88 of file Phase1L1TJetProducer.cc.
|
private |
Definition at line 84 of file Phase1L1TJetProducer.cc.
Referenced by produce().
|
private |
Definition at line 93 of file Phase1L1TJetProducer.cc.
Referenced by buildJetFromSeed(), and findSeeds().
|
private |
Definition at line 94 of file Phase1L1TJetProducer.cc.
Referenced by buildJetFromSeed(), and findSeeds().
|
private |
Definition at line 89 of file Phase1L1TJetProducer.cc.
|
private |
Definition at line 90 of file Phase1L1TJetProducer.cc.
|
private |
Definition at line 99 of file Phase1L1TJetProducer.cc.
Referenced by produce().
|
private |
Definition at line 91 of file Phase1L1TJetProducer.cc.
|
private |
Definition at line 92 of file Phase1L1TJetProducer.cc.
|
private |
Definition at line 96 of file Phase1L1TJetProducer.cc.
Referenced by produce().
|
private |
Definition at line 95 of file Phase1L1TJetProducer.cc.
Referenced by produce().
|
private |
Definition at line 97 of file Phase1L1TJetProducer.cc.
Referenced by _buildJetsFromSeedsWithPUSubtraction(), and produce().