#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 94 of file AngleConverter.cc.
AngleConverter::~AngleConverter | ( | ) |
Definition at line 97 of file AngleConverter.cc.
void AngleConverter::checkAndUpdateGeometry | ( | const edm::EventSetup & | es, |
unsigned int | phiBins | ||
) |
Update the Geometry with current Event Setup.
Definition at line 100 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 419 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 257 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 317 of file AngleConverter.cc.
References _geocsc, CSCGeometry::chamber(), CSCPatternLUT::get2007Position(), CSCCorrelatedLCTDigi::getKeyWG(), CSCCorrelatedLCTDigi::getPattern(), CSCCorrelatedLCTDigi::getStrip(), hcalTTPDigis_cfi::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 394 of file AngleConverter.cc.
References _georpc, PV3DBase< T, PVType, FrameType >::eta(), runTauDisplay::gp, hcalTTPDigis_cfi::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 115 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 149 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 231 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 203 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 410 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().