void testClosestCells() { HcalHardcodeGeometryLoader l; HcalHardcodeGeometryLoader::ReturnType g = l .load(); // make sure each cel is its own closest cell HcalDetId barrelDet(HcalBarrel, 1, 1, 1); HcalDetId barrelDet2(HcalBarrel, 16, 50, 1); HcalDetId endcapDet1(HcalEndcap, -17, 72, 1); HcalDetId endcapDet2(HcalEndcap, 29, 35, 1); HcalDetId forwardDet1(HcalForward, 30, 71, 1); HcalDetId forwardDet3(HcalForward, -40, 71, 1); testClosestCell( barrelDet , g ); testClosestCell( barrelDet2 , g ); testClosestCell( endcapDet1 , g ); testClosestCell( endcapDet2 , g ); testClosestCell( forwardDet1, g ); testClosestCell( forwardDet3, g ); const std::vector<DetId>& ids=g->getValidDetIds(DetId::Hcal,HcalBarrel); for (std::vector<DetId>::const_iterator i=ids.begin(); i!=ids.end(); i++) { testClosestCell( HcalDetId(*i), g ); } }
void testClosestCells() { // FIXME: for SLHC HcalTopologyMode::Mode mode = HcalTopologyMode::LHC; int maxDepthHB = 2; int maxDepthHE = 3; HcalTopology topology(mode, maxDepthHB, maxDepthHE); HcalHardcodeGeometryLoader l(topology); HcalHardcodeGeometryLoader::ReturnType g = l .load(); // make sure each cel is its own closest cell HcalDetId barrelDet(HcalBarrel, 1, 1, 1); HcalDetId barrelDet2(HcalBarrel, 16, 50, 1); HcalDetId endcapDet1(HcalEndcap, -17, 72, 1); HcalDetId endcapDet2(HcalEndcap, 29, 35, 1); HcalDetId forwardDet1(HcalForward, 30, 71, 1); HcalDetId forwardDet3(HcalForward, -40, 71, 1); testClosestCell( barrelDet , g ); testClosestCell( barrelDet2 , g ); testClosestCell( endcapDet1 , g ); testClosestCell( endcapDet2 , g ); testClosestCell( forwardDet1, g ); testClosestCell( forwardDet3, g ); const std::vector<DetId>& ids=g->getValidDetIds(DetId::Hcal,HcalBarrel); for (std::vector<DetId>::const_iterator i=ids.begin(); i!=ids.end(); i++) { testClosestCell( HcalDetId(*i), g ); } }
void testValidDetIds( HcalTopology& topology, DetId::Detector det, int subdet, char const* label ) { HcalHardcodeGeometryLoader loader( topology ); HcalHardcodeGeometryLoader::ReturnType caloGeom = loader.load( det, subdet ); std::cout << std::endl << label << " : " << std::endl; const std::vector<DetId>& idshb = caloGeom->getValidDetIds( det, subdet ); int counter = 0; for (std::vector<DetId>::const_iterator i=idshb.begin(); i!=idshb.end(); i++, ++counter) { HcalDetId hid=(*i); std::cout << counter << ": din " << topology.detId2denseId(*i) << ":" << hid; const CaloCellGeometry * cell = caloGeom->getGeometry(*i); std::cout << *cell << std::endl; } std::cout << "=== Total " << counter << " cells in " << label << std::endl; }