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
HLTJetPairDzMatchFilter< T > Class Template Reference

#include <HLTJetPairDzMatchFilter.h>

Inheritance diagram for HLTJetPairDzMatchFilter< T >:
HLTFilter edm::EDFilter edm::ProducerBase edm::ProductRegistryHelper

Public Member Functions

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

double m_jetMaxDZ
 
double m_jetMaxEta
 
double m_jetMinDR
 
double m_jetMinPt
 
edm::InputTag m_jetSrc
 
int m_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

template<typename T>
class HLTJetPairDzMatchFilter< T >

Definition at line 19 of file HLTJetPairDzMatchFilter.h.

Constructor & Destructor Documentation

template<typename T >
HLTJetPairDzMatchFilter< T >::HLTJetPairDzMatchFilter ( const edm::ParameterSet conf)
explicit

Definition at line 21 of file HLTJetPairDzMatchFilter.cc.

References edm::ParameterSet::getParameter(), HLTJetPairDzMatchFilter< T >::m_jetMaxDZ, HLTJetPairDzMatchFilter< T >::m_jetMaxEta, HLTJetPairDzMatchFilter< T >::m_jetMinDR, HLTJetPairDzMatchFilter< T >::m_jetMinPt, HLTJetPairDzMatchFilter< T >::m_jetSrc, and HLTJetPairDzMatchFilter< T >::m_triggerType.

21  : HLTFilter(conf)
22 {
23  m_jetSrc = conf.getParameter<edm::InputTag>("JetSrc");
24  m_jetMinPt = conf.getParameter<double>("JetMinPt");
25  m_jetMaxEta = conf.getParameter<double>("JetMaxEta");
26  m_jetMinDR = conf.getParameter<double>("JetMinDR");
27  m_jetMaxDZ = conf.getParameter<double>("JetMaxDZ");
28  m_triggerType = conf.getParameter<int>("TriggerType");
29 
30  // set the minimum DR between jets, so that one never has a chance
31  // to create a pair out of the same Jet replicated with two
32  // different vertices
33  if (m_jetMinDR < 0.1) m_jetMinDR = 0.1;
34 
35 }
T getParameter(std::string const &) const
HLTFilter(const edm::ParameterSet &config)
Definition: HLTFilter.cc:18
template<typename T >
HLTJetPairDzMatchFilter< T >::~HLTJetPairDzMatchFilter ( )

Definition at line 52 of file HLTJetPairDzMatchFilter.cc.

52 {}

Member Function Documentation

template<typename T >
void HLTJetPairDzMatchFilter< T >::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 39 of file HLTJetPairDzMatchFilter.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), and mergeVDriftHistosByStation::name.

39  {
42  desc.add<edm::InputTag>("JetSrc",edm::InputTag("hltMatchL2Tau30ToPixelTrk5"));
43  desc.add<double>("JetMinPt",25.0);
44  desc.add<double>("JetMaxEta",2.4);
45  desc.add<double>("JetMinDR",0.2);
46  desc.add<double>("JetMaxDZ",0.2);
47  desc.add<int>("TriggerType",84);
48  descriptions.add(std::string("hlt")+std::string(typeid(HLTJetPairDzMatchFilter<T>).name()),desc);
49 }
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)
template<typename T >
bool HLTJetPairDzMatchFilter< T >::hltFilter ( edm::Event ev,
const edm::EventSetup es,
trigger::TriggerFilterObjectWithRefs filterproduct 
)
virtual

Implements HLTFilter.

Definition at line 55 of file HLTJetPairDzMatchFilter.cc.

References abs, trigger::TriggerFilterObjectWithRefs::addCollectionTag(), trigger::TriggerRefsCollections::addObject(), reco::deltaPhi(), eta(), edm::Event::getByLabel(), fwrapper::jets, phi, dt_dqm_sourceclient_common_cff::reco, and CommPDSkim_cfg::saveTags.

56 {
57  using namespace std;
58  using namespace edm;
59  using namespace reco;
60 
61  typedef vector<T> TCollection;
62  typedef Ref<TCollection> TRef;
63 
64  // The resuilting filter object to store in the Event
65 
66  if (saveTags()) filterproduct.addCollectionTag(m_jetSrc);
67 
68  // Ref to Candidate object to be recorded in the filter object
69  TRef ref;
70 
71  // *** Pick up L2 tau jets which have been equipped with some meaningful vertices before that ***
72 
73  edm::Handle<TCollection> jetsHandle;
74  ev.getByLabel( m_jetSrc, jetsHandle );
75  const TCollection & jets = *jetsHandle;
76  const size_t n_jets = jets.size();
77 
78  // *** Combine jets into pairs and check the dz matching ***
79 
80  size_t npairs = 0, nfail_dz = 0;
81  if (n_jets > 1) for(size_t j1 = 0; j1 < n_jets; ++j1)
82  {
83  if ( jets[j1].pt() < m_jetMinPt || std::abs(jets[j1].eta()) > m_jetMaxEta ) continue;
84 
85  float mindz = 99.f;
86  for(size_t j2 = j1+1; j2 < n_jets; ++j2)
87  {
88  if ( jets[j2].pt() < m_jetMinPt || std::abs(jets[j2].eta()) > m_jetMaxEta ) continue;
89 
90  float deta = jets[j1].eta() - jets[j2].eta();
91  float dphi = reco::deltaPhi(jets[j1].phi(), jets[j2].phi());
92  float dr2 = dphi*dphi + deta*deta;
93  float dz = jets[j1].vz() - jets[j2].vz();
94 
95  // skip pairs of jets that are close
96  if ( dr2 < m_jetMinDR*m_jetMinDR ) {
97  continue;
98  }
99 
100  if (std::abs(dz) < std::abs(mindz)) mindz = dz;
101 
102  // do not form a pair if dz is too large
103  if ( std::abs(dz) > m_jetMaxDZ ) {
104  ++nfail_dz;
105  continue;
106  }
107 
108  // add references to both jets
109  ref = TRef(jetsHandle, j1);
110  filterproduct.addObject(m_triggerType, ref);
111 
112  ref = TRef(jetsHandle, j2);
113  filterproduct.addObject(m_triggerType, ref);
114 
115  ++npairs;
116 
117  }
118 
119  }
120 
121  return npairs>0;
122 
123 }
#define abs(x)
Definition: mlp_lapack.h:159
T eta() const
void addObject(int id, const reco::RecoEcalCandidateRef &ref)
setters for L3 collections: (id=physics type, and Ref&lt;C&gt;)
vector< PseudoJet > jets
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:356
double deltaPhi(double phi1, double phi2)
Definition: deltaPhi.h:12
void addCollectionTag(const edm::InputTag &collectionTag)
collectionTags
bool saveTags() const
Definition: HLTFilter.h:45
Definition: DDAxes.h:10

Member Data Documentation

template<typename T>
double HLTJetPairDzMatchFilter< T >::m_jetMaxDZ
private
template<typename T>
double HLTJetPairDzMatchFilter< T >::m_jetMaxEta
private
template<typename T>
double HLTJetPairDzMatchFilter< T >::m_jetMinDR
private
template<typename T>
double HLTJetPairDzMatchFilter< T >::m_jetMinPt
private
template<typename T>
edm::InputTag HLTJetPairDzMatchFilter< T >::m_jetSrc
private
template<typename T>
int HLTJetPairDzMatchFilter< T >::m_triggerType
private