CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Static Public Member Functions | Private Attributes
HLTPFEnergyFractionsFilter Class Reference

#include <HLTPFEnergyFractionsFilter.h>

Inheritance diagram for HLTPFEnergyFractionsFilter:
HLTFilter edm::EDFilter edm::ProducerBase edm::ProductRegistryHelper

Public Member Functions

virtual bool hltFilter (edm::Event &, const edm::EventSetup &, trigger::TriggerFilterObjectWithRefs &filterproduct)
 
 HLTPFEnergyFractionsFilter (const edm::ParameterSet &)
 
 ~HLTPFEnergyFractionsFilter ()
 
- Public Member Functions inherited from HLTFilter
 HLTFilter (const edm::ParameterSet &config)
 
int module () const
 
const std::string * moduleLabel () const
 
int path () const
 
const std::string * pathName () const
 
std::pair< int, int > pmid () const
 
bool saveTags () const
 
virtual ~HLTFilter ()
 
- Public Member Functions inherited from edm::EDFilter
 EDFilter ()
 
virtual ~EDFilter ()
 
- Public Member Functions inherited from edm::ProducerBase
 ProducerBase ()
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
boost::function< void(const
BranchDescription &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
virtual ~ProducerBase ()
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from HLTFilter
static void makeHLTFilterDescription (edm::ParameterSetDescription &desc)
 
- Static Public Member Functions inherited from edm::EDFilter
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 

Private Attributes

edm::InputTag inputPFJetTag_
 
double max_CEEF_
 
double max_CHEF_
 
double max_NEEF_
 
double max_NHEF_
 
double min_CEEF_
 
double min_CHEF_
 
double min_NEEF_
 
double min_NHEF_
 
unsigned int nJet_
 
int triggerType_
 

Additional Inherited Members

- Public Types inherited from edm::EDFilter
typedef EDFilter ModuleType
 
typedef WorkerT< EDFilterWorkerType
 
- Public Types inherited from edm::ProducerBase
typedef
ProductRegistryHelper::TypeLabelList 
TypeLabelList
 
- Protected Member Functions inherited from edm::EDFilter
CurrentProcessingContext const * currentContext () const
 
- Protected Member Functions inherited from edm::ProducerBase
template<class TProducer , class TMethod >
void callWhenNewProductsRegistered (TProducer *iProd, TMethod iMethod)
 

Detailed Description

Author
Srimanobhas Phat

This filter is used to filter the PFJet collection using JetID. If you want to work with general PFJet collection, please use PFJetIDProducer instead.

This filter will reject event in 2 cases, (1) No. of jets < NJet_ threshold. The default is 1 (You really need to be careful this setting). (2) One or more first NJet_ jets has PFEFs out of thresholds.

Just to warn you that, analyzers need to understand well their signals and percentage of loss if you apply this cut.

Author
Srimanobhas Phat

Please see the description of this class in "HLTrigger/JetMET/interface/HLTPFEnergyFractionsFilter.h"

Definition at line 30 of file HLTPFEnergyFractionsFilter.h.

Constructor & Destructor Documentation

HLTPFEnergyFractionsFilter::HLTPFEnergyFractionsFilter ( const edm::ParameterSet iConfig)
explicit

Definition at line 32 of file HLTPFEnergyFractionsFilter.cc.

References edm::ParameterSet::getParameter(), inputPFJetTag_, max_CEEF_, max_CHEF_, max_NEEF_, max_NHEF_, min_CEEF_, min_CHEF_, min_NEEF_, min_NHEF_, nJet_, and triggerType_.

32  : HLTFilter(iConfig)
33 {
34  inputPFJetTag_ = iConfig.getParameter< edm::InputTag > ("inputPFJetTag");
35  nJet_ = iConfig.getParameter<unsigned int> ("nJet");
36  min_CEEF_ = iConfig.getParameter<double> ("min_CEEF");
37  max_CEEF_ = iConfig.getParameter<double> ("max_CEEF");
38  min_NEEF_ = iConfig.getParameter<double> ("min_NEEF");
39  max_NEEF_ = iConfig.getParameter<double> ("max_NEEF");
40  min_CHEF_ = iConfig.getParameter<double> ("min_CHEF");
41  max_CHEF_ = iConfig.getParameter<double> ("max_CHEF");
42  min_NHEF_ = iConfig.getParameter<double> ("min_NHEF");
43  max_NHEF_ = iConfig.getParameter<double> ("max_NHEF");
44  triggerType_ = iConfig.getParameter<int> ("triggerType");
45 }
T getParameter(std::string const &) const
HLTFilter(const edm::ParameterSet &config)
Definition: HLTFilter.cc:18
HLTPFEnergyFractionsFilter::~HLTPFEnergyFractionsFilter ( )

Definition at line 47 of file HLTPFEnergyFractionsFilter.cc.

47 {}

Member Function Documentation

void HLTPFEnergyFractionsFilter::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 50 of file HLTPFEnergyFractionsFilter.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), HLTFilter::makeHLTFilterDescription(), and trigger::TriggerJet.

50  {
53  desc.add<edm::InputTag>("inputPFJetTag",edm::InputTag("hltAntiKT5PFJets"));
54  desc.add<unsigned int>("nJet",1);
55  desc.add<double>("min_CEEF",-99.);
56  desc.add<double>("max_CEEF",99.);
57  desc.add<double>("min_NEEF",-99.);
58  desc.add<double>("max_NEEF",99.);
59  desc.add<double>("min_CHEF",-99.);
60  desc.add<double>("max_CHEF",99.);
61  desc.add<double>("min_NHEF",-99.);
62  desc.add<double>("max_NHEF",99.);
63  desc.add<int>("triggerType",trigger::TriggerJet);
64  descriptions.add("hltPFEnergyFractionsFilter",desc);
65 }
ParameterDescriptionBase * add(U const &iLabel, T const &value)
static void makeHLTFilterDescription(edm::ParameterSetDescription &desc)
Definition: HLTFilter.cc:27
void add(std::string const &label, ParameterSetDescription const &psetDescription)
bool HLTPFEnergyFractionsFilter::hltFilter ( edm::Event iEvent,
const edm::EventSetup iSetup,
trigger::TriggerFilterObjectWithRefs filterproduct 
)
virtual

Implements HLTFilter.

Definition at line 69 of file HLTPFEnergyFractionsFilter.cc.

References accept(), trigger::TriggerFilterObjectWithRefs::addCollectionTag(), trigger::TriggerRefsCollections::addObject(), edm::Event::getByLabel(), i, inputPFJetTag_, max_CEEF_, max_CHEF_, max_NEEF_, max_NHEF_, min_CEEF_, min_CHEF_, min_NEEF_, min_NHEF_, nJet_, dt_dqm_sourceclient_common_cff::reco, HLTFilter::saveTags(), and triggerType_.

70 {
71  using namespace std;
72  using namespace edm;
73  using namespace reco;
74  using namespace trigger;
75 
76  // The filter object
77  if (saveTags()) filterproduct.addCollectionTag(inputPFJetTag_);
78 
79  // PFJets
81  iEvent.getByLabel(inputPFJetTag_,recopfjets);
82 
83  //Checking
84  bool accept(false);
85 
86  if(recopfjets->size() >= nJet_){
87  accept = true;
88  unsigned int countJet(0);
89  //PF information
90  PFJetCollection::const_iterator i (recopfjets->begin());
91  for(; i != recopfjets->end(); ++i ){
92  if(countJet>=nJet_) break;
93  //
94  if(i->chargedEmEnergyFraction()<min_CEEF_) accept = false;
95  if(i->chargedEmEnergyFraction()>max_CEEF_) accept = false;
96  //
97  if(i->neutralEmEnergyFraction()<min_NEEF_) accept = false;
98  if(i->neutralEmEnergyFraction()>max_NEEF_) accept = false;
99  //
100  if(i->chargedHadronEnergyFraction()<min_CHEF_) accept = false;
101  if(i->chargedHadronEnergyFraction()>max_CHEF_) accept = false;
102  //
103  if(i->neutralHadronEnergyFraction()<min_NHEF_) accept = false;
104  if(i->neutralHadronEnergyFraction()>max_NHEF_) accept = false;
105  //
106  if(accept==false) break;
107  countJet++;
108  }
109 
110  //Store NJet_ jets
111  if(accept==true){
112  countJet = 0;
113  PFJetCollection::const_iterator i (recopfjets->begin());
114  for(; i != recopfjets->end(); ++i ){
115  if(countJet>=nJet_) break;
116  filterproduct.addObject(triggerType_,PFJetRef(recopfjets,distance(recopfjets->begin(),i)));
117  countJet++;
118  }
119  }
120  }// End of (recopfjets->size() >= nJet_)
121 
122  return accept;
123 }
int i
Definition: DBlmapReader.cc:9
edm::Ref< PFJetCollection > PFJetRef
edm references
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
Definition: TopDQMHelpers.h:22
void addObject(int id, const reco::RecoEcalCandidateRef &ref)
setters for L3 collections: (id=physics type, and Ref&lt;C&gt;)
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:356
void addCollectionTag(const edm::InputTag &collectionTag)
collectionTags
bool saveTags() const
Definition: HLTFilter.h:45

Member Data Documentation

edm::InputTag HLTPFEnergyFractionsFilter::inputPFJetTag_
private

Definition at line 39 of file HLTPFEnergyFractionsFilter.h.

Referenced by hltFilter(), and HLTPFEnergyFractionsFilter().

double HLTPFEnergyFractionsFilter::max_CEEF_
private

Definition at line 42 of file HLTPFEnergyFractionsFilter.h.

Referenced by hltFilter(), and HLTPFEnergyFractionsFilter().

double HLTPFEnergyFractionsFilter::max_CHEF_
private

Definition at line 46 of file HLTPFEnergyFractionsFilter.h.

Referenced by hltFilter(), and HLTPFEnergyFractionsFilter().

double HLTPFEnergyFractionsFilter::max_NEEF_
private

Definition at line 44 of file HLTPFEnergyFractionsFilter.h.

Referenced by hltFilter(), and HLTPFEnergyFractionsFilter().

double HLTPFEnergyFractionsFilter::max_NHEF_
private

Definition at line 48 of file HLTPFEnergyFractionsFilter.h.

Referenced by hltFilter(), and HLTPFEnergyFractionsFilter().

double HLTPFEnergyFractionsFilter::min_CEEF_
private

Definition at line 41 of file HLTPFEnergyFractionsFilter.h.

Referenced by hltFilter(), and HLTPFEnergyFractionsFilter().

double HLTPFEnergyFractionsFilter::min_CHEF_
private

Definition at line 45 of file HLTPFEnergyFractionsFilter.h.

Referenced by hltFilter(), and HLTPFEnergyFractionsFilter().

double HLTPFEnergyFractionsFilter::min_NEEF_
private

Definition at line 43 of file HLTPFEnergyFractionsFilter.h.

Referenced by hltFilter(), and HLTPFEnergyFractionsFilter().

double HLTPFEnergyFractionsFilter::min_NHEF_
private

Definition at line 47 of file HLTPFEnergyFractionsFilter.h.

Referenced by hltFilter(), and HLTPFEnergyFractionsFilter().

unsigned int HLTPFEnergyFractionsFilter::nJet_
private

Definition at line 40 of file HLTPFEnergyFractionsFilter.h.

Referenced by hltFilter(), and HLTPFEnergyFractionsFilter().

int HLTPFEnergyFractionsFilter::triggerType_
private

Definition at line 49 of file HLTPFEnergyFractionsFilter.h.

Referenced by hltFilter(), and HLTPFEnergyFractionsFilter().