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

#include <L1MuonRegionProducer.h>

Inheritance diagram for L1MuonRegionProducer:
TrackingRegionProducer

Public Member Functions

 L1MuonRegionProducer (const edm::ParameterSet &cfg, edm::ConsumesCollector &&iC)
 
virtual std::vector
< std::unique_ptr
< TrackingRegion > > 
regions (const edm::Event &ev, const edm::EventSetup &es) const override
 
void setL1Constraint (const L1MuGMTCand &muon)
 
virtual ~L1MuonRegionProducer ()
 
- Public Member Functions inherited from TrackingRegionProducer
virtual ~TrackingRegionProducer ()
 

Private Attributes

int theChargeL1
 
double theEtaL1
 
GlobalPoint theOrigin
 
double theOriginHalfLength
 
double theOriginRadius
 
double thePhiL1
 
double thePtL1
 
double thePtMin
 

Detailed Description

Definition at line 13 of file L1MuonRegionProducer.h.

Constructor & Destructor Documentation

L1MuonRegionProducer::L1MuonRegionProducer ( const edm::ParameterSet cfg,
edm::ConsumesCollector &&  iC 
)

Definition at line 11 of file L1MuonRegionProducer.cc.

References edm::ParameterSet::getParameter().

12  {
13 
14  edm::ParameterSet regionPSet = cfg.getParameter<edm::ParameterSet>("RegionPSet");
15 
16  thePtMin = regionPSet.getParameter<double>("ptMin");
17  theOriginRadius = regionPSet.getParameter<double>("originRadius");
18  theOriginHalfLength = regionPSet.getParameter<double>("originHalfLength");
19  theOrigin = GlobalPoint( regionPSet.getParameter<double>("originXPos"),
20  regionPSet.getParameter<double>("originYPos"),
21  regionPSet.getParameter<double>("originZPos"));
22 }
T getParameter(std::string const &) const
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
virtual L1MuonRegionProducer::~L1MuonRegionProducer ( )
inlinevirtual

Definition at line 18 of file L1MuonRegionProducer.h.

18 {}

Member Function Documentation

std::vector< std::unique_ptr< TrackingRegion > > L1MuonRegionProducer::regions ( const edm::Event ev,
const edm::EventSetup es 
) const
overridevirtual

Implements TrackingRegionProducer.

Definition at line 32 of file L1MuonRegionProducer.cc.

References funct::cos(), L1MuonPixelTrackFitter::getBending(), L1MuonPixelTrackFitter::getBendingError(), mps_fire::result, and funct::sin().

Referenced by TSGFromL1Muon::produce().

33 {
34  double dx = cos(thePhiL1);
35  double dy = sin(thePhiL1);
36  double dz = sinh(theEtaL1);
37  GlobalVector direction(dx,dy,dz); // muon direction
38 
39  std::vector<std::unique_ptr<TrackingRegion> > result;
41  bending = fabs(bending);
43 
44  result.push_back(
45  std::make_unique<RectangularEtaPhiTrackingRegion>( direction, theOrigin,
46  thePtMin, theOriginRadius, theOriginHalfLength, 0.15, bending+3*errBending) );
47 
48  return result;
49 }
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
static double getBendingError(double invPt, double eta)
tuple result
Definition: mps_fire.py:84
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
static double getBending(double invPt, double eta, int charge)
void L1MuonRegionProducer::setL1Constraint ( const L1MuGMTCand muon)

Definition at line 24 of file L1MuonRegionProducer.cc.

References L1MuGMTCand::charge(), L1MuGMTCand::etaValue(), and L1MuGMTCand::phiValue().

Referenced by TSGFromL1Muon::produce().

25 {
26  thePhiL1 = muon.phiValue()+0.021817;
27  theEtaL1 = muon.etaValue();
28  theChargeL1 = muon.charge();
29 }
float etaValue() const
Definition: L1MuGMTCand.cc:114
float phiValue() const
Definition: L1MuGMTCand.cc:100
int charge() const
get charge (+1 -1)
Definition: L1MuGMTCand.h:135

Member Data Documentation

int L1MuonRegionProducer::theChargeL1
private

Definition at line 29 of file L1MuonRegionProducer.h.

double L1MuonRegionProducer::theEtaL1
private

Definition at line 29 of file L1MuonRegionProducer.h.

GlobalPoint L1MuonRegionProducer::theOrigin
private

Definition at line 26 of file L1MuonRegionProducer.h.

double L1MuonRegionProducer::theOriginHalfLength
private

Definition at line 25 of file L1MuonRegionProducer.h.

double L1MuonRegionProducer::theOriginRadius
private

Definition at line 25 of file L1MuonRegionProducer.h.

double L1MuonRegionProducer::thePhiL1
private

Definition at line 29 of file L1MuonRegionProducer.h.

double L1MuonRegionProducer::thePtL1
private

Definition at line 29 of file L1MuonRegionProducer.h.

double L1MuonRegionProducer::thePtMin
private

Definition at line 25 of file L1MuonRegionProducer.h.