![]() |
![]() |
#include <PixelBarrelNameUpgrade.h>
Public Types | |
enum | Shell { mO = 1, mI = 2, pO = 3, pI = 4 } |
Public Member Functions | |
PXBDetId | getDetId () |
return the DetId | |
bool | isHalfModule () const |
full or half module | |
int | ladderName () const |
ladder id (index in phi) | |
int | layerName () const |
layer id | |
int | moduleName () const |
module id (index in z) | |
virtual PixelModuleName::ModuleType | moduleType () const |
module Type | |
virtual std::string | name () const |
from base class | |
virtual bool | operator== (const PixelModuleName &) const |
check equality of modules from datamemebers | |
PixelBarrelNameUpgrade (Shell shell=mO, int layer=0, int module=0, int ladder=0) | |
ctor for defined name with dummy parameters | |
PixelBarrelNameUpgrade (const DetId &) | |
ctor from DetId | |
PixelBarrelNameUpgrade (std::string name) | |
ctor from name string | |
int | sectorName () const |
sector id | |
Shell | shell () const |
virtual | ~PixelBarrelNameUpgrade () |
Private Attributes | |
int | theLadder |
int | theLayer |
int | theModule |
Shell | thePart |
Module name (as in PixelDatabase) in barrel
Definition at line 14 of file PixelBarrelNameUpgrade.h.
PixelBarrelNameUpgrade::PixelBarrelNameUpgrade | ( | const DetId & | id | ) |
ctor from DetId
Definition at line 11 of file PixelBarrelNameUpgrade.cc.
References abs, PXBDetId::ladder(), PXBDetId::layer(), mI, mO, PXBDetId::module(), pI, pO, theLadder, theLayer, theModule, and thePart.
: PixelModuleName(true) { // uint32_t rawId = id.rawId(); PXBDetId cmssw_numbering(id); theLayer = cmssw_numbering.layer(); int oldModule = cmssw_numbering.module() -4; if (oldModule<=0) oldModule--; // -4, ..., -1, +1, ...,+4 int oldLadder = cmssw_numbering.ladder(); if (theLayer == 1) { if (oldLadder <= 3) oldLadder = 4-oldLadder; // +1, ..., +3 else if (oldLadder >= 4 && oldLadder <= 9 ) oldLadder = 3-oldLadder; // -1, ..., -6 else if (oldLadder >= 10) oldLadder = 16-oldLadder; // +6, ..., +4 } else if (theLayer == 2) { if (oldLadder <= 7) oldLadder = 8-oldLadder; else if (oldLadder >= 8 && oldLadder <= 21) oldLadder = 7-oldLadder; else if (oldLadder >= 22) oldLadder = 36-oldLadder; } else if (theLayer == 3) { if (oldLadder <= 11) oldLadder = 12-oldLadder; else if (oldLadder >= 12 && oldLadder <= 33) oldLadder = 11-oldLadder; else if (oldLadder >= 34) oldLadder = 56-oldLadder; } else if (theLayer == 4) { if (oldLadder <= 16) oldLadder = 17-oldLadder; else if (oldLadder >= 17 && oldLadder <= 48) oldLadder = 16-oldLadder; else if (oldLadder >= 49) oldLadder = 81-oldLadder; } // // part // if (oldModule < 0 && oldLadder < 0) thePart = mO; else if (oldModule > 0 && oldLadder < 0) thePart = pO; else if (oldModule < 0 && oldLadder > 0) thePart = mI; else if (oldModule > 0 && oldLadder > 0) thePart = pI; //std::cout << "(oldModule, oldLadder)============(" << oldModule << ", "<< oldLadder<<" )" << std::endl; // // ladder // theLadder = abs(oldLadder); // // module // theModule = abs(oldModule); }
PixelBarrelNameUpgrade::PixelBarrelNameUpgrade | ( | Shell | shell = mO , |
int | layer = 0 , |
||
int | module = 0 , |
||
int | ladder = 0 |
||
) | [inline] |
ctor for defined name with dummy parameters
Definition at line 23 of file PixelBarrelNameUpgrade.h.
PixelBarrelNameUpgrade::PixelBarrelNameUpgrade | ( | std::string | name | ) |
ctor from name string
Definition at line 69 of file PixelBarrelNameUpgrade.cc.
References gather_cfg::cout, mI, mO, name(), pI, pO, theLadder, theLayer, theModule, and thePart.
: PixelModuleName(true), thePart(mO), theLayer(0), theModule(0), theLadder(0) { std::cout<<"NAME="<<name<<std::endl; // parse the name string // first, check to make sure this is an BPix name, should start with "BPix_" // also check to make sure the needed parts are present if ( (name.substr(0, 5) != "BPix_") || (name.find("_B") == string::npos) || (name.find("_LYR") == string::npos) || (name.find("_LDR") == string::npos) || (name.find("_MOD") == string::npos) ) { edm::LogError ("BadNameString|SiPixel") << "Bad name string in PixelBarrelNameUpgrade::PixelBarrelName(std::string): " << name; return; } // strip off ROC part if it's there if (name.find("_ROC") != string::npos) name = name.substr(0, name.find("_ROC")); // find shell string shellString = name.substr(name.find("_B")+2, name.find("_SEC")-name.find("_B")-2); if (shellString == "mO") thePart = mO; else if (shellString == "mI") thePart = mI; else if (shellString == "pO") thePart = pO; else if (shellString == "pI") thePart = pI; else { edm::LogError ("BadNameString|SiPixel") << "Unable to determine shell in PixelBarrelNameUpgrade::PixelBarrelName(std::string): " << name; } // find the layer string layerString = name.substr(name.find("_LYR")+4, name.find("_LDR")-name.find("_LYR")-4); if (layerString == "1") theLayer = 1; else if (layerString == "2") theLayer = 2; else if (layerString == "3") theLayer = 3; else if (layerString == "4") theLayer = 4; else { edm::LogError ("BadNameString|SiPixel") << "Unable to determine layer in PixelBarrelNameUpgrade::PixelBarrelName(std::string): " << name; } // find the ladder string ladderString = name.substr(name.find("_LDR")+4, name.find("_MOD")-name.find("_LDR")-4); if (ladderString.substr(ladderString.size()-1, 1) == "F") { int ladderNum = atoi(ladderString.substr(0, ladderString.size() -1).c_str()); if (theLayer == 1 && ladderNum >= 1 && ladderNum <= 6) theLadder = ladderNum; else if (theLayer == 2 && ladderNum >= 1 && ladderNum <= 14) theLadder = ladderNum; else if (theLayer == 3 && ladderNum >= 1 && ladderNum <= 22) theLadder = ladderNum; else if (theLayer == 4 && ladderNum >= 1 && ladderNum <= 32) theLadder = ladderNum; else { edm::LogError ("BadNameString|SiPixel") << "Unable to determine ladder in PixelBarrelNameUpgrade::PixelBarrelName(std::string): " << name; } } // full ladders else { edm::LogError ("BadNameString|SiPixel") << "Unable to determine ladder in PixelBarrelNameUpgrade::PixelBarrelName(std::string): " << name; } // find the module string moduleString = name.substr(name.find("_MOD")+4, name.size()-name.find("_MOD")-4); if (moduleString == "1") theModule = 1; else if (moduleString == "2") theModule = 2; else if (moduleString == "3") theModule = 3; else if (moduleString == "4") theModule = 4; else { edm::LogError ("BadNameString|SiPixel") << "Unable to determine module in PixelBarrelNameUpgrade::PixelBarrelName(std::string): " << name; } } // PixelBarrelNameUpgrade::PixelBarrelName(std::string name)
virtual PixelBarrelNameUpgrade::~PixelBarrelNameUpgrade | ( | ) | [inline, virtual] |
Definition at line 31 of file PixelBarrelNameUpgrade.h.
{ }
PXBDetId PixelBarrelNameUpgrade::getDetId | ( | void | ) |
return the DetId
Definition at line 264 of file PixelBarrelNameUpgrade.cc.
References ladderName(), layerName(), mO, moduleName(), SurfaceOrientation::outer, pI, pO, shell(), and thePart.
{ uint32_t layer = 0; uint32_t ladder = 0; uint32_t module = 0; layer = layerName(); uint32_t tmpLadder = ladderName(); uint32_t tmpModule = moduleName(); // translate the ladder number from the naming convention to the cmssw convention bool outer = false; Shell shell = thePart; outer = (shell == mO) || (shell == pO); if (outer) { if (layer == 1) ladder = tmpLadder + 3; else if (layer == 2) ladder = tmpLadder + 7; else if (layer == 3) ladder = tmpLadder + 11; else if (layer == 4) ladder = tmpLadder + 16; } // outer else { // inner if (layer == 1) { if (tmpLadder <= 3) ladder = 4 - tmpLadder; else if (tmpLadder <= 6) ladder = 16 - tmpLadder; } // layer 1 else if (layer == 2) { if (tmpLadder <= 7) ladder = 8 - tmpLadder; else if (tmpLadder <= 14) ladder = 36 - tmpLadder; } // layer 2 else if (layer == 3) { if (tmpLadder <= 11) ladder = 12 - tmpLadder; else if (tmpLadder <= 22) ladder = 56 - tmpLadder; } // layer 3 else if (layer == 4) { if (tmpLadder <= 16) ladder = 17 - tmpLadder; else if (tmpLadder <= 32) ladder = 81 - tmpLadder; } // layer 4 } // inner // translate the module number from naming convention to cmssw convention // numbering starts at positive z if (shell == pO || shell == pI) module = tmpModule + 4; else // negative z side module = 5 - tmpModule; return PXBDetId(layer, ladder, module); } // PXBDetId PixelBarrelNameUpgrade::getDetId()
bool PixelBarrelNameUpgrade::isHalfModule | ( | ) | const |
full or half module
Definition at line 209 of file PixelBarrelNameUpgrade.cc.
Referenced by SiPixelHitEfficiencySource::analyze(), SiPixelHitEfficiencyModule::book(), SiPixelClusterModule::book(), SiPixelTrackResidualModule::book(), SiPixelRecHitModule::book(), SiPixelDigiModule::book(), SiPixelDigiModule::fill(), and moduleType().
{ bool halfModule = false; // if (theLadder == 1) halfModule = true; // if (theLayer == 1 && theLadder == 10) halfModule = true; // if (theLayer == 2 && theLadder == 16) halfModule = true; // if (theLayer == 3 && theLadder == 22) halfModule = true; return halfModule; }
int PixelBarrelNameUpgrade::ladderName | ( | ) | const [inline] |
ladder id (index in phi)
Definition at line 45 of file PixelBarrelNameUpgrade.h.
References theLadder.
Referenced by SiPixelHitEfficiencyModule::book(), SiPixelClusterModule::book(), SiPixelTrackResidualModule::book(), SiPixelRecHitModule::book(), SiPixelDigiModule::book(), SiPixelDigiModule::fill(), getDetId(), SiPixelFolderOrganizer::getModuleFolder(), and SiPixelFolderOrganizer::setModuleFolder().
{ return theLadder; }
int PixelBarrelNameUpgrade::layerName | ( | ) | const [inline] |
layer id
Definition at line 39 of file PixelBarrelNameUpgrade.h.
References theLayer.
Referenced by SiPixelHitEfficiencySource::analyze(), SiPixelTrackResidualSource::analyze(), SiPixelHitEfficiencyModule::book(), SiPixelClusterModule::book(), SiPixelTrackResidualModule::book(), SiPixelRecHitModule::book(), SiPixelDigiModule::book(), SiPixelClusterModule::fill(), SiPixelDigiModule::fill(), getDetId(), SiPixelFolderOrganizer::getModuleFolder(), and SiPixelFolderOrganizer::setModuleFolder().
{ return theLayer; }
int PixelBarrelNameUpgrade::moduleName | ( | ) | const [inline] |
module id (index in z)
Definition at line 42 of file PixelBarrelNameUpgrade.h.
References theModule.
Referenced by SiPixelHitEfficiencyModule::book(), SiPixelClusterModule::book(), SiPixelTrackResidualModule::book(), SiPixelRecHitModule::book(), SiPixelDigiModule::book(), SiPixelDigiModule::fill(), getDetId(), SiPixelFolderOrganizer::getModuleFolder(), and SiPixelFolderOrganizer::setModuleFolder().
{ return theModule; }
PixelModuleName::ModuleType PixelBarrelNameUpgrade::moduleType | ( | ) | const [virtual] |
module Type
Implements PixelModuleName.
Definition at line 220 of file PixelBarrelNameUpgrade.cc.
References isHalfModule(), PixelModuleName::v1x8, and PixelModuleName::v2x8.
{ return isHalfModule() ? PixelBarrelNameUpgrade::v1x8 : PixelBarrelNameUpgrade::v2x8; }
string PixelBarrelNameUpgrade::name | ( | ) | const [virtual] |
from base class
Implements PixelModuleName.
Definition at line 240 of file PixelBarrelNameUpgrade.cc.
References sectorName(), theLadder, theLayer, theModule, and thePart.
Referenced by PixelBarrelNameUpgrade().
{ std::ostringstream stm; stm<<"BPix_B"<<thePart<<"_SEC"<<sectorName()<<"_LYR"<<theLayer<<"_LDR"<<theLadder; stm <<"F"; stm << "_MOD" << theModule; return stm.str(); }
bool PixelBarrelNameUpgrade::operator== | ( | const PixelModuleName & | o | ) | const [virtual] |
check equality of modules from datamemebers
Implements PixelModuleName.
Definition at line 227 of file PixelBarrelNameUpgrade.cc.
References PixelModuleName::isBarrel(), python::connectstrParser::o, theLadder, theLayer, theModule, and thePart.
int PixelBarrelNameUpgrade::sectorName | ( | ) | const |
sector id
Definition at line 150 of file PixelBarrelNameUpgrade.cc.
References theLadder, and theLayer.
Referenced by name().
{ int sector = 0; if (theLayer==1) { switch (theLadder) { case 1 : {sector = 1; break;} case 2 : {sector = 2; break;} case 3 : {sector = 3; break;} case 4 : {sector = 6; break;} case 5 : {sector = 7; break;} case 6 : {sector = 8; break;} default: ; }; } else if (theLayer==2) { switch (theLadder) { case 1 : case 2: {sector = 1; break;} case 3 : case 4: {sector = 2; break;} case 5 : case 6: {sector = 3; break;} case 7 : {sector = 4; break;} case 8 : {sector = 5; break;} case 9 : case 10: {sector = 6; break;} case 11 : case 12: {sector = 7; break;} case 13 : case 14: {sector = 8; break;} default: ; }; } else if (theLayer==3) { switch (theLadder) { case 1 : case 2: case 3: {sector = 1; break;} case 4 : case 5: case 6: {sector = 2; break;} case 7 : case 8: case 9: {sector = 3; break;} case 10 : case 11: {sector = 4; break;} case 12 : case 13: {sector = 5; break;} case 14 : case 15: case 16: {sector = 6; break;} case 17 : case 18: case 19: {sector = 7; break;} case 20 : case 21: case 22: {sector = 8; break;} default: ; }; } else if (theLayer==4) { switch (theLadder) { case 1 : case 2: case 3: case 4: {sector = 1; break;} case 5 : case 6: case 7: case 8: {sector = 2; break;} case 9 : case 10: case 11: case 12: {sector = 3; break;} case 13 : case 14: case 15: case 16: {sector = 4; break;} case 17 : case 18: case 19: case 20: {sector = 5; break;} case 21 : case 22: case 23: case 24: {sector = 6; break;} case 25 : case 26: case 27: case 28: {sector = 7; break;} case 29 : case 30: case 31: case 32: {sector = 8; break;} default: ; }; } return sector; }
Shell PixelBarrelNameUpgrade::shell | ( | ) | const [inline] |
Definition at line 36 of file PixelBarrelNameUpgrade.h.
References thePart.
Referenced by getDetId(), SiPixelFolderOrganizer::getModuleFolder(), and SiPixelFolderOrganizer::setModuleFolder().
{ return thePart; }
int PixelBarrelNameUpgrade::theLadder [private] |
Definition at line 64 of file PixelBarrelNameUpgrade.h.
Referenced by ladderName(), name(), operator==(), PixelBarrelNameUpgrade(), and sectorName().
int PixelBarrelNameUpgrade::theLayer [private] |
Definition at line 64 of file PixelBarrelNameUpgrade.h.
Referenced by layerName(), name(), operator==(), PixelBarrelNameUpgrade(), and sectorName().
int PixelBarrelNameUpgrade::theModule [private] |
Definition at line 64 of file PixelBarrelNameUpgrade.h.
Referenced by moduleName(), name(), operator==(), and PixelBarrelNameUpgrade().
Shell PixelBarrelNameUpgrade::thePart [private] |
Definition at line 63 of file PixelBarrelNameUpgrade.h.
Referenced by getDetId(), name(), operator==(), PixelBarrelNameUpgrade(), and shell().