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
TrackingRegionsFromBeamSpotAndL2Tau Class Reference

#include <TrackingRegionsFromBeamSpotAndL2Tau.h>

Inheritance diagram for TrackingRegionsFromBeamSpotAndL2Tau:
TrackingRegionProducer

Public Member Functions

virtual std::vector
< std::unique_ptr
< TrackingRegion > > 
regions (const edm::Event &e, const edm::EventSetup &es) const override
 
 TrackingRegionsFromBeamSpotAndL2Tau (const edm::ParameterSet &conf, edm::ConsumesCollector &&iC)
 
virtual ~TrackingRegionsFromBeamSpotAndL2Tau ()
 
- Public Member Functions inherited from TrackingRegionProducer
virtual ~TrackingRegionProducer ()
 

Private Attributes

float m_deltaEta
 
float m_deltaPhi
 
float m_jetMaxEta
 
int m_jetMaxN
 
float m_jetMinPt
 
float m_originHalfLength
 
float m_originRadius
 
bool m_precise
 
float m_ptMin
 
bool m_searchOpt
 
RectangularEtaPhiTrackingRegion::UseMeasurementTracker m_whereToUseMeasurementTracker
 
edm::EDGetTokenT< reco::BeamSpottoken_beamSpot
 
edm::EDGetTokenT
< reco::CandidateView
token_jet
 
edm::EDGetTokenT
< MeasurementTrackerEvent
token_measurementTracker
 

Detailed Description

class TrackingRegionsFromBeamSpotAndL2Tau plugin for creating eta-phi TrackingRegions in directions of L2 taus

Definition at line 25 of file TrackingRegionsFromBeamSpotAndL2Tau.h.

Constructor & Destructor Documentation

TrackingRegionsFromBeamSpotAndL2Tau::TrackingRegionsFromBeamSpotAndL2Tau ( const edm::ParameterSet conf,
edm::ConsumesCollector &&  iC 
)
inlineexplicit

Definition at line 29 of file TrackingRegionsFromBeamSpotAndL2Tau.h.

References edm::ParameterSet::exists(), edm::ParameterSet::getParameter(), RectangularEtaPhiTrackingRegion::kNever, m_deltaEta, m_deltaPhi, m_jetMaxEta, m_jetMaxN, m_jetMinPt, m_originHalfLength, m_originRadius, m_precise, m_ptMin, m_searchOpt, m_whereToUseMeasurementTracker, AlCaHLTBitMon_QueryRunRegistry::string, RectangularEtaPhiTrackingRegion::stringToUseMeasurementTracker(), token_beamSpot, token_jet, and token_measurementTracker.

31  {
32  edm::LogInfo ("TrackingRegionsFromBeamSpotAndL2Tau") << "Enter the TrackingRegionsFromBeamSpotAndL2Tau";
33 
34  edm::ParameterSet regionPSet = conf.getParameter<edm::ParameterSet>("RegionPSet");
35 
36  m_ptMin = regionPSet.getParameter<double>("ptMin");
37  m_originRadius = regionPSet.getParameter<double>("originRadius");
38  m_originHalfLength = regionPSet.getParameter<double>("originHalfLength");
39  m_deltaEta = regionPSet.getParameter<double>("deltaEta");
40  m_deltaPhi = regionPSet.getParameter<double>("deltaPhi");
42  m_jetMinPt = regionPSet.getParameter<double>("JetMinPt");
43  m_jetMaxEta = regionPSet.getParameter<double>("JetMaxEta");
44  m_jetMaxN = regionPSet.getParameter<int>("JetMaxN");
45  token_beamSpot = iC.consumes<reco::BeamSpot>(regionPSet.getParameter<edm::InputTag>("beamSpot"));
46  m_precise = regionPSet.getParameter<bool>("precise");
47 
48  if (regionPSet.exists("searchOpt")) m_searchOpt = regionPSet.getParameter<bool>("searchOpt");
49  else m_searchOpt = false;
50 
51  m_whereToUseMeasurementTracker = RectangularEtaPhiTrackingRegion::stringToUseMeasurementTracker(regionPSet.getParameter<std::string>("whereToUseMeasurementTracker"));
53  token_measurementTracker = iC.consumes<MeasurementTrackerEvent>(regionPSet.getParameter<edm::InputTag>("measurementTrackerName"));
54  }
55  }
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
T getParameter(std::string const &) const
RectangularEtaPhiTrackingRegion::UseMeasurementTracker m_whereToUseMeasurementTracker
edm::EDGetTokenT< MeasurementTrackerEvent > token_measurementTracker
static UseMeasurementTracker stringToUseMeasurementTracker(const std::string &name)
edm::EDGetTokenT< reco::CandidateView > token_jet
virtual TrackingRegionsFromBeamSpotAndL2Tau::~TrackingRegionsFromBeamSpotAndL2Tau ( )
inlinevirtual

Definition at line 57 of file TrackingRegionsFromBeamSpotAndL2Tau.h.

57 {}

Member Function Documentation

virtual std::vector<std::unique_ptr<TrackingRegion> > TrackingRegionsFromBeamSpotAndL2Tau::regions ( const edm::Event e,
const edm::EventSetup es 
) const
inlineoverridevirtual

Implements TrackingRegionProducer.

Definition at line 60 of file TrackingRegionsFromBeamSpotAndL2Tau.h.

References funct::abs(), reco::Candidate::eta(), edm::Event::getByToken(), i, edm::EDGetTokenT< T >::isUninitialized(), edm::HandleBase::isValid(), metsig::jet, m_deltaEta, m_deltaPhi, m_jetMaxEta, m_jetMaxN, m_jetMinPt, m_originHalfLength, m_originRadius, m_precise, m_ptMin, m_searchOpt, m_whereToUseMeasurementTracker, HLT_FULL_cff::measurementTracker, reco::Candidate::momentum(), edm::Handle< T >::product(), reco::Candidate::pt(), query::result, token_beamSpot, token_jet, token_measurementTracker, reco::BeamSpot::x0(), reco::BeamSpot::y0(), and reco::BeamSpot::z0().

61  {
62  std::vector<std::unique_ptr<TrackingRegion> > result;
63 
64  // use beam spot to pick up the origin
66  e.getByToken( token_beamSpot, bsHandle);
67  if(!bsHandle.isValid()) return result;
68  const reco::BeamSpot & bs = *bsHandle;
69  GlobalPoint origin(bs.x0(), bs.y0(), bs.z0());
70 
71  // pick up the candidate objects of interest
73  e.getByToken( token_jet, objects );
74  size_t n_objects = objects->size();
75  if (n_objects == 0) return result;
76 
81  measurementTracker = hmte.product();
82  }
83 
84  // create maximum JetMaxN tracking regions in directions of
85  // highest pt jets that are above threshold and are within allowed eta
86  // (we expect that jet collection was sorted in decreasing pt order)
87  int n_regions = 0;
88  for (size_t i =0; i < n_objects && n_regions < m_jetMaxN; ++i)
89  {
90  const reco::Candidate & jet = (*objects)[i];
91  if ( jet.pt() < m_jetMinPt || std::abs(jet.eta()) > m_jetMaxEta ) continue;
92 
93  GlobalVector direction(jet.momentum().x(), jet.momentum().y(), jet.momentum().z());
94 
95  result.push_back(std::make_unique<RectangularEtaPhiTrackingRegion>(
96  direction,
97  origin,
98  m_ptMin,
101  m_deltaEta,
102  m_deltaPhi,
104  m_precise,
105  measurementTracker,
107  ));
108  ++n_regions;
109  }
110  //std::cout<<"nregions = "<<n_regions<<std::endl;
111  return result;
112  }
double z0() const
z coordinate
Definition: BeamSpot.h:68
int i
Definition: DBlmapReader.cc:9
RectangularEtaPhiTrackingRegion::UseMeasurementTracker m_whereToUseMeasurementTracker
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:462
virtual double pt() const =0
transverse momentum
tuple measurementTracker
edm::EDGetTokenT< MeasurementTrackerEvent > token_measurementTracker
edm::EDGetTokenT< reco::CandidateView > token_jet
virtual Vector momentum() const =0
spatial momentum vector
tuple result
Definition: query.py:137
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
bool isValid() const
Definition: HandleBase.h:75
T const * product() const
Definition: Handle.h:81
double y0() const
y coordinate
Definition: BeamSpot.h:66
bool isUninitialized() const
Definition: EDGetToken.h:73
virtual double eta() const =0
momentum pseudorapidity
double x0() const
x coordinate
Definition: BeamSpot.h:64

Member Data Documentation

float TrackingRegionsFromBeamSpotAndL2Tau::m_deltaEta
private
float TrackingRegionsFromBeamSpotAndL2Tau::m_deltaPhi
private
float TrackingRegionsFromBeamSpotAndL2Tau::m_jetMaxEta
private
int TrackingRegionsFromBeamSpotAndL2Tau::m_jetMaxN
private
float TrackingRegionsFromBeamSpotAndL2Tau::m_jetMinPt
private
float TrackingRegionsFromBeamSpotAndL2Tau::m_originHalfLength
private
float TrackingRegionsFromBeamSpotAndL2Tau::m_originRadius
private
bool TrackingRegionsFromBeamSpotAndL2Tau::m_precise
private
float TrackingRegionsFromBeamSpotAndL2Tau::m_ptMin
private
bool TrackingRegionsFromBeamSpotAndL2Tau::m_searchOpt
private
RectangularEtaPhiTrackingRegion::UseMeasurementTracker TrackingRegionsFromBeamSpotAndL2Tau::m_whereToUseMeasurementTracker
private
edm::EDGetTokenT<reco::BeamSpot> TrackingRegionsFromBeamSpotAndL2Tau::token_beamSpot
private
edm::EDGetTokenT<reco::CandidateView> TrackingRegionsFromBeamSpotAndL2Tau::token_jet
private
edm::EDGetTokenT<MeasurementTrackerEvent> TrackingRegionsFromBeamSpotAndL2Tau::token_measurementTracker
private