CMS 3D CMS Logo

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

#include <HLTPixelIsolTrackFilter.h>

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

Public Member Functions

virtual bool hltFilter (edm::Event &, const edm::EventSetup &, trigger::TriggerFilterObjectWithRefs &filterproduct)
 
 HLTPixelIsolTrackFilter (const edm::ParameterSet &)
 
 ~HLTPixelIsolTrackFilter ()
 
- 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 ()
 

Private Attributes

edm::InputTag candTag_
 
bool dropMultiL2Event_
 
bool filterE_
 
edm::InputTag hltGTseedlabel_
 
double maxetatrack_
 
double maxptnearby_
 
double minDeltaPtL1Jet_
 
double minEnergy_
 
double minetatrack_
 
double minpttrack_
 
int nMaxTrackCandidates_
 

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
 
- 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 &)
 
- 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

Definition at line 6 of file HLTPixelIsolTrackFilter.h.

Constructor & Destructor Documentation

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

Definition at line 18 of file HLTPixelIsolTrackFilter.cc.

References candTag_, dropMultiL2Event_, filterE_, edm::ParameterSet::getParameter(), hltGTseedlabel_, maxetatrack_, maxptnearby_, minDeltaPtL1Jet_, minEnergy_, minetatrack_, minpttrack_, and nMaxTrackCandidates_.

18  : HLTFilter(iConfig)
19 {
20  candTag_ = iConfig.getParameter<edm::InputTag> ("candTag");
21  hltGTseedlabel_ = iConfig.getParameter<edm::InputTag> ("L1GTSeedLabel");
22  minDeltaPtL1Jet_ = iConfig.getParameter<double> ("MinDeltaPtL1Jet");
23  minpttrack_ = iConfig.getParameter<double> ("MinPtTrack");
24  maxptnearby_ = iConfig.getParameter<double> ("MaxPtNearby");
25  maxetatrack_ = iConfig.getParameter<double> ("MaxEtaTrack");
26  minetatrack_ = iConfig.getParameter<double> ("MinEtaTrack");
27  filterE_ = iConfig.getParameter<bool> ("filterTrackEnergy");
28  minEnergy_ = iConfig.getParameter<double>("MinEnergyTrack");
29  nMaxTrackCandidates_ = iConfig.getParameter<int>("NMaxTrackCandidates");
30  dropMultiL2Event_ = iConfig.getParameter<bool> ("DropMultiL2Event");
31 }
T getParameter(std::string const &) const
HLTFilter(const edm::ParameterSet &config)
Definition: HLTFilter.cc:18
HLTPixelIsolTrackFilter::~HLTPixelIsolTrackFilter ( )

Definition at line 33 of file HLTPixelIsolTrackFilter.cc.

33 {}

Member Function Documentation

bool HLTPixelIsolTrackFilter::hltFilter ( edm::Event iEvent,
const edm::EventSetup iSetup,
trigger::TriggerFilterObjectWithRefs filterproduct 
)
virtual

Implements HLTFilter.

Definition at line 35 of file HLTPixelIsolTrackFilter.cc.

References accept(), trigger::TriggerFilterObjectWithRefs::addCollectionTag(), trigger::TriggerRefsCollections::addObject(), candTag_, dropMultiL2Event_, filterE_, edm::Event::getByLabel(), hltGTseedlabel_, i, maxetatrack_, maxptnearby_, minDeltaPtL1Jet_, minEnergy_, minetatrack_, minpttrack_, n, nMaxTrackCandidates_, AlCaHLTBitMon_ParallelJobs::p, HLTFilter::saveTags(), trigger::TriggerL1CenJet, trigger::TriggerL1ForJet, trigger::TriggerL1TauJet, and trigger::TriggerTrack.

36 {
37  if (saveTags())
38  filterproduct.addCollectionTag(candTag_);
39 
40  // Ref to Candidate object to be recorded in filter object
42 
43  // get hold of filtered candidates
45  iEvent.getByLabel(candTag_,recotrackcands);
46 
47  //Filtering
48 
49  //find leading L1 jet:
50  double ptTriggered = -10;
51 
53  iEvent.getByLabel(hltGTseedlabel_, l1trigobj);
54 
55  std::vector< edm::Ref<l1extra::L1JetParticleCollection> > l1tauobjref;
56  std::vector< edm::Ref<l1extra::L1JetParticleCollection> > l1jetobjref;
57  std::vector< edm::Ref<l1extra::L1JetParticleCollection> > l1forjetobjref;
58 
59  l1trigobj->getObjects(trigger::TriggerL1TauJet, l1tauobjref);
60  l1trigobj->getObjects(trigger::TriggerL1CenJet, l1jetobjref);
61  l1trigobj->getObjects(trigger::TriggerL1ForJet, l1forjetobjref);
62 
63  for (unsigned int p=0; p<l1tauobjref.size(); p++)
64  if (l1tauobjref[p]->pt() > ptTriggered)
65  ptTriggered = l1tauobjref[p]->pt();
66  for (unsigned int p=0; p<l1jetobjref.size(); p++)
67  if (l1jetobjref[p]->pt() > ptTriggered)
68  ptTriggered = l1jetobjref[p]->pt();
69  for (unsigned int p=0; p<l1forjetobjref.size(); p++)
70  if (l1forjetobjref[p]->pt() > ptTriggered)
71  ptTriggered = l1forjetobjref[p]->pt();
72 
73  int n=0;
74  for (unsigned int i=0; i<recotrackcands->size(); i++)
75  {
77 
78  // cut on deltaPT
79  if (ptTriggered-candref->pt()<minDeltaPtL1Jet_) continue;
80 
81  // select on transverse momentum
82  if (!filterE_&&(candref->maxPtPxl()<maxptnearby_)&&
83  (candref->pt()>minpttrack_)&&fabs(candref->track()->eta())<maxetatrack_&&fabs(candref->track()->eta())>minetatrack_)
84  {
85  filterproduct.addObject(trigger::TriggerTrack, candref);
86  n++;
87  }
88 
89  // select on momentum
90  if (filterE_){
91  if ((candref->maxPtPxl()<maxptnearby_)&&((candref->pt())*cosh(candref->track()->eta())>minEnergy_)&&fabs(candref->track()->eta())<maxetatrack_&&fabs(candref->track()->eta())>minetatrack_)
92  {
93  filterproduct.addObject(trigger::TriggerTrack, candref);
94  n++;
95  }
96  }
97 
98  // stop looping over tracks if max number is reached
99  if(!dropMultiL2Event_ && n>=nMaxTrackCandidates_) break;
100 
101  } // loop over tracks
102 
103 
104  bool accept(n>0);
105 
107 
108  return accept;
109 
110 }
int i
Definition: DBlmapReader.cc:9
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 HLTPixelIsolTrackFilter::candTag_
private

Definition at line 14 of file HLTPixelIsolTrackFilter.h.

Referenced by hltFilter(), and HLTPixelIsolTrackFilter().

bool HLTPixelIsolTrackFilter::dropMultiL2Event_
private

Definition at line 23 of file HLTPixelIsolTrackFilter.h.

Referenced by hltFilter(), and HLTPixelIsolTrackFilter().

bool HLTPixelIsolTrackFilter::filterE_
private

Definition at line 20 of file HLTPixelIsolTrackFilter.h.

Referenced by hltFilter(), and HLTPixelIsolTrackFilter().

edm::InputTag HLTPixelIsolTrackFilter::hltGTseedlabel_
private

Definition at line 15 of file HLTPixelIsolTrackFilter.h.

Referenced by hltFilter(), and HLTPixelIsolTrackFilter().

double HLTPixelIsolTrackFilter::maxetatrack_
private

Definition at line 19 of file HLTPixelIsolTrackFilter.h.

Referenced by hltFilter(), and HLTPixelIsolTrackFilter().

double HLTPixelIsolTrackFilter::maxptnearby_
private

Definition at line 16 of file HLTPixelIsolTrackFilter.h.

Referenced by hltFilter(), and HLTPixelIsolTrackFilter().

double HLTPixelIsolTrackFilter::minDeltaPtL1Jet_
private

Definition at line 24 of file HLTPixelIsolTrackFilter.h.

Referenced by hltFilter(), and HLTPixelIsolTrackFilter().

double HLTPixelIsolTrackFilter::minEnergy_
private

Definition at line 21 of file HLTPixelIsolTrackFilter.h.

Referenced by hltFilter(), and HLTPixelIsolTrackFilter().

double HLTPixelIsolTrackFilter::minetatrack_
private

Definition at line 18 of file HLTPixelIsolTrackFilter.h.

Referenced by hltFilter(), and HLTPixelIsolTrackFilter().

double HLTPixelIsolTrackFilter::minpttrack_
private

Definition at line 17 of file HLTPixelIsolTrackFilter.h.

Referenced by hltFilter(), and HLTPixelIsolTrackFilter().

int HLTPixelIsolTrackFilter::nMaxTrackCandidates_
private

Definition at line 22 of file HLTPixelIsolTrackFilter.h.

Referenced by hltFilter(), and HLTPixelIsolTrackFilter().