CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
L1MuonRegionProducer.cc
Go to the documentation of this file.
2 
8 
9 using namespace std;
10 
12 
13  edm::ParameterSet regionPSet = cfg.getParameter<edm::ParameterSet>("RegionPSet");
14 
15  thePtMin = regionPSet.getParameter<double>("ptMin");
16  theOriginRadius = regionPSet.getParameter<double>("originRadius");
17  theOriginHalfLength = regionPSet.getParameter<double>("originHalfLength");
18  theOrigin = GlobalPoint( regionPSet.getParameter<double>("originXPos"),
19  regionPSet.getParameter<double>("originYPos"),
20  regionPSet.getParameter<double>("originZPos"));
21 }
22 
24 {
25  thePhiL1 = muon.phiValue()+0.021817;
26  theEtaL1 = muon.etaValue();
27  theChargeL1 = muon.charge();
28 }
29 
30 std::vector<std::unique_ptr<TrackingRegion> > L1MuonRegionProducer::regions() const
31 {
32  double dx = cos(thePhiL1);
33  double dy = sin(thePhiL1);
34  double dz = sinh(theEtaL1);
35  GlobalVector direction(dx,dy,dz); // muon direction
36 
37  std::vector<std::unique_ptr<TrackingRegion> > result;
38  double bending = L1MuonPixelTrackFitter::getBending(1./thePtMin, theEtaL1, theChargeL1);
39  bending = fabs(bending);
40  double errBending = L1MuonPixelTrackFitter::getBendingError(1./thePtMin, theEtaL1);
41 
42  result.push_back(
43  std::make_unique<RectangularEtaPhiTrackingRegion>( direction, theOrigin,
44  thePtMin, theOriginRadius, theOriginHalfLength, 0.15, bending+3*errBending) );
45 
46  return result;
47 }
48 
49 
50 
51 
float etaValue() const
Definition: L1MuGMTCand.cc:114
T getParameter(std::string const &) const
float phiValue() const
Definition: L1MuGMTCand.cc:100
tuple cfg
Definition: looper.py:293
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
static double getBendingError(double invPt, double eta)
L1MuonRegionProducer(const edm::ParameterSet &cfg)
tuple result
Definition: mps_fire.py:84
std::vector< std::unique_ptr< TrackingRegion > > regions() const
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
static double getBending(double invPt, double eta, int charge)
void setL1Constraint(const L1MuGMTCand &muon)
int charge() const
get charge (+1 -1)
Definition: L1MuGMTCand.h:135