#include <RecoMuon/TrackerSeedGenerator/interface/L1MuonRegionProducer.h>
Public Member Functions | |
L1MuonRegionProducer (const edm::ParameterSet &cfg) | |
virtual std::vector < TrackingRegion * > | regions (const edm::Event &ev, const edm::EventSetup &es) const |
void | setL1Constraint (const L1MuGMTCand &muon) |
virtual | ~L1MuonRegionProducer () |
Private Attributes | |
int | theChargeL1 |
double | theEtaL1 |
GlobalPoint | theOrigin |
double | theOriginHalfLength |
double | theOriginRadius |
double | thePhiL1 |
double | thePtL1 |
double | thePtMin |
Definition at line 12 of file L1MuonRegionProducer.h.
L1MuonRegionProducer::L1MuonRegionProducer | ( | const edm::ParameterSet & | cfg | ) |
Definition at line 11 of file L1MuonRegionProducer.cc.
References edm::ParameterSet::getParameter(), theOrigin, theOriginHalfLength, theOriginRadius, and thePtMin.
00011 { 00012 00013 edm::ParameterSet regionPSet = cfg.getParameter<edm::ParameterSet>("RegionPSet"); 00014 00015 thePtMin = regionPSet.getParameter<double>("ptMin"); 00016 theOriginRadius = regionPSet.getParameter<double>("originRadius"); 00017 theOriginHalfLength = regionPSet.getParameter<double>("originHalfLength"); 00018 theOrigin = GlobalPoint( regionPSet.getParameter<double>("originXPos"), 00019 regionPSet.getParameter<double>("originYPos"), 00020 regionPSet.getParameter<double>("originZPos")); 00021 }
virtual L1MuonRegionProducer::~L1MuonRegionProducer | ( | ) | [inline, virtual] |
std::vector< TrackingRegion * > L1MuonRegionProducer::regions | ( | const edm::Event & | ev, | |
const edm::EventSetup & | es | |||
) | const [virtual] |
Implements TrackingRegionProducer.
Definition at line 31 of file L1MuonRegionProducer.cc.
References funct::cos(), direction, L1MuonPixelTrackFitter::getBending(), L1MuonPixelTrackFitter::getBendingError(), HLT_VtxMuL3::result, funct::sin(), theChargeL1, theEtaL1, theOrigin, theOriginHalfLength, theOriginRadius, thePhiL1, and thePtMin.
Referenced by TSGFromL1Muon::produce().
00032 { 00033 double dx = cos(thePhiL1); 00034 double dy = sin(thePhiL1); 00035 double dz = sinh(theEtaL1); 00036 GlobalVector direction(dx,dy,dz); // muon direction 00037 00038 std::vector<TrackingRegion* > result; 00039 double bending = L1MuonPixelTrackFitter::getBending(1./thePtMin, theEtaL1, theChargeL1); 00040 bending = fabs(bending); 00041 double errBending = L1MuonPixelTrackFitter::getBendingError(1./thePtMin, theEtaL1); 00042 00043 result.push_back( 00044 new RectangularEtaPhiTrackingRegion( direction, theOrigin, 00045 thePtMin, theOriginRadius, theOriginHalfLength, 0.15, bending+3*errBending) ); 00046 00047 return result; 00048 }
void L1MuonRegionProducer::setL1Constraint | ( | const L1MuGMTCand & | muon | ) |
Definition at line 23 of file L1MuonRegionProducer.cc.
References L1MuGMTCand::charge(), L1MuGMTCand::etaValue(), L1MuGMTCand::phiValue(), theChargeL1, theEtaL1, and thePhiL1.
Referenced by TSGFromL1Muon::produce().
00024 { 00025 thePhiL1 = muon.phiValue()+0.021817; 00026 theEtaL1 = muon.etaValue(); 00027 theChargeL1 = muon.charge(); 00028 }
int L1MuonRegionProducer::theChargeL1 [private] |
Definition at line 27 of file L1MuonRegionProducer.h.
Referenced by regions(), and setL1Constraint().
double L1MuonRegionProducer::theEtaL1 [private] |
Definition at line 27 of file L1MuonRegionProducer.h.
Referenced by regions(), and setL1Constraint().
GlobalPoint L1MuonRegionProducer::theOrigin [private] |
Definition at line 24 of file L1MuonRegionProducer.h.
Referenced by L1MuonRegionProducer(), and regions().
double L1MuonRegionProducer::theOriginHalfLength [private] |
Definition at line 23 of file L1MuonRegionProducer.h.
Referenced by L1MuonRegionProducer(), and regions().
double L1MuonRegionProducer::theOriginRadius [private] |
Definition at line 23 of file L1MuonRegionProducer.h.
Referenced by L1MuonRegionProducer(), and regions().
double L1MuonRegionProducer::thePhiL1 [private] |
Definition at line 27 of file L1MuonRegionProducer.h.
Referenced by regions(), and setL1Constraint().
double L1MuonRegionProducer::thePtL1 [private] |
Definition at line 27 of file L1MuonRegionProducer.h.
double L1MuonRegionProducer::thePtMin [private] |
Definition at line 23 of file L1MuonRegionProducer.h.
Referenced by L1MuonRegionProducer(), and regions().