#include <AngleConverter.h>
Public Member Functions | |
AngleConverter () | |
void | checkAndUpdateGeometry (const edm::EventSetup &, unsigned int) |
Update the Geometry with current Event Setup. More... | |
int | getGlobalEta (unsigned int rawid, const L1MuDTChambPhDigi &aDigi, const L1MuDTChambThContainer *dtThDigis) |
Convert local eta coordinate to global digital microGMT scale. More... | |
int | getGlobalEta (unsigned int rawid, const CSCCorrelatedLCTDigi &aDigi) |
Convert local eta coordinate to global digital microGMT scale. More... | |
int | getGlobalEta (unsigned int rawid, const unsigned int &aDigi) |
Convert local eta coordinate to global digital microGMT scale. More... | |
int | getProcessorPhi (unsigned int iProcessor, l1t::tftype part, const L1MuDTChambPhDigi &digi) const |
int | getProcessorPhi (unsigned int iProcessor, l1t::tftype part, const CSCDetId &csc, const CSCCorrelatedLCTDigi &digi) const |
int | getProcessorPhi (unsigned int iProcessor, l1t::tftype part, const RPCDetId &rollId, const unsigned int &digi) const |
int | getProcessorPhi (unsigned int iProcessor, l1t::tftype part, const RPCDetId &rollId, const unsigned int &digi1, const unsigned int &digi2) const |
~AngleConverter () | |
Private Member Functions | |
const int | findBTIgroup (const L1MuDTChambPhDigi &aDigi, const L1MuDTChambThContainer *dtThDigis) |
Find BTI group. More... | |
bool | isCSCCounterClockwise (const std::unique_ptr< const CSCLayer > &layer) const |
Check orientation of strips in given CSC chamber. More... | |
Private Attributes | |
edm::ESHandle< CSCGeometry > | _geocsc |
edm::ESHandle< DTGeometry > | _geodt |
unsigned long long | _geom_cache_id |
edm::ESHandle< RPCGeometry > | _georpc |
unsigned int | nPhiBins |
Number of phi bins along 2Pi. More... | |
Definition at line 27 of file AngleConverter.h.
AngleConverter::AngleConverter | ( | ) |
Definition at line 108 of file AngleConverter.cc.
AngleConverter::~AngleConverter | ( | ) |
Definition at line 111 of file AngleConverter.cc.
void AngleConverter::checkAndUpdateGeometry | ( | const edm::EventSetup & | es, |
unsigned int | phiBins | ||
) |
Update the Geometry with current Event Setup.
Definition at line 114 of file AngleConverter.cc.
References _geocsc, _geodt, _geom_cache_id, _georpc, edm::eventsetup::EventSetupRecord::cacheIdentifier(), relativeConstraints::geom, edm::EventSetup::get(), edm::eventsetup::EventSetupRecord::get(), and nPhiBins.
Referenced by OMTFinputMaker::initialize().
|
private |
Find BTI group.
If there are more than one theta digi we do not take is due to unresolvet ambiguity. In this case we take eta of the middle of the chamber.
Definition at line 438 of file AngleConverter.cc.
References L1MuDTChambPhDigi::bxNum(), L1MuDTChambThContainer::chThetaSegm(), mps_fire::i, L1MuDTChambThDigi::position(), L1MuDTChambPhDigi::scNum(), L1MuDTChambPhDigi::stNum(), and L1MuDTChambPhDigi::whNum().
int AngleConverter::getGlobalEta | ( | unsigned int | rawid, |
const L1MuDTChambPhDigi & | aDigi, | ||
const L1MuDTChambThContainer * | dtThDigis | ||
) |
Convert local eta coordinate to global digital microGMT scale.
Definition at line 276 of file AngleConverter.cc.
References _geodt, L1MuDTChambPhDigi::bxNum(), DTGeometry::chamber(), L1MuDTChambThContainer::chThetaSegm(), PV3DBase< T, PVType, FrameType >::eta(), mps_fire::i, L1MuDTChambThDigi::position(), L1MuDTChambPhDigi::scNum(), FWPFMaths::sgn(), L1MuDTChambPhDigi::stNum(), and L1MuDTChambPhDigi::whNum().
Referenced by OMTFinputMaker::processCSC(), OMTFinputMaker::processDT(), and OMTFinputMaker::processRPC().
int AngleConverter::getGlobalEta | ( | unsigned int | rawid, |
const CSCCorrelatedLCTDigi & | aDigi | ||
) |
Convert local eta coordinate to global digital microGMT scale.
Code taken from GeometryTranslator.
Will be replaced by direct CSC phi local to global scale transformation as used in FPGA implementation
Definition at line 336 of file AngleConverter.cc.
References _geocsc, CSCGeometry::chamber(), CSCPatternLUT::get2007Position(), CSCCorrelatedLCTDigi::getKeyWG(), CSCCorrelatedLCTDigi::getPattern(), CSCCorrelatedLCTDigi::getStrip(), triggerObjects_cff::id, isCSCCounterClockwise(), CSCConstants::KEY_ALCT_LAYER, PV3DBase< T, PVType, FrameType >::mag(), PFRecoTauDiscriminationByIsolation_cfi::offset, listBenchmarks::pattern, PV3DBase< T, PVType, FrameType >::phi(), digi_MixPreMix_cfi::strip, and PV3DBase< T, PVType, FrameType >::theta().
int AngleConverter::getGlobalEta | ( | unsigned int | rawid, |
const unsigned int & | aDigi | ||
) |
Convert local eta coordinate to global digital microGMT scale.
Definition at line 413 of file AngleConverter.cc.
References _georpc, PV3DBase< T, PVType, FrameType >::eta(), runTauDisplay::gp, triggerObjects_cff::id, isCSCCounterClockwise(), and RPCGeometry::roll().
int AngleConverter::getProcessorPhi | ( | unsigned int | iProcessor, |
l1t::tftype | part, | ||
const L1MuDTChambPhDigi & | digi | ||
) | const |
get phi of DT,CSC and RPC azimutal angle digi in processor scale, used by OMTF algorithm. in case of wrong phi returns OMTFConfiguration::instance()->nPhiBins
Definition at line 129 of file AngleConverter.cc.
References M_PI, nPhiBins, l1t::omtf_pos, phi, L1MuDTChambPhDigi::phi(), funct::pow(), Scenarios_cff::scale, L1MuDTChambPhDigi::scNum(), relativeConstraints::station, L1MuDTChambPhDigi::stNum(), makeMuonMisalignmentScenario::wheel, and L1MuDTChambPhDigi::whNum().
Referenced by OMTFinputMaker::processCSC(), OMTFinputMaker::processDT(), and OMTFinputMaker::processRPC().
int AngleConverter::getProcessorPhi | ( | unsigned int | iProcessor, |
l1t::tftype | part, | ||
const CSCDetId & | csc, | ||
const CSCCorrelatedLCTDigi & | digi | ||
) | const |
Definition at line 163 of file AngleConverter.cc.
References _geocsc, CSCLayer::centerOfStrip(), relativeConstraints::chamber, CSCDetId::chamber(), CSCGeometry::chamber(), CSCCorrelatedLCTDigi::getStrip(), CSCChamber::layer(), M_PI, nPhiBins, l1t::omtf_pos, phi, PV3DBase< T, PVType, FrameType >::phi(), CSCDetId::ring(), Scenarios_cff::scale, CSCChamber::specs(), CSCDetId::station(), CSCChamberSpecs::stripPhiPitch(), and CSCDetId::zendcap().
int AngleConverter::getProcessorPhi | ( | unsigned int | iProcessor, |
l1t::tftype | part, | ||
const RPCDetId & | rollId, | ||
const unsigned int & | digi | ||
) | const |
Definition at line 250 of file AngleConverter.cc.
References _georpc, RPCRoll::centreOfStrip(), M_PI, nPhiBins, RPCGeometry::roll(), and GeomDet::toGlobal().
int AngleConverter::getProcessorPhi | ( | unsigned int | iProcessor, |
l1t::tftype | part, | ||
const RPCDetId & | rollId, | ||
const unsigned int & | digi1, | ||
const unsigned int & | digi2 | ||
) | const |
Definition at line 222 of file AngleConverter.cc.
References _georpc, RPCRoll::centreOfStrip(), M_PI, nPhiBins, RPCGeometry::roll(), and GeomDet::toGlobal().
|
private |
Check orientation of strips in given CSC chamber.
Definition at line 429 of file AngleConverter.cc.
References funct::abs(), and M_PI.
Referenced by getGlobalEta().
|
private |
Definition at line 65 of file AngleConverter.h.
Referenced by checkAndUpdateGeometry(), getGlobalEta(), and getProcessorPhi().
|
private |
Definition at line 66 of file AngleConverter.h.
Referenced by checkAndUpdateGeometry(), and getGlobalEta().
|
private |
Definition at line 63 of file AngleConverter.h.
Referenced by checkAndUpdateGeometry().
|
private |
Definition at line 64 of file AngleConverter.h.
Referenced by checkAndUpdateGeometry(), getGlobalEta(), and getProcessorPhi().
|
private |
Number of phi bins along 2Pi.
Definition at line 69 of file AngleConverter.h.
Referenced by checkAndUpdateGeometry(), and getProcessorPhi().