CMS 3D CMS Logo

Public Member Functions | Private Member Functions

SiStripSubStructure Class Reference

#include <DataFormats/SiStripDetId/interface/SiStripSubStructure.h>

List of all members.

Public Member Functions

void getTECDetectors (const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tecDetRawIds, uint32_t side=0, uint32_t wheel=0, uint32_t petal_bkw_frw=0, uint32_t petal=0, uint32_t ring=0, uint32_t ster=0) const
void getTIBDetectors (const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tibDetRawIds, uint32_t layer=0, uint32_t bkw_frw=0, uint32_t int_ext=0, uint32_t string=0) const
void getTIDDetectors (const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tidDetRawIds, uint32_t side=0, uint32_t wheel=0, uint32_t ring=0, uint32_t ster=0) const
void getTOBDetectors (const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tobDetRawIds, uint32_t layer=0, uint32_t bkw_frw=0, uint32_t rod=0) const
 SiStripSubStructure ()
 ~SiStripSubStructure ()

Private Member Functions

const SiStripSubStructureoperator= (const SiStripSubStructure &)
 SiStripSubStructure (const SiStripSubStructure &)

Detailed Description

Description: <Assign detector Ids to different substructures of the SiStripTracker: TOB, TIB, etc>

Usage: <usage>

Definition at line 25 of file SiStripSubStructure.h.


Constructor & Destructor Documentation

SiStripSubStructure::SiStripSubStructure ( )

Definition at line 23 of file SiStripSubStructure.cc.

                                        {
}
SiStripSubStructure::~SiStripSubStructure ( )

Definition at line 26 of file SiStripSubStructure.cc.

                                         {
}
SiStripSubStructure::SiStripSubStructure ( const SiStripSubStructure ) [private]

Member Function Documentation

void SiStripSubStructure::getTECDetectors ( const std::vector< uint32_t > &  inputDetRawIds,
std::vector< uint32_t > &  tecDetRawIds,
uint32_t  side = 0,
uint32_t  wheel = 0,
uint32_t  petal_bkw_frw = 0,
uint32_t  petal = 0,
uint32_t  ring = 0,
uint32_t  ster = 0 
) const

Definition at line 100 of file SiStripSubStructure.cc.

References asciidump::at, TECDetId::petal(), TECDetId::ring(), TECDetId::side(), SiStripDetId::stereo(), DetId::subdetId(), StripSubdetector::TEC, and TECDetId::wheel().

Referenced by SiStripBaseCondObjDQM::analysisOnDemand(), SiStripDQMProfileToTkMapConverter::beginRun(), SiStripBaseCondObjDQM::bookSummaryProfileMEs(), SiStripMonitorCluster::createMEs(), SiStripMonitorDigi::createMEs(), TkLayerMap::createTEC(), SiStripLorentzAngleDQM::fillMEsForLayer(), SiStripBaseCondObjDQM::GetSameLayerDetId(), and SiStripBaseCondObjDQM::selectModules().

                                                                        { 
 // loop over all input detectors
  for(vector<uint32_t>::const_iterator it = inputDetRawIds.begin(); it!=inputDetRawIds.end();it++){
    uint32_t therawid = (*it);                  // raw id of single detector
    TECDetId potentialTEC = TECDetId(therawid); // build TECDetId, at this point is just DetId, but do not want to cast twice
    if( potentialTEC.subdetId() ==  int (StripSubdetector::TEC) ){ // check if subdetector field is a TEC, both tested numbers are int
      if( // check if TEC is from the ones requested
         (    (potentialTEC.side()==requested_side) || requested_side==0 )  // take everything if default value is 0
         && ( (potentialTEC.wheel()==requested_wheel) || requested_wheel==0 )
         && ( ((potentialTEC.petal()).at(0)==(requested_petal_bkw_frw-1)) || requested_petal_bkw_frw==0 )
         && ( ((potentialTEC.petal()).at(1)==requested_petal) || requested_petal==0 )
         && ( (potentialTEC.ring()==requested_ring) || requested_ring==0 )
         && ( (potentialTEC.stereo()==requested_ster) || requested_ster==0 )
         ){
        tecDetRawIds.push_back(therawid);       // add detector to list of selected TECdets
      }
    }
  }
}
void SiStripSubStructure::getTIBDetectors ( const std::vector< uint32_t > &  inputDetRawIds,
std::vector< uint32_t > &  tibDetRawIds,
uint32_t  layer = 0,
uint32_t  bkw_frw = 0,
uint32_t  int_ext = 0,
uint32_t  string = 0 
) const

Definition at line 30 of file SiStripSubStructure.cc.

References asciidump::at, TIBDetId::layer(), TIBDetId::string(), DetId::subdetId(), and StripSubdetector::TIB.

Referenced by SiStripGainCosmicCalculator::algoBeginJob(), SiStripBaseCondObjDQM::analysisOnDemand(), SiStripDQMProfileToTkMapConverter::beginRun(), SiStripBaseCondObjDQM::bookSummaryProfileMEs(), SiStripMonitorCluster::createMEs(), SiStripMonitorDigi::createMEs(), TkLayerMap::createTIB(), SiStripLorentzAngleDQM::fillMEsForLayer(), SiStripBaseCondObjDQM::GetSameLayerDetId(), and SiStripBaseCondObjDQM::selectModules().

                                                                          {
 // loop over all input detectors
  for(vector<uint32_t>::const_iterator it = inputDetRawIds.begin(); it!=inputDetRawIds.end();it++){
    uint32_t therawid = (*it);                  // raw id of single detector
    TIBDetId potentialTIB = TIBDetId(therawid); // build TIBDetId, at this point is just DetId, but do not want to cast twice
    if( potentialTIB.subdetId() ==  int (StripSubdetector::TIB) ){ // check if subdetector field is a TIB, both tested numbers are int
      if( // check if TIB is from the ones requested
         (    (potentialTIB.layer()==requested_layer) || requested_layer==0 )  // take everything if default value is 0
         && ( ((potentialTIB.string()).at(0)==(requested_bkw_frw)) || requested_bkw_frw==0 )
         && ( ((potentialTIB.string()).at(1)==(requested_int_ext)) || requested_int_ext==0 )
         && ( ((potentialTIB.string()).at(2)==requested_string) || requested_string==0 )
         ){
        tibDetRawIds.push_back(therawid);       // add detector to list of selected TIBdets
      }
    }
  }
}
void SiStripSubStructure::getTIDDetectors ( const std::vector< uint32_t > &  inputDetRawIds,
std::vector< uint32_t > &  tidDetRawIds,
uint32_t  side = 0,
uint32_t  wheel = 0,
uint32_t  ring = 0,
uint32_t  ster = 0 
) const

Definition at line 54 of file SiStripSubStructure.cc.

References TIDDetId::ring(), TIDDetId::side(), SiStripDetId::stereo(), DetId::subdetId(), StripSubdetector::TID, and TIDDetId::wheel().

Referenced by SiStripBaseCondObjDQM::analysisOnDemand(), SiStripDQMProfileToTkMapConverter::beginRun(), SiStripBaseCondObjDQM::bookSummaryProfileMEs(), SiStripMonitorCluster::createMEs(), SiStripMonitorDigi::createMEs(), TkLayerMap::createTID(), SiStripLorentzAngleDQM::fillMEsForLayer(), SiStripBaseCondObjDQM::GetSameLayerDetId(), and SiStripBaseCondObjDQM::selectModules().

                                                                        {
 // loop over all input detectors
  for(vector<uint32_t>::const_iterator it = inputDetRawIds.begin(); it!=inputDetRawIds.end();it++){
    uint32_t therawid = (*it);                  // raw id of single detector
    TIDDetId potentialTID = TIDDetId(therawid); // build TIDDetId, at this point is just DetId, but do not want to cast twice
    if( potentialTID.subdetId() ==  int (StripSubdetector::TID) ){ // check if subdetector field is a TID, both tested numbers are int
      if( // check if TID is from the ones requested
         (    (potentialTID.side()==requested_side) || requested_side==0 )  // take everything if default value is 0
         && ( (potentialTID.wheel()==requested_wheel) || requested_wheel==0 )
         && ( (potentialTID.ring()==requested_ring) || requested_ring==0 )
         && ( (potentialTID.stereo()==requested_ster) || requested_ster==0 )
         ){
        tidDetRawIds.push_back(therawid);       // add detector to list of selected TIDdets
      }
    }
  }
}
void SiStripSubStructure::getTOBDetectors ( const std::vector< uint32_t > &  inputDetRawIds,
std::vector< uint32_t > &  tobDetRawIds,
uint32_t  layer = 0,
uint32_t  bkw_frw = 0,
uint32_t  rod = 0 
) const

Definition at line 78 of file SiStripSubStructure.cc.

References asciidump::at, TOBDetId::layer(), TOBDetId::rod(), DetId::subdetId(), and StripSubdetector::TOB.

Referenced by SiStripGainCosmicCalculator::algoBeginJob(), SiStripBaseCondObjDQM::analysisOnDemand(), SiStripDQMProfileToTkMapConverter::beginRun(), SiStripBaseCondObjDQM::bookSummaryProfileMEs(), SiStripMonitorCluster::createMEs(), SiStripMonitorDigi::createMEs(), TkLayerMap::createTOB(), SiStripLorentzAngleDQM::fillMEsForLayer(), SiStripBaseCondObjDQM::GetSameLayerDetId(), and SiStripBaseCondObjDQM::selectModules().

                                                                       {
 // loop over all input detectors
  for(vector<uint32_t>::const_iterator it = inputDetRawIds.begin(); it!=inputDetRawIds.end();it++){
    uint32_t therawid = (*it);                  // raw id of single detector
    TOBDetId potentialTOB = TOBDetId(therawid); // build TOBDetId, at this point is just DetId, but do not want to cast twice
    if( potentialTOB.subdetId() ==  int (StripSubdetector::TOB) ){ // check if subdetector field is a TOB, both tested numbers are int
      if( // check if TOB is from the ones requested
         (    (potentialTOB.layer()==requested_layer) || requested_layer==0 )  // take everything if default value is 0
         && ( ((potentialTOB.rod()).at(0)==(requested_bkw_frw)) || requested_bkw_frw==0 )
         && ( ((potentialTOB.rod()).at(1)==requested_rod) || requested_rod==0 )
         ){
        tobDetRawIds.push_back(therawid);       // add detector to list of selected TOBdets
      }
    }
  }
}
const SiStripSubStructure& SiStripSubStructure::operator= ( const SiStripSubStructure ) [private]