18 unsigned int fedId = (theMap.begin())->
first.fed;
22 if (theVersion.find(
"CMSSW_9_0_X") != std::string::npos) {
23 for (
auto &
v : theMap)
24 v.second.initFrameConversionPhase1_CMSSW_9_0_X();
25 std::cout <<
"*** Found CMSSW_9_0_X specific cabling map\n";
30 for (
auto &
v : theMap)
31 v.second.initFrameConversionPhase1();
33 for (
auto &
v : theMap)
34 v.second.initFrameConversion();
62 if (link <
other.link)
64 if (link >
other.link)
78 for (std::vector<const PixelFEDCabling *>::const_iterator ifed =
fedList.begin(); ifed !=
fedList.end(); ifed++) {
79 unsigned int fed = (**ifed).id();
80 unsigned int numLink = (**ifed).numberOfLinks();
81 for (
unsigned int link = 1; link <= numLink; link++) {
90 for (
unsigned int roc = 1;
roc <= numberROC;
roc++) {
105 for (Map::const_iterator im =
theMap.begin(); im !=
theMap.end(); im++) {
107 unsigned int fedId = im->first.fed;
108 unsigned int linkId = im->first.link;
115 std::vector<unsigned int>
result;
116 for (Map::const_iterator im =
theMap.begin(); im !=
theMap.end(); im++) {
117 unsigned int fedId = im->first.fed;
127 Map::const_iterator inMap =
theMap.find(
key);
128 if (inMap !=
theMap.end())
129 roc = &(inMap->second);
134 std::unordered_map<uint32_t, unsigned int>
result;
135 for (
auto im =
theMap.begin(); im !=
theMap.end(); ++im) {
136 result[im->second.rawId()] = im->first.fed;
142 std::map<uint32_t, std::vector<sipixelobjects::CablingPathToDetUnit> >
result;
143 for (
auto im =
theMap.begin(); im !=
theMap.end(); ++im) {
151 std::vector<sipixelobjects::CablingPathToDetUnit>
result;
152 for (
auto im =
theMap.begin(); im !=
theMap.end(); ++im) {
153 if (im->second.rawId() == rawDetId) {
163 for (
auto im =
theMap.lower_bound({fedId, 0, 0}); im !=
end and im->first.fed ==
fedId; ++im) {
164 if (im->second.rawId() == rawDetId) {
std::unique_ptr< SiPixelFedCablingTree > cablingTree() const
std::map< uint32_t, std::vector< sipixelobjects::CablingPathToDetUnit > > det2PathMap() const final
SiPixelFedCablingMap(const SiPixelFedCablingTree *cab)
unsigned int numberOfROCs() const
number of ROCs in fed
std::vector< sipixelobjects::CablingPathToDetUnit > pathToDetUnit(uint32_t rawDetId) const final
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
const sipixelobjects::PixelROC * findItem(const sipixelobjects::CablingPathToDetUnit &path) const final
bool pathToDetUnitHasDetUnit(uint32_t rawDetId, unsigned int fedId) const final
key
prepare the HTCondor submission files and eventually submit them
std::vector< unsigned int > const fedList
std::vector< unsigned int > fedIds() const
std::vector< const PixelFEDCabling * > fedList() const
bool operator<(const Key &other) const
const PixelROC * roc(unsigned int id) const
return ROC identified by id. ROC ids are ranged [1,numberOfROCs]
std::unordered_map< uint32_t, unsigned int > det2fedMap() const final
if(threadIdxLocalY==0 &&threadIdxLocalX==0)