CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Attributes
PFJetsMatchedToFilteredCaloJetsProducer Class Reference

#include <PFJetsMatchedToFilteredCaloJetsProducer.h>

Inheritance diagram for PFJetsMatchedToFilteredCaloJetsProducer:
edm::stream::EDProducer<>

Public Member Functions

 PFJetsMatchedToFilteredCaloJetsProducer (const edm::ParameterSet &)
 
void produce (edm::Event &, const edm::EventSetup &) override
 
 ~PFJetsMatchedToFilteredCaloJetsProducer () override
 
- Public Member Functions inherited from edm::stream::EDProducer<>
 EDProducer ()=default
 
bool hasAbilityToProduceInLumis () const final
 
bool hasAbilityToProduceInRuns () const final
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 

Private Attributes

edm::InputTag CaloJetFilter
 
double DeltaR_
 
std::vector< reco::CaloJetRefjetRefVec
 
edm::EDGetTokenT< edm::View< reco::Candidate > > m_thePFJetToken
 
edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefsm_theTriggerJetToken
 
edm::InputTag PFJetSrc
 
int TriggerType_
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDProducer<>
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 

Detailed Description

Definition at line 20 of file PFJetsMatchedToFilteredCaloJetsProducer.h.

Constructor & Destructor Documentation

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

Definition at line 16 of file PFJetsMatchedToFilteredCaloJetsProducer.cc.

References edm::ParameterSet::getParameter(), and ~PFJetsMatchedToFilteredCaloJetsProducer().

17 {
18  PFJetSrc = iConfig.getParameter<InputTag>("PFJetSrc");
19  CaloJetFilter = iConfig.getParameter<InputTag>("CaloJetFilter");
20  DeltaR_ = iConfig.getParameter<double>("DeltaR");
21  TriggerType_ = iConfig.getParameter<int>("TriggerType");
22 
23  m_thePFJetToken = consumes<edm::View<reco::Candidate> >(PFJetSrc);
24  m_theTriggerJetToken = consumes<trigger::TriggerFilterObjectWithRefs>(CaloJetFilter);
25 
26  produces<PFJetCollection>();
27 }
T getParameter(std::string const &) const
edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > m_theTriggerJetToken
edm::EDGetTokenT< edm::View< reco::Candidate > > m_thePFJetToken
PFJetsMatchedToFilteredCaloJetsProducer::~PFJetsMatchedToFilteredCaloJetsProducer ( )
overridedefault

Member Function Documentation

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

Definition at line 31 of file PFJetsMatchedToFilteredCaloJetsProducer.cc.

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

31  {
33  desc.add<edm::InputTag>("PFJetSrc",edm::InputTag("hltPFJets"));
34  desc.add<edm::InputTag>("CaloJetFilter",edm::InputTag("hltSingleJet240Regional"));
35  desc.add<double>("DeltaR",0.5);
36  desc.add<int>("TriggerType",trigger::TriggerJet);
37  descriptions.add("hltPFJetsMatchedToFilteredCaloJetsProducer",desc);
38 }
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
void PFJetsMatchedToFilteredCaloJetsProducer::produce ( edm::Event iEvent,
const edm::EventSetup iES 
)
override

Definition at line 41 of file PFJetsMatchedToFilteredCaloJetsProducer.cc.

References a, HiRegitMuonDetachedTripletStep_cff::DeltaR, reco::deltaR(), f, edm::Event::getByToken(), trigger::TriggerRefsCollections::getObjects(), eostools::move(), reco::Candidate::p4(), and edm::Event::put().

42 {
43 
44  using namespace edm;
45  using namespace std;
46  using namespace reco;
47  using namespace trigger;
48 
49  unique_ptr<PFJetCollection> pfjets(new PFJetCollection);
50 
51  //Getting HLT jets to be matched
53  iEvent.getByToken(m_thePFJetToken, PFJets );
54 
55  //std::cout <<"Size of input PF jet collection "<<PFJets->size()<<std::endl;
56 
58  iEvent.getByToken(m_theTriggerJetToken,TriggeredCaloJets);
59 
60  jetRefVec.clear();
61 
62  TriggeredCaloJets->getObjects( TriggerType_,jetRefVec);
63  // std::cout <<"Size of input triggered jet collection "<<jetRefVec.size()<<std::endl;
64  math::XYZPoint a(0.,0.,0.);
66 
67  for(auto & iCalo : jetRefVec)
68  {
69  // std::cout << "\tiTriggerJet: " << iCalo << " pT= " << jetRefVec[iCalo]->pt() << std::endl;
70  for(unsigned int iPF=0;iPF<PFJets->size();iPF++)
71  {
72  const Candidate & myJet = (*PFJets)[iPF];
73  double deltaR = ROOT::Math::VectorUtil::DeltaR(myJet.p4().Vect(), (iCalo->p4()).Vect());
74  if(deltaR < DeltaR_ ) {
75  PFJet myPFJet(myJet.p4(),a,f);
76  pfjets->push_back(myPFJet);
77  break;
78  }
79  }
80  }
81 
82  // std::cout <<"Size of PF matched jets "<<pfjets->size()<<std::endl;
83  iEvent.put(std::move(pfjets));
84 }
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:125
void getObjects(Vids &ids, VRphoton &refs) const
various physics-level getters:
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:517
Jets made from PFObjects.
Definition: PFJet.h:21
virtual const LorentzVector & p4() const =0
four-momentum Lorentz vector
double f[11][100]
edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > m_theTriggerJetToken
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
std::vector< PFJet > PFJetCollection
collection of PFJet objects
fixed size matrix
HLT enums.
double a
Definition: hdecay.h:121
edm::EDGetTokenT< edm::View< reco::Candidate > > m_thePFJetToken
def move(src, dest)
Definition: eostools.py:511

Member Data Documentation

edm::InputTag PFJetsMatchedToFilteredCaloJetsProducer::CaloJetFilter
private

Definition at line 35 of file PFJetsMatchedToFilteredCaloJetsProducer.h.

double PFJetsMatchedToFilteredCaloJetsProducer::DeltaR_
private

Definition at line 36 of file PFJetsMatchedToFilteredCaloJetsProducer.h.

std::vector<reco::CaloJetRef> PFJetsMatchedToFilteredCaloJetsProducer::jetRefVec
private

Definition at line 29 of file PFJetsMatchedToFilteredCaloJetsProducer.h.

edm::EDGetTokenT<edm::View<reco::Candidate> > PFJetsMatchedToFilteredCaloJetsProducer::m_thePFJetToken
private

Definition at line 31 of file PFJetsMatchedToFilteredCaloJetsProducer.h.

edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> PFJetsMatchedToFilteredCaloJetsProducer::m_theTriggerJetToken
private

Definition at line 32 of file PFJetsMatchedToFilteredCaloJetsProducer.h.

edm::InputTag PFJetsMatchedToFilteredCaloJetsProducer::PFJetSrc
private

Definition at line 34 of file PFJetsMatchedToFilteredCaloJetsProducer.h.

int PFJetsMatchedToFilteredCaloJetsProducer::TriggerType_
private

Definition at line 37 of file PFJetsMatchedToFilteredCaloJetsProducer.h.