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 Member Functions | Private Attributes
JetVertexChecker Class Reference

#include <RecoBTag/JetVertexChecker/src/JetVertexChecker.cc>

Inheritance diagram for JetVertexChecker:
edm::EDFilter edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 JetVertexChecker (const edm::ParameterSet &)
 
 ~JetVertexChecker ()
 
- Public Member Functions inherited from edm::EDFilter
 EDFilter ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDFilter ()
 
- Public Member Functions inherited from edm::ProducerBase
 ProducerBase ()
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription
const &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
virtual ~ProducerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Static Public Member Functions

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

Private Member Functions

virtual bool filter (edm::Event &, const edm::EventSetup &) override
 

Private Attributes

edm::EDGetTokenT
< reco::JetTracksAssociationCollection
m_associator
 
edm::EDGetTokenT< reco::BeamSpotm_beamSpot
 
double m_cutMinPt
 
double m_cutMinPtRatio
 
bool m_doFilter
 
double m_maxChi2
 
int32_t m_maxNjets
 
int32_t m_maxNjetsOutput
 
double m_maxTrackPt
 
bool m_newMethod
 

Additional Inherited Members

- Public Types inherited from edm::EDFilter
typedef EDFilter ModuleType
 
- Public Types inherited from edm::ProducerBase
typedef
ProductRegistryHelper::TypeLabelList 
TypeLabelList
 
- Protected Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
- Protected Member Functions inherited from edm::EDConsumerBase
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 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)
 

Detailed Description

Description: [one line class summary]

Implementation: [Notes on implementation]

Definition at line 47 of file JetVertexChecker.cc.

Constructor & Destructor Documentation

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

Definition at line 84 of file JetVertexChecker.cc.

References edm::ParameterSet::getParameter(), m_associator, m_beamSpot, m_cutMinPt, m_cutMinPtRatio, m_doFilter, m_maxChi2, m_maxNjets, m_maxNjetsOutput, m_maxTrackPt, and m_newMethod.

85 {
86  //now do what ever initialization is needed
87  m_beamSpot = consumes<reco::BeamSpot>(iConfig.getParameter<edm::InputTag>("beamSpot"));
88  m_associator = consumes<reco::JetTracksAssociationCollection>(iConfig.getParameter<edm::InputTag>("jetTracks"));
89  m_doFilter = iConfig.getParameter<bool>("doFilter");
90  m_cutMinPt = iConfig.getParameter<double>("minPt");
91  m_cutMinPtRatio = iConfig.getParameter<double>("minPtRatio");
92  m_maxNjets = iConfig.getParameter<int32_t>("maxNJetsToCheck");
93  m_maxNjetsOutput = iConfig.getParameter<int32_t>("maxNjetsOutput");
94  m_newMethod = iConfig.getParameter<bool>("newMethod");
95  m_maxTrackPt = iConfig.getParameter<double>("maxTrackPt");
96  m_maxChi2 = iConfig.getParameter<double>("maxChi2");
97  produces<std::vector<reco::CaloJet> >();
98  produces<reco::VertexCollection >();
99 }
T getParameter(std::string const &) const
edm::EDGetTokenT< reco::BeamSpot > m_beamSpot
edm::EDGetTokenT< reco::JetTracksAssociationCollection > m_associator
JetVertexChecker::~JetVertexChecker ( )

Definition at line 102 of file JetVertexChecker.cc.

103 {
104 
105  // do anything here that needs to be done at desctruction time
106  // (e.g. close files, deallocate resources etc.)
107 
108 }

Member Function Documentation

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

Definition at line 173 of file JetVertexChecker.cc.

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

173  {
175  desc.add<edm::InputTag> ("beamSpot",edm::InputTag("hltOnlineBeamSpot"));
176  desc.add<edm::InputTag> ("jetTracks",edm::InputTag("hltFastPVJetTracksAssociator"));
177  desc.add<double> ("minPtRatio",0.1);
178  desc.add<double> ("minPt",0.0);
179  desc.add<bool> ("doFilter",false);
180  desc.add<int> ("maxNJetsToCheck",2);
181  desc.add<int> ("maxNjetsOutput",2);
182  desc.add<double> ("maxChi2",20.0);
183  desc.add<double> ("maxTrackPt",20.0);
184  desc.add<bool> ("newMethod",false); // <---- newMethod
185  descriptions.add("jetVertexChecker",desc);
186 }
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
bool JetVertexChecker::filter ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

Implements edm::EDFilter.

Definition at line 117 of file JetVertexChecker.cc.

References funct::abs(), SiPixelRawToDigiRegional_cfi::beamSpot, edm::RefVector< C, T, F >::begin(), reco::TrackBase::chi2(), alignCSCRings::e, edm::RefVector< C, T, F >::end(), edm::Event::getByToken(), i, m_associator, m_beamSpot, m_cutMinPt, m_cutMinPtRatio, m_doFilter, m_maxChi2, m_maxNjets, m_maxTrackPt, m_newMethod, min(), reco::TrackBase::momentum(), AlCaHLTBitMon_ParallelJobs::p, reco::TrackBase::pt(), edm::Event::put(), query::result, and testEve_cfg::tracks.

118 {
119  using namespace edm;
121  iEvent.getByToken(m_associator, jetTracksAssociation);
122  std::auto_ptr<std::vector<reco::CaloJet> > pOut(new std::vector<reco::CaloJet> );
123 
124  bool result=true;
125  int i = 0;
126  float calopt=0;
127  float trkpt=0;
128  //limit to first two jets
129  for(reco::JetTracksAssociationCollection::const_iterator it = jetTracksAssociation->begin();
130  it != jetTracksAssociation->end() && i < m_maxNjets; it++, i++) {
131  if(std::abs(it->first->eta()) < 2.4)
132  {
133  reco::TrackRefVector tracks = it->second;
134  math::XYZVector jetMomentum = it->first->momentum();
135  math::XYZVector trMomentum;
136  for(reco::TrackRefVector::const_iterator itTrack = tracks.begin(); itTrack != tracks.end(); ++itTrack)
137  {
138  const reco::Track& iTrack = **itTrack;
139  if(m_newMethod && iTrack.chi2()>m_maxChi2) continue;
140  trMomentum += iTrack.momentum();
141  if(m_newMethod) trkpt += std::min(m_maxTrackPt,( iTrack.pt()));
142  else trkpt += iTrack.pt();
143  }
144  calopt += jetMomentum.rho();
145  if(trMomentum.rho()/jetMomentum.rho() < m_cutMinPtRatio || trMomentum.rho() < m_cutMinPt)
146  {
147  pOut->push_back(* dynamic_cast<const reco::CaloJet *>(&(*it->first)));
148  }
149  }
150  }
151  iEvent.put(pOut);
152 
155 
157  e(0, 0) = 0.0015 * 0.0015;
158  e(1, 1) = 0.0015 * 0.0015;
159  e(2, 2) = 1.5 * 1.5;
160  reco::Vertex::Point p(beamSpot->x0(), beamSpot->y0(), beamSpot->z0());
161  reco::Vertex thePV(p, e, 0, 0, 0);
162  std::auto_ptr<reco::VertexCollection> pOut2(new reco::VertexCollection);
163  pOut2->push_back(thePV);
164  iEvent.put(pOut2);
165 
166  if(m_doFilter) return result;
167  else
168  return true;
169 }
int i
Definition: DBlmapReader.cc:9
transient_vector_type::const_iterator const_iterator
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:446
math::Error< dimension >::type Error
covariance error matrix (3x3)
Definition: Vertex.h:43
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
const Vector & momentum() const
track momentum vector
Definition: TrackBase.h:723
const_iterator end() const
Termination of iteration.
Definition: RefVector.h:249
const_iterator begin() const
Initialize an iterator over the RefVector.
Definition: RefVector.h:244
double chi2() const
chi-squared of the fit
Definition: TrackBase.h:597
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
Definition: Event.h:113
double pt() const
track transverse momentum
Definition: TrackBase.h:669
tuple result
Definition: query.py:137
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
edm::EDGetTokenT< reco::BeamSpot > m_beamSpot
math::XYZPoint Point
point in the space
Definition: Vertex.h:39
T min(T a, T b)
Definition: MathUtil.h:58
tuple tracks
Definition: testEve_cfg.py:39
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:30
edm::EDGetTokenT< reco::JetTracksAssociationCollection > m_associator

Member Data Documentation

edm::EDGetTokenT<reco::JetTracksAssociationCollection> JetVertexChecker::m_associator
private

Definition at line 58 of file JetVertexChecker.cc.

Referenced by filter(), and JetVertexChecker().

edm::EDGetTokenT<reco::BeamSpot> JetVertexChecker::m_beamSpot
private

Definition at line 59 of file JetVertexChecker.cc.

Referenced by filter(), and JetVertexChecker().

double JetVertexChecker::m_cutMinPt
private

Definition at line 61 of file JetVertexChecker.cc.

Referenced by filter(), and JetVertexChecker().

double JetVertexChecker::m_cutMinPtRatio
private

Definition at line 62 of file JetVertexChecker.cc.

Referenced by filter(), and JetVertexChecker().

bool JetVertexChecker::m_doFilter
private

Definition at line 60 of file JetVertexChecker.cc.

Referenced by filter(), and JetVertexChecker().

double JetVertexChecker::m_maxChi2
private

Definition at line 64 of file JetVertexChecker.cc.

Referenced by filter(), and JetVertexChecker().

int32_t JetVertexChecker::m_maxNjets
private

Definition at line 65 of file JetVertexChecker.cc.

Referenced by filter(), and JetVertexChecker().

int32_t JetVertexChecker::m_maxNjetsOutput
private

Definition at line 66 of file JetVertexChecker.cc.

Referenced by JetVertexChecker().

double JetVertexChecker::m_maxTrackPt
private

Definition at line 63 of file JetVertexChecker.cc.

Referenced by filter(), and JetVertexChecker().

bool JetVertexChecker::m_newMethod
private

Definition at line 69 of file JetVertexChecker.cc.

Referenced by filter(), and JetVertexChecker().