CMS 3D CMS Logo

CSCDetId Class Reference

Identifier class for hierarchy of Endcap Muon detector components. More...

#include <DataFormats/MuonDetId/interface/CSCDetId.h>

Inheritance diagram for CSCDetId:

DetId

List of all members.

Public Member Functions

int chamber () const
 Return Chamber label.
CSCDetId chamberId () const
 Chamber CSCDetId from a Layer CSCDetId.
 CSCDetId (const CSCDetId &id)
 Copy ctor.
 CSCDetId (int iendcap, int istation, int iring, int ichamber, int ilayer=0)
 Construct from fully qualified identifier.
 CSCDetId (DetId id)
 CSCDetId (uint32_t id)
 Construct from a packed id.
 CSCDetId ()
 Default constructor; fills the common part in the base and leaves 0 in all other fields.
int endcap () const
 Return Endcap label.
unsigned short iChamberType ()
 Chamber type (integer 1-10).
int layer () const
 Return Layer label.
int ring () const
 Return Ring label.
int station () const
 Return Station label.
int triggerCscId () const
 Return trigger-level CSC id within a sector for an Endcap Muon chamber.
int triggerSector () const
 Return trigger-level sector id for an Endcap Muon chamber.
short int zendcap () const
 What is the sign of global z?

Static Public Member Functions

static int chamber (int index)
 Return Chamber label for supplied CSCDetId index.
static int endcap (int index)
 Return Endcap label for supplied CSCDetId index.
static unsigned short iChamberType (unsigned short istation, unsigned short iring)
 Return a unique integer 1-10 for a station, ring pair: 1 for S = 1 and R=4 inner strip part of ME11 (ME1a) 2,3,4 = R+1 for S = 1 and R = 1,2,3 (ME11 means ME1b) 5-10 = 2*S+R for S = 2,3,4 and R = 1,2.
static int layer (int index)
 Return Layer label for supplied CSCDetId index.
static int maxChamberId ()
static int maxEndcapId ()
static int maxLayerId ()
static int maxRingId ()
static int maxStationId ()
static int minChamberId ()
static int minEndcapId ()
 Lower and upper counts for the subdetector hierarchy.
static int minLayerId ()
static int minRingId ()
static int minStationId ()
static int rawIdMaker (int iendcap, int istation, int iring, int ichamber, int ilayer)
 Returns the unique integer 'rawId' which labels each CSC layer.
static int ring (int index)
 Return Ring label for supplied CSCDetId index.
static int station (int index)
 Return Station label for supplied CSCDetId index.

Private Types

enum  eMaskBitDet {
  MASK_ENDCAP = 07, MASK_STATION = 07, MASK_RING = 07, MASK_CHAMBER = 077,
  MASK_LAYER = 07
}
enum  eMaxNum {
  MAX_ENDCAP = 2, MAX_STATION = 4, MAX_RING = 4, MAX_CHAMBER = 36,
  MAX_LAYER = 6
}
enum  eMinNum {
  MIN_ENDCAP = 1, MIN_STATION = 1, MIN_RING = 1, MIN_CHAMBER = 1,
  MIN_LAYER = 1
}
enum  eNumBitDet {
  BITS_ENDCAP = 3, BITS_STATION = 3, BITS_RING = 3, BITS_CHAMBER = 6,
  BITS_LAYER = 3
}
enum  eStartBitDet { START_CHAMBER = BITS_LAYER, START_RING = START_CHAMBER+BITS_CHAMBER, START_STATION = START_RING+BITS_RING, START_ENDCAP = START_STATION+BITS_STATION }

Static Private Member Functions

static int detIdToInt (int iring)
static uint32_t init (int iendcap, int istation, int iring, int ichamber, int ilayer)
 Method for initialization within ctors.
static int intToDetId (int iring)
 Methods for reordering CSCDetId for ME1 detectors.


Detailed Description

Identifier class for hierarchy of Endcap Muon detector components.

Ported from MuEndDetectorId but now derived from DetId and updated accordingly.

Allows access to hardware integer labels of the subcomponents of the Muon Endcap CSC detector system.

The STATIC member functions can be used to translate back and forth between a layer/chamber 'rawId' and the set of subdetector labels.

Warning:
EVERY LABEL COUNTS FROM ONE NOT ZERO.

Definition at line 27 of file CSCDetId.h.


Member Enumeration Documentation

enum CSCDetId::eMaskBitDet [private]

Enumerator:
MASK_ENDCAP 
MASK_STATION 
MASK_RING 
MASK_CHAMBER 
MASK_LAYER 

Definition at line 292 of file CSCDetId.h.

00292 { MASK_ENDCAP=07, MASK_STATION=07, MASK_RING=07, MASK_CHAMBER=077, MASK_LAYER=07 };

enum CSCDetId::eMaxNum [private]

Enumerator:
MAX_ENDCAP 
MAX_STATION 
MAX_RING 
MAX_CHAMBER 
MAX_LAYER 

Definition at line 283 of file CSCDetId.h.

enum CSCDetId::eMinNum [private]

Enumerator:
MIN_ENDCAP 
MIN_STATION 
MIN_RING 
MIN_CHAMBER 
MIN_LAYER 

Definition at line 285 of file CSCDetId.h.

enum CSCDetId::eNumBitDet [private]

Enumerator:
BITS_ENDCAP 
BITS_STATION 
BITS_RING 
BITS_CHAMBER 
BITS_LAYER 

Definition at line 289 of file CSCDetId.h.

enum CSCDetId::eStartBitDet [private]

Enumerator:
START_CHAMBER 
START_RING 
START_STATION 
START_ENDCAP 

Definition at line 295 of file CSCDetId.h.


Constructor & Destructor Documentation

CSCDetId::CSCDetId (  ) 

Default constructor; fills the common part in the base and leaves 0 in all other fields.

Definition at line 5 of file CSCDetId.cc.

Referenced by chamberId().

CSCDetId::CSCDetId ( uint32_t  id  ) 

Construct from a packed id.

It is required that the Detector part of id is Muon and the SubDet part is CSC, otherwise an exception is thrown.

Definition at line 8 of file CSCDetId.cc.

References MuonSubdetId::CSC, DetId::det(), Exception, DetId::Muon, and DetId::subdetId().

00008                              :DetId(id) {
00009   if (det()!=DetId::Muon || subdetId()!=MuonSubdetId::CSC) {
00010     throw cms::Exception("InvalidDetId") << "CSCDetId ctor:"
00011                                          << " det: " << det()
00012                                          << " subdet: " << subdetId()
00013                                          << " is not a valid CSC id";  
00014   }
00015 }

CSCDetId::CSCDetId ( DetId  id  ) 

Definition at line 17 of file CSCDetId.cc.

References MuonSubdetId::CSC, DetId::det(), Exception, DetId::Muon, and DetId::subdetId().

00017                           :DetId(id) {
00018   if (det()!=DetId::Muon || subdetId()!=MuonSubdetId::CSC) {
00019     throw cms::Exception("InvalidDetId") << "CSCDetId ctor:"
00020                                          << " det: " << det()
00021                                          << " subdet: " << subdetId()
00022                                          << " is not a valid CSC id";  
00023   }
00024 }

CSCDetId::CSCDetId ( int  iendcap,
int  istation,
int  iring,
int  ichamber,
int  ilayer = 0 
)

Construct from fully qualified identifier.

Input values are required to be within legal ranges, otherwise an exception is thrown.
iendcap: 1=forward (+Z), 2=backward(-Z)

Definition at line 26 of file CSCDetId.cc.

References lat::endl(), Exception, DetId::id_, init(), MAX_CHAMBER, MAX_ENDCAP, MAX_LAYER, MAX_RING, and MAX_STATION.

00027                                  : 
00028   DetId(DetId::Muon, MuonSubdetId::CSC) 
00029 {    
00030   if (iendcap  < 0 || iendcap  > MAX_ENDCAP ||
00031       istation < 0 || istation > MAX_STATION ||
00032       iring    < 0 || iring    > MAX_RING ||
00033       ichamber < 0 || ichamber > MAX_CHAMBER ||
00034       ilayer   < 0 || ilayer   > MAX_LAYER ) {
00035     throw cms::Exception("InvalidDetId") << "CSCDetId ctor:" 
00036                                          << " Invalid parameters: " 
00037                                          << " E:"<< iendcap
00038                                          << " S:"<< istation
00039                                          << " R:"<< iring
00040                                          << " C:"<< ichamber
00041                                          << " L:"<< ilayer   
00042                                          << std::endl;
00043   }
00044   id_ |= init(iendcap, istation, iring, ichamber, ilayer);
00045 }

CSCDetId::CSCDetId ( const CSCDetId id  )  [inline]

Copy ctor.

Definition at line 50 of file CSCDetId.h.

00051      : DetId(id.id_) { }  


Member Function Documentation

static int CSCDetId::chamber ( int  index  )  [inline, static]

Return Chamber label for supplied CSCDetId index.

Definition at line 147 of file CSCDetId.h.

References MASK_CHAMBER, and START_CHAMBER.

00147                                    {
00148      return (  (index>>START_CHAMBER) & MASK_CHAMBER ); }

int CSCDetId::chamber (  )  const [inline]

Return Chamber label.

Definition at line 70 of file CSCDetId.h.

References DetId::id_, MASK_CHAMBER, and START_CHAMBER.

Referenced by CSCOfflineMonitor::analyze(), CSCEfficiency::analyze(), RPCEfficiency::analyze(), MuonAlignmentAnalyzer::analyze(), VisEventSetupService::annotateCSCChambers(), AlignmentMonitorMuonHIP::bookByAli(), CSCRecHitDBuilder::build(), CSCGeometryBuilderFromDDD::buildChamber(), VisEventSetupService::buildCSCChambers(), CSCGeometryBuilderFromDDD::buildEndcaps(), AlignmentMonitorMuonHIP::createPythonGeometry(), CSCDetCmp(), VisEventSetupService::cscTextRep(), CSCReadoutMapping::detId(), CSCDigitizer::doAction(), CSCSkim::doCSCSkimming(), CSCValidation::doEfficiencies(), CSCSkim::doMessyEventSkimming(), CSCValidation::doOccupancies(), CSCValidation::doRecHits(), HLTCSCOverlapFilter::filter(), CSCDigiToRaw::findEventData(), CSCValidation::findNonAssociatedRecHits(), CSCMonitorModule::getCSCFromMap(), cscdqm::EventProcessor::getCSCFromMap(), TAMuonChamberMatch::info(), DetIdInfo::info(), MuonSegmentMatcher::matchCSC(), MuonHIPAlignmentRefitter::produce(), AlignmentCSCOverlapSelector::select(), triggerCscId(), and triggerSector().

00070                        {
00071      return (  (id_>>START_CHAMBER) & MASK_CHAMBER ); }

CSCDetId CSCDetId::chamberId (  )  const [inline]

Chamber CSCDetId from a Layer CSCDetId.

Definition at line 55 of file CSCDetId.h.

References CSCDetId(), DetId::id_, and layer().

Referenced by MuonIdProducer::chamberId(), AlignmentMonitorMuonResiduals::event(), CSCSegmentValidation::fillLayerHitsPerChamber(), CSCDigiToRaw::findEventData(), CSCDetIdSameDetLayerCompare::operator()(), CSCDetIdSameChamberCompare::operator()(), and CSCDetIdSameChamberComparator::operator()().

00055                              {
00056     // build chamber id by removing layer bits
00057     return CSCDetId( id_ - layer() ) ; }

static int CSCDetId::detIdToInt ( int  iring  )  [inline, static, private]

Definition at line 271 of file CSCDetId.h.

References i.

Referenced by ring().

00271                                    {
00272     // reverse intToDetId: change 1, 2, 3, 4 inside the DetId to 4, 1, 2, 3 for external use
00273     // i.e. output ring # 1, 2, 3, 4 in ME1 means ME1b, ME12, ME13, ME1a as usual in the offline software.
00274     int i = (iring-1);
00275     if (i == 0)
00276       i = 4;
00277     return i;
00278   }

static int CSCDetId::endcap ( int  index  )  [inline, static]

Return Endcap label for supplied CSCDetId index.

Definition at line 172 of file CSCDetId.h.

References MASK_ENDCAP, and START_ENDCAP.

00172                                   {
00173      return (  (index>>START_ENDCAP) & MASK_ENDCAP ); }

int CSCDetId::endcap (  )  const [inline]

Return Endcap label.

1=forward (+Z); 2=backward (-Z)

Definition at line 95 of file CSCDetId.h.

References DetId::id_, MASK_ENDCAP, and START_ENDCAP.

Referenced by CSCDigiToRaw::add(), CSCOfflineMonitor::analyze(), CSCEfficiency::analyze(), RPCEfficiency::analyze(), MuonAlignmentAnalyzer::analyze(), VisEventSetupService::annotateCSCChambers(), AlignmentMonitorMuonHIP::bookByAli(), CSCRecHitDBuilder::build(), CSCGeometryBuilderFromDDD::buildChamber(), VisEventSetupService::buildCSCChambers(), AlignableMuon::buildCSCEndcap(), CSCGeometryBuilderFromDDD::buildEndcaps(), CSCCLCTData::comparatorDigis(), AlignmentMonitorMuonHIP::createPythonGeometry(), CSCDetCmp(), VisEventSetupService::cscTextRep(), CSCReadoutMapping::detId(), CSCCFEBData::digis(), CSCDigitizer::doAction(), CSCSkim::doCSCSkimming(), CSCValidation::doEfficiencies(), CSCSkim::doMessyEventSkimming(), CSCValidation::doOccupancies(), CSCValidation::doRecHits(), csc::L1TrackId::endcap(), AlignmentMonitorMuonResiduals::event(), AlignmentMonitorMuonPositions::fill(), HLTCSCOverlapFilter::filter(), CSCDigiToRaw::findEventData(), CSCValidation::findNonAssociatedRecHits(), CSCMonitorModule::getCSCFromMap(), cscdqm::EventProcessor::getCSCFromMap(), DetIdInfo::info(), TAMuonChamberMatch::info(), MuonSegmentMatcher::matchCSC(), CSCDetIdSameDetLayerComparator::operator()(), CSCDetIdSameDetLayerCompare::operator()(), MuonHIPAlignmentRefitter::produce(), MuonSimHitProducer::produce(), AlignmentCSCBeamHaloSelector::select(), AlignmentCSCOverlapSelector::select(), and zendcap().

00095                       {
00096      return (  (id_>>START_ENDCAP) & MASK_ENDCAP ); }

unsigned short CSCDetId::iChamberType ( unsigned short  istation,
unsigned short  iring 
) [static]

Return a unique integer 1-10 for a station, ring pair: 1 for S = 1 and R=4 inner strip part of ME11 (ME1a) 2,3,4 = R+1 for S = 1 and R = 1,2,3 (ME11 means ME1b) 5-10 = 2*S+R for S = 2,3,4 and R = 1,2.

Definition at line 100 of file CSCDetId.cc.

References i.

00100                                                                                      {
00101   int i = 2 * istation + iring; // i=2S+R ok for S=2, 3, 4
00102   if ( istation == 1 ) {
00103     --i;                       // ring 1R -> i=1+R (2S+R-1=1+R for S=1)
00104     if ( i > 4 ) i = 1;        // But ring 1A (R=4) -> i=1
00105   }   
00106   return i;
00107 }

unsigned short CSCDetId::iChamberType (  )  [inline]

Chamber type (integer 1-10).

Definition at line 109 of file CSCDetId.h.

References ring(), and station().

Referenced by CSCDigiToRaw::findEventData(), and CSCALCTHeader::selfTest().

00109                                  {
00110      return iChamberType( station(), ring() );
00111    }

static uint32_t CSCDetId::init ( int  iendcap,
int  istation,
int  iring,
int  ichamber,
int  ilayer 
) [inline, static, private]

Method for initialization within ctors.

Definition at line 239 of file CSCDetId.h.

References intToDetId(), MASK_CHAMBER, MASK_ENDCAP, MASK_LAYER, MASK_RING, MASK_STATION, START_CHAMBER, START_ENDCAP, START_RING, and START_STATION.

Referenced by CSCDetId(), and rawIdMaker().

00240                                                               {
00241     
00242     if (istation == 1)
00243       iring = intToDetId(iring);
00244 
00245      return
00246          (ilayer   & MASK_LAYER)                      |
00247        ( (ichamber & MASK_CHAMBER) << START_CHAMBER ) |
00248        ( (iring    & MASK_RING)    << START_RING )    |
00249        ( (istation & MASK_STATION) << START_STATION ) | 
00250        ( (iendcap  & MASK_ENDCAP)  << START_ENDCAP ) ; }

static int CSCDetId::intToDetId ( int  iring  )  [inline, static, private]

Methods for reordering CSCDetId for ME1 detectors.

Internally the chambers are ordered (Station/Ring) as: ME1/a (1/1), ME1/b (1/2), ME1/2 (1/3), ME1/3 (1/4) i.e. they are labelled within the DetId as if ME1a, ME1b, ME12, ME13 are rings 1, 2, 3, 4. The offline software always considers rings 1, 2, 3, 4 as ME1b, ME12, ME13, ME1a so that at least ME12 and ME13 have ring numbers which match in hardware and software!

Definition at line 262 of file CSCDetId.h.

References i.

Referenced by init().

00262                                    {
00263     // change iring = 1, 2, 3, 4 input to 2, 3, 4, 1 for use inside the DetId
00264     // i.e. ME1b, ME12, ME13, ME1a externally become stored internally in order ME1a, ME1b, ME12, ME13
00265     int i = (iring+1)%4;
00266     if (i == 0)
00267       i = 4;
00268     return i;
00269   }

static int CSCDetId::layer ( int  index  )  [inline, static]

Return Layer label for supplied CSCDetId index.

Definition at line 140 of file CSCDetId.h.

References MASK_LAYER.

00140                                  {
00141      return (index & MASK_LAYER); }

int CSCDetId::layer (  )  const [inline]

Return Layer label.

Definition at line 63 of file CSCDetId.h.

References DetId::id_, and MASK_LAYER.

Referenced by CSCDigiToRaw::add(), CSCOfflineMonitor::analyze(), CSCEfficiency::analyze(), CSCSegAlgoTC::areHitsCloseInGlobalPhi(), CSCSegAlgoSK::areHitsCloseInGlobalPhi(), CSCRecHitDBuilder::build(), CSCGeometryBuilderFromDDD::buildChamber(), CSCGeometryBuilderFromDDD::buildEndcaps(), CSCSegAlgoTC::buildSegments(), CSCSegAlgoShowering::calculateError(), CSCSegAlgoDF::calculateError(), chamberId(), CSCCLCTData::comparatorDigis(), AlignmentMonitorMuonHIP::createPythonGeometry(), CSCDetCmp(), CSCSegAlgoHitPruning::derivativeMatrix(), CSCSegAlgoSK::derivativeMatrix(), CSCSegAlgoTC::derivativeMatrix(), CSCCFEBData::digis(), CSCDigitizer::doAction(), CSCSkim::doCSCSkimming(), CSCValidation::doEfficiencies(), CSCSkim::doMessyEventSkimming(), CSCValidation::doRecHits(), CSCValidation::doSegments(), CSCSegAlgoHitPruning::fillChiSquared(), CSCSegAlgoSK::fillChiSquared(), CSCSegAlgoTC::fillChiSquared(), CSCSegAlgoST::fillChiSquared(), CSCValidation::findNonAssociatedRecHits(), CSCSegAlgoHitPruning::fitSlopes(), CSCSegAlgoTC::fitSlopes(), CSCSegAlgoSK::fitSlopes(), DetIdInfo::info(), TAMuonChamberMatch::info(), CSCSegAlgoTC::isHitNearSegment(), CSCSegAlgoShowering::isHitNearSegment(), CSCSegAlgoSK::isHitNearSegment(), CSCSegAlgoDF::isHitNearSegment(), CSCDetIdSameDetLayerCompare::operator()(), MuonSimHitProducer::produce(), CSCSegAlgoDF::pruneFromResidual(), CSCSegAlgoShowering::pruneFromResidual(), CSCEventData::selfTest(), CSCSegAlgoShowering::showerSeg(), CSCSegAlgoTC::tryAddingHitsToSegment(), CSCSegAlgoDF::updateParameters(), and CSCSegAlgoShowering::updateParameters().

00063                     {
00064     return (id_ & MASK_LAYER); } 

static int CSCDetId::maxChamberId (  )  [inline, static]

Definition at line 229 of file CSCDetId.h.

References MAX_CHAMBER.

Referenced by CSCCrosstalkConditions::prefillCrosstalk(), CSCFakeCrosstalkConditions::prefillCrosstalk(), CSCGainsConditions::prefillGains(), CSCFakeGainsConditions::prefillGains(), CSCFakeNoiseMatrixConditions::prefillNoiseMatrix(), CSCNoiseMatrixConditions::prefillNoiseMatrix(), CSCFakePedestalsConditions::prefillPedestals(), CSCTriggerNumbering::triggerCscIdFromLabels(), CSCTriggerNumbering::triggerSectorFromLabels(), and CSCTriggerNumbering::triggerSubSectorFromLabels().

00229 { return MAX_CHAMBER; }

static int CSCDetId::maxEndcapId (  )  [inline, static]

Definition at line 223 of file CSCDetId.h.

References MAX_ENDCAP.

Referenced by CSCTFTrackBuilder::buildTracks(), CSCTFTrackBuilder::CSCTFTrackBuilder(), CSCTFTrackBuilder::initialize(), CSCCrosstalkConditions::prefillCrosstalk(), CSCFakeCrosstalkConditions::prefillCrosstalk(), CSCGainsConditions::prefillGains(), CSCFakeGainsConditions::prefillGains(), CSCFakeNoiseMatrixConditions::prefillNoiseMatrix(), CSCNoiseMatrixConditions::prefillNoiseMatrix(), CSCFakePedestalsConditions::prefillPedestals(), CSCTFDTReceiver::process(), and CSCTFTrackBuilder::~CSCTFTrackBuilder().

00223 { return MAX_ENDCAP; }

static int CSCDetId::maxLayerId (  )  [inline, static]

Definition at line 231 of file CSCDetId.h.

References MAX_LAYER.

Referenced by CSCCrosstalkConditions::prefillCrosstalk(), CSCFakeCrosstalkConditions::prefillCrosstalk(), CSCGainsConditions::prefillGains(), CSCFakeGainsConditions::prefillGains(), CSCFakeNoiseMatrixConditions::prefillNoiseMatrix(), CSCNoiseMatrixConditions::prefillNoiseMatrix(), and CSCFakePedestalsConditions::prefillPedestals().

00231 { return MAX_LAYER; }

static int CSCDetId::maxRingId (  )  [inline, static]

Definition at line 227 of file CSCDetId.h.

References MAX_RING.

Referenced by MuonCSCDetLayerGeometryBuilder::buildLayers(), CSCCrosstalkConditions::prefillCrosstalk(), CSCFakeCrosstalkConditions::prefillCrosstalk(), CSCGainsConditions::prefillGains(), CSCFakeGainsConditions::prefillGains(), CSCFakeNoiseMatrixConditions::prefillNoiseMatrix(), CSCNoiseMatrixConditions::prefillNoiseMatrix(), CSCFakePedestalsConditions::prefillPedestals(), CSCTriggerNumbering::triggerCscIdFromLabels(), and CSCTriggerNumbering::triggerSectorFromLabels().

00227 { return MAX_RING; }

static int CSCDetId::maxStationId (  )  [inline, static]

Definition at line 225 of file CSCDetId.h.

References MAX_STATION.

Referenced by MuonCSCDetLayerGeometryBuilder::buildLayers(), CSCTriggerNumbering::chamberFromTriggerLabels(), CSCTFSPCoreLogic::loadData(), CSCCrosstalkConditions::prefillCrosstalk(), CSCFakeCrosstalkConditions::prefillCrosstalk(), CSCGainsConditions::prefillGains(), CSCFakeGainsConditions::prefillGains(), CSCFakeNoiseMatrixConditions::prefillNoiseMatrix(), CSCNoiseMatrixConditions::prefillNoiseMatrix(), CSCFakePedestalsConditions::prefillPedestals(), CSCTriggerNumbering::ringFromTriggerLabels(), CSCTriggerNumbering::sectorFromTriggerLabels(), CSCTriggerNumbering::triggerCscIdFromLabels(), CSCTriggerNumbering::triggerSectorFromLabels(), and CSCTriggerNumbering::triggerSubSectorFromLabels().

00225 { return MAX_STATION; }

static int CSCDetId::minChamberId (  )  [inline, static]

Definition at line 228 of file CSCDetId.h.

References MIN_CHAMBER.

Referenced by CSCCrosstalkConditions::prefillCrosstalk(), CSCFakeCrosstalkConditions::prefillCrosstalk(), CSCGainsConditions::prefillGains(), CSCFakeGainsConditions::prefillGains(), CSCFakeNoiseMatrixConditions::prefillNoiseMatrix(), CSCNoiseMatrixConditions::prefillNoiseMatrix(), CSCFakePedestalsConditions::prefillPedestals(), CSCTriggerNumbering::triggerCscIdFromLabels(), CSCTriggerNumbering::triggerSectorFromLabels(), and CSCTriggerNumbering::triggerSubSectorFromLabels().

00228 { return MIN_CHAMBER; }

static int CSCDetId::minEndcapId (  )  [inline, static]

Lower and upper counts for the subdetector hierarchy.

Definition at line 222 of file CSCDetId.h.

References MIN_ENDCAP.

Referenced by CSCTFTrackBuilder::buildTracks(), CSCTFTrackBuilder::CSCTFTrackBuilder(), CSCTFTrackBuilder::initialize(), CSCCrosstalkConditions::prefillCrosstalk(), CSCFakeCrosstalkConditions::prefillCrosstalk(), CSCGainsConditions::prefillGains(), CSCFakeGainsConditions::prefillGains(), CSCFakeNoiseMatrixConditions::prefillNoiseMatrix(), CSCNoiseMatrixConditions::prefillNoiseMatrix(), CSCFakePedestalsConditions::prefillPedestals(), CSCTFDTReceiver::process(), and CSCTFTrackBuilder::~CSCTFTrackBuilder().

00222 { return MIN_ENDCAP; }

static int CSCDetId::minLayerId (  )  [inline, static]

Definition at line 230 of file CSCDetId.h.

References MIN_LAYER.

Referenced by CSCCrosstalkConditions::prefillCrosstalk(), CSCFakeCrosstalkConditions::prefillCrosstalk(), CSCGainsConditions::prefillGains(), CSCFakeGainsConditions::prefillGains(), CSCFakeNoiseMatrixConditions::prefillNoiseMatrix(), CSCNoiseMatrixConditions::prefillNoiseMatrix(), and CSCFakePedestalsConditions::prefillPedestals().

00230 { return MIN_LAYER; }

static int CSCDetId::minRingId (  )  [inline, static]

Definition at line 226 of file CSCDetId.h.

References MIN_RING.

Referenced by MuonCSCDetLayerGeometryBuilder::buildLayers(), CSCCrosstalkConditions::prefillCrosstalk(), CSCFakeCrosstalkConditions::prefillCrosstalk(), CSCGainsConditions::prefillGains(), CSCFakeGainsConditions::prefillGains(), CSCFakeNoiseMatrixConditions::prefillNoiseMatrix(), CSCNoiseMatrixConditions::prefillNoiseMatrix(), CSCFakePedestalsConditions::prefillPedestals(), CSCTriggerNumbering::triggerCscIdFromLabels(), and CSCTriggerNumbering::triggerSectorFromLabels().

00226 { return MIN_RING; }

static int CSCDetId::minStationId (  )  [inline, static]

Definition at line 224 of file CSCDetId.h.

References MIN_STATION.

Referenced by CSCTriggerNumbering::chamberFromTriggerLabels(), CSCTFSPCoreLogic::loadData(), CSCCrosstalkConditions::prefillCrosstalk(), CSCFakeCrosstalkConditions::prefillCrosstalk(), CSCGainsConditions::prefillGains(), CSCFakeGainsConditions::prefillGains(), CSCFakeNoiseMatrixConditions::prefillNoiseMatrix(), CSCNoiseMatrixConditions::prefillNoiseMatrix(), CSCFakePedestalsConditions::prefillPedestals(), CSCTriggerNumbering::ringFromTriggerLabels(), CSCTriggerNumbering::sectorFromTriggerLabels(), CSCTriggerNumbering::triggerCscIdFromLabels(), CSCTriggerNumbering::triggerSectorFromLabels(), and CSCTriggerNumbering::triggerSubSectorFromLabels().

00224 { return MIN_STATION; }

static int CSCDetId::rawIdMaker ( int  iendcap,
int  istation,
int  iring,
int  ichamber,
int  ilayer 
) [inline, static]

Returns the unique integer 'rawId' which labels each CSC layer.

The arguments are the integer labels for, respectively,
endcap, station, ring, chamber, layer.

Warning:
The input int args are expected to be .ge. 1 and there is no sanity-checking for their upper limits.

The returned integers are not necessarily consecutive, i.e. there are gaps. This is to permit computational efficiency starting from the component ids.

Definition at line 130 of file CSCDetId.h.

References MuonSubdetId::CSC, init(), DetId::kDetOffset, DetId::kSubdetOffset, and DetId::Muon.

Referenced by CSCNumberingScheme::baseNumberToUnitNumber(), CSCReadoutMapping::findHardwareId(), CSCTriggerSimpleMapping::hwId(), CSCTriggerMapping::swId(), and CSCReadoutMapping::swId().

00131                                           {
00132      return ( (DetId::Muon&0xF)<<(DetId::kDetOffset) ) |            // set Muon flag
00133             ( (MuonSubdetId::CSC&0x7)<<(DetId::kSubdetOffset) ) |   // set CSC flag
00134                init(iendcap, istation, iring, ichamber, ilayer) ; } // set CSC id

static int CSCDetId::ring ( int  index  )  [inline, static]

Return Ring label for supplied CSCDetId index.

Definition at line 154 of file CSCDetId.h.

References detIdToInt(), MASK_RING, MASK_STATION, START_RING, and START_STATION.

00154                                 {
00155      if (((index>>START_STATION) & MASK_STATION) == 1)
00156        return (  detIdToInt((index>>START_RING) & MASK_RING )); 
00157      else
00158        return (( index>>START_RING) & MASK_RING ); 
00159    }

int CSCDetId::ring (  )  const [inline]

Return Ring label.

Definition at line 77 of file CSCDetId.h.

References detIdToInt(), DetId::id_, MASK_RING, MASK_STATION, START_RING, and START_STATION.

Referenced by CSCDigiToRaw::add(), CSCOfflineMonitor::analyze(), CSCEfficiency::analyze(), RPCEfficiency::analyze(), MuonAlignmentAnalyzer::analyze(), VisEventSetupService::annotateCSCChambers(), AlignmentMonitorMuonHIP::bookByAli(), CSCRecHitDBuilder::build(), CSCGeometryBuilderFromDDD::buildChamber(), VisEventSetupService::buildCSCChambers(), AlignableMuon::buildCSCEndcap(), CSCGeometryBuilderFromDDD::buildEndcaps(), CSCCLCTData::comparatorDigis(), AlignmentMonitorMuonHIP::createPythonGeometry(), CSCDetCmp(), VisEventSetupService::cscTextRep(), CSCReadoutMapping::detId(), CSCCFEBData::digis(), CSCDigitizer::doAction(), CSCSkim::doCSCSkimming(), CSCValidation::doEfficiencies(), CSCSkim::doMessyEventSkimming(), CSCValidation::doOccupancies(), CSCValidation::doRecHits(), CSCValidation::doSegments(), AlignmentMonitorMuonResiduals::event(), CSCConfigurableStripConditions::fetchNoisifier(), AlignmentMonitorMuonPositions::fill(), CSCHitFromStripOnly::fillPulseHeights(), HLTCSCOverlapFilter::filter(), CSCDigiToRaw::findEventData(), CSCValidation::findNonAssociatedRecHits(), CSCConfigurableStripConditions::gain(), CSCDriftSim::gasGain(), CSCMonitorModule::getCSCFromMap(), cscdqm::EventProcessor::getCSCFromMap(), CSCValidation::getthisSignal(), CSCOfflineMonitor::getTiming(), CSCValidation::getTiming(), CSCValidation::getWidth(), iChamberType(), DetIdInfo::info(), TAMuonChamberMatch::info(), MuonSegmentMatcher::matchCSC(), CSCDetIdSameDetLayerComparator::operator()(), CSCDetIdSameDetLayerCompare::operator()(), MuonHIPAlignmentRefitter::produce(), CSCDCCUnpacker::produce(), MuonSimHitProducer::produce(), MuonSeedPtExtractor::stationCode(), triggerCscId(), triggerSector(), and CSCSegmentValidation::whatChamberType().

00077                     {
00078      if (((id_>>START_STATION) & MASK_STATION) == 1)
00079        return (  detIdToInt((id_>>START_RING) & MASK_RING )); 
00080      else
00081        return (((id_>>START_RING) & MASK_RING )); 
00082    }

static int CSCDetId::station ( int  index  )  [inline, static]

Return Station label for supplied CSCDetId index.

Definition at line 165 of file CSCDetId.h.

References MASK_STATION, and START_STATION.

00165                                    {
00166      return (  (index>>START_STATION) & MASK_STATION ); }

int CSCDetId::station (  )  const [inline]

Return Station label.

Definition at line 88 of file CSCDetId.h.

References DetId::id_, MASK_STATION, and START_STATION.

Referenced by CSCDigiToRaw::add(), CSCOfflineMonitor::analyze(), CSCEfficiency::analyze(), RPCEfficiency::analyze(), MuonAlignmentAnalyzer::analyze(), VisEventSetupService::annotateCSCChambers(), AlignmentMonitorMuonHIP::bookByAli(), CSCRecHitDBuilder::build(), CSCGeometryBuilderFromDDD::buildChamber(), VisEventSetupService::buildCSCChambers(), AlignableMuon::buildCSCEndcap(), CSCGeometryBuilderFromDDD::buildEndcaps(), GlobalTrajectoryBuilderBase::checkMuonHits(), GlobalMuonRefitter::checkMuonHits(), CSCCLCTData::comparatorDigis(), AlignmentMonitorMuonHIP::createPythonGeometry(), CSCDetCmp(), VisEventSetupService::cscTextRep(), CSCReadoutMapping::detId(), CSCCFEBData::digis(), CSCDigitizer::doAction(), CSCSkim::doCSCSkimming(), CSCValidation::doEfficiencies(), CSCSkim::doMessyEventSkimming(), CSCValidation::doOccupancies(), CSCValidation::doRecHits(), CSCValidation::doSegments(), AlignmentMonitorMuonResiduals::event(), CSCConfigurableStripConditions::fetchNoisifier(), AlignmentMonitorMuonPositions::fill(), CSCHitFromStripOnly::fillPulseHeights(), HLTCSCOverlapFilter::filter(), CSCDigiToRaw::findEventData(), CSCValidation::findNonAssociatedRecHits(), CSCConfigurableStripConditions::gain(), CSCDriftSim::gasGain(), CSCMonitorModule::getCSCFromMap(), cscdqm::EventProcessor::getCSCFromMap(), CSCValidation::getthisSignal(), CSCOfflineMonitor::getTiming(), CSCValidation::getTiming(), CSCValidation::getWidth(), iChamberType(), DetIdInfo::info(), TAMuonChamberMatch::info(), MuonSegmentMatcher::matchCSC(), CSCDetIdSameDetLayerComparator::operator()(), CSCDetIdSameDetLayerCompare::operator()(), MuonHIPAlignmentRefitter::produce(), CSCDCCUnpacker::produce(), MuonSimHitProducer::produce(), MuonSeedBuilder::SeedCandidates(), AlignmentCSCBeamHaloSelector::select(), AlignmentCSCOverlapSelector::select(), GlobalTrajectoryBuilderBase::selectMuonHits(), GlobalMuonRefitter::selectMuonHits(), csc::L1TrackId::station(), TAMuonChamberMatch::station(), reco::MuonChamberMatch::station(), MuonSeedPtExtractor::stationCode(), triggerCscId(), triggerSector(), and CSCSegmentValidation::whatChamberType().

00088                        {
00089      return (  (id_>>START_STATION) & MASK_STATION ); }

int CSCDetId::triggerCscId (  )  const

Return trigger-level CSC id within a sector for an Endcap Muon chamber.

This id is an index within a sector such that the 3 inner ring chambers (20 degrees each) are 1, 2, 3 (increasing counterclockwise) and the 6 outer ring chambers (10 degrees each) are 4, 5, 6, 7, 8, 9 (again increasing counter-clockwise.)

This method knows which chambers are part of which sector and returns the chamber label/index/identifier accordingly. Beware that this information is liable to change according to hardware and software changes.

Definition at line 67 of file CSCDetId.cc.

References chamber(), HLT_VtxMuL3::result, ring(), and station().

00068 {
00069   // UPDATED TO OCT 2005 - LGRAY Feb 2006
00070 
00071   int result;
00072   int ring    = this->ring();
00073   int station = this->station();
00074   int chamber = this->chamber();
00075 
00076   if( station == 1 ) {
00077     result = (chamber) % 3 + 1; // 1,2,3
00078     switch (ring) {
00079     case 1:
00080       break;
00081     case 2:
00082       result += 3; // 4,5,6
00083       break;
00084     case 3:
00085       result += 6; // 7,8,9
00086       break;
00087     }
00088   }
00089   else {
00090     if( ring == 1 ) {
00091       result = (chamber+1) % 3 + 1; // 1,2,3
00092     }
00093     else {
00094       result = (chamber+3) % 6 + 4; // 4,5,6,7,8,9
00095     }
00096   }
00097   return result;
00098 }

int CSCDetId::triggerSector (  )  const

Return trigger-level sector id for an Endcap Muon chamber.

This method encapsulates the information about which chambers are in which sectors, and may need updating according to hardware changes, or software chamber indexing.

Station 1 has 3 rings of 10-degree chambers.
Stations 2, 3, 4 have an inner ring of 20-degree chambers and an outer ring of 10-degree chambers.

Sectors are 60 degree slices of a station, covering both rings.
For Station 1, there are subsectors of 30 degrees: 9 10-degree chambers (3 each from ME1/1, ME1/2, ME1/3.)

The first sector starts at phi = 15 degrees so it matches Barrel Muon sectors. We count from one not zero.

Definition at line 47 of file CSCDetId.cc.

References chamber(), HLT_VtxMuL3::result, ring(), and station().

Referenced by MuonIdProducer::sectorPhi().

00048 {
00049   // UPDATED TO OCT 2005 - LGRAY Feb 2006
00050 
00051   int result;
00052   int ring    = this->ring();
00053   int station = this->station();
00054   int chamber = this->chamber();
00055 
00056     if(station > 1 && ring > 1 ) {
00057       result = ((static_cast<unsigned>(chamber-3) & 0x7f) / 6) + 1; // ch 3-8->1, 9-14->2, ... 1,2 -> 6
00058     }
00059     else {
00060       result =  (station != 1) ? ((static_cast<unsigned>(chamber-2) & 0x1f) / 3) + 1 : // ch 2-4-> 1, 5-7->2, ...
00061                                  ((static_cast<unsigned>(chamber-3) & 0x7f) / 6) + 1;
00062     }
00063 
00064   return (result <= 6) ? result : 6; // max sector is 6, some calculations give a value greater than six but this is expected.
00065 }

short int CSCDetId::zendcap (  )  const [inline]

What is the sign of global z?

Definition at line 102 of file CSCDetId.h.

References endcap().

00102                              {
00103      return ( endcap()!=1 ? -1 : +1 );
00104    }


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:17:10 2009 for CMSSW by  doxygen 1.5.4