|
| HLTEgammaGenericQuadraticFilter (const edm::ParameterSet &) |
|
bool | hltFilter (edm::Event &, const edm::EventSetup &, trigger::TriggerFilterObjectWithRefs &filterproduct) const override |
|
| ~HLTEgammaGenericQuadraticFilter () override |
|
| HLTFilter (const edm::ParameterSet &config) |
|
int | module (edm::Event const &) const |
|
const std::string * | moduleLabel () const |
|
int | path (edm::Event const &) const |
|
const std::string * | pathName (edm::Event const &) const |
|
std::pair< int, int > | pmid (edm::Event const &) const |
|
bool | saveTags () const |
|
| ~HLTFilter () override |
|
| EDFilter ()=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 |
|
| EDFilterBase () |
|
ModuleDescription const & | moduleDescription () const |
|
| ~EDFilterBase () 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 EDFilterBase | 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) |
|
- Author
- Roberto Covarelli (CERN) modified by Chris Tully (Princeton)
Definition at line 23 of file HLTEgammaGenericQuadraticFilter.h.
HLTEgammaGenericQuadraticFilter::HLTEgammaGenericQuadraticFilter |
( |
const edm::ParameterSet & |
iConfig | ) |
|
|
explicit |
Definition at line 25 of file HLTEgammaGenericQuadraticFilter.cc.
References absEtaLowEdges_, candTag_, candToken_, doRhoCorrection_, effectiveAreas_, energyLowEdges_, Exception, edm::ParameterSet::getParameter(), l1EGTag_, lessThan_, ncandcut_, or, rhoMax_, rhoScale_, rhoTag_, rhoToken_, thrOverE2EB_, thrOverE2EE_, thrOverEEB_, thrOverEEE_, thrRegularEB_, thrRegularEE_, useEt_, varTag_, and varToken_.
54 if (energyLowEdges_.size() != thrRegularEB_.size()
or energyLowEdges_.size() != thrRegularEE_.size()
or 55 energyLowEdges_.size() != thrOverEEB_.size()
or energyLowEdges_.size() != thrOverEEE_.size()
or 56 energyLowEdges_.size() != thrOverE2EB_.size()
or energyLowEdges_.size() != thrOverE2EE_.size())
57 throw cms::Exception(
"IncompatibleVects") <<
"energyLowEdges and threshold vectors should be of the same size. \n";
59 if (energyLowEdges_.at(0) != 0.0)
60 throw cms::Exception(
"IncompleteCoverage") <<
"energyLowEdges should start from 0. \n";
62 for (
unsigned int aIt = 0; aIt < energyLowEdges_.size() - 1; aIt++) {
63 if ( !(energyLowEdges_.at( aIt ) < energyLowEdges_.at( aIt + 1 )) )
64 throw cms::Exception(
"ImproperBinning") <<
"energyLowEdges entries should be in increasing order. \n";
67 if (doRhoCorrection_) {
69 if (absEtaLowEdges_.size() != effectiveAreas_.size())
70 throw cms::Exception(
"IncompatibleVects") <<
"absEtaLowEdges and effectiveAreas should be of the same size. \n";
72 if (absEtaLowEdges_.at(0) != 0.0)
73 throw cms::Exception(
"IncompleteCoverage") <<
"absEtaLowEdges should start from 0. \n";
75 for (
unsigned int bIt = 0; bIt < absEtaLowEdges_.size() - 1; bIt++) {
76 if ( !(absEtaLowEdges_.at( bIt ) < absEtaLowEdges_.at( bIt + 1 )) )
77 throw cms::Exception(
"ImproperBinning") <<
"absEtaLowEdges entries should be in increasing order. \n";
T getParameter(std::string const &) const
std::vector< double > thrRegularEB_
std::vector< double > thrOverEEB_
std::vector< double > energyLowEdges_
std::vector< double > thrOverE2EE_
edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > candToken_
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
edm::EDGetTokenT< reco::RecoEcalCandidateIsolationMap > varToken_
std::vector< double > thrOverE2EB_
std::vector< double > absEtaLowEdges_
edm::EDGetTokenT< double > rhoToken_
HLTFilter(const edm::ParameterSet &config)
std::vector< double > thrRegularEE_
std::vector< double > effectiveAreas_
std::vector< double > thrOverEEE_
Implements HLTFilter.
Definition at line 113 of file HLTEgammaGenericQuadraticFilter.cc.
References funct::abs(), absEtaLowEdges_, accept(), trigger::TriggerFilterObjectWithRefs::addCollectionTag(), trigger::TriggerRefsCollections::addObject(), candToken_, DEFINE_FWK_MODULE, SoftLeptonByDistance_cfi::distance, doRhoCorrection_, effectiveAreas_, energyLowEdges_, JetChargeProducer_cfi::exp, edm::Event::getByToken(), trigger::TriggerRefsCollections::getObjects(), mps_fire::i, l1EGTag_, lessThan_, pfDeepBoostedJetPreprocessParams_cfi::lower_bound, gen::n, ncandcut_, edm::Handle< T >::product(), rho, rhoMax_, rhoScale_, rhoToken_, HLTFilter::saveTags(), funct::sin(), thrOverE2EB_, thrOverE2EE_, thrOverEEB_, thrOverEEE_, thrRegularEB_, thrRegularEE_, trigger::TriggerCluster, trigger::TriggerPhoton, useEt_, edm::helpers::KeyVal< K, V >::val, and varToken_.
130 std::vector<edm::Ref<reco::RecoEcalCandidateCollection> > recoecalcands;
152 for (
unsigned int i=0;
i<recoecalcands.size();
i++) {
154 ref = recoecalcands[
i];
157 float vali = mapi->
val;
158 float EtaSC = ref->eta();
166 float energy = ref->superCluster()->energy();
167 if (
useEt_) energy = energy *
sin (2*atan(
exp(-EtaSC)));
168 if (energy < 0.) energy = 0.;
171 double cutRegularEB_ = 9999., cutRegularEE_ = 9999.;
172 double cutOverEEB_ = 9999., cutOverEEE_ = 9999.;
173 double cutOverE2EB_ = 9999., cutOverE2EE_ = 9999.;
186 if ((
std::abs(EtaSC) < 1.479 && vali <= cutRegularEB_ + energy*cutOverEEB_ + energy*energy*cutOverE2EB_) || (
std::abs(EtaSC) >= 1.479 && vali <= cutRegularEE_ + energy*cutOverEEE_ + energy*energy*cutOverE2EE_) ) {
188 filterproduct.
addObject(trigger_type, ref);
192 if ((
std::abs(EtaSC) < 1.479 && vali >= cutRegularEB_ + energy*cutOverEEB_ + energy*energy*cutOverE2EB_) || (
std::abs(EtaSC) >= 1.479 && vali >= cutRegularEE_ + energy*cutOverEEE_ + energy*energy*cutOverE2EE_) ) {
194 filterproduct.
addObject(trigger_type, ref);
void getObjects(Vids &ids, VRphoton &refs) const
various physics-level getters:
bool getByToken(EDGetToken token, Handle< PROD > &result) const
std::vector< double > thrRegularEB_
Sin< T >::type sin(const T &t)
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
std::vector< double > thrOverEEB_
void addObject(int id, const reco::RecoEcalCandidateRef &ref)
setters for L3 collections: (id=physics type, and Ref<C>)
std::vector< double > energyLowEdges_
std::vector< double > thrOverE2EE_
edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > candToken_
edm::EDGetTokenT< reco::RecoEcalCandidateIsolationMap > varToken_
std::vector< double > thrOverE2EB_
Abs< T >::type abs(const T &t)
std::vector< double > absEtaLowEdges_
edm::EDGetTokenT< double > rhoToken_
T const * product() const
void addCollectionTag(const edm::InputTag &collectionTag)
collectionTags
std::vector< double > thrRegularEE_
std::vector< double > effectiveAreas_
std::vector< double > thrOverEEE_