41 return endcapRingIndex;
75 std::vector<DetId> ringIds;
91 ringIds.push_back(
EBDetId(k,iphi));
106 ringIds.push_back(
EEDetId(ix+1,iy+1,zside));
116 std::vector<DetId> ringIds;
121 ringIds.push_back(
EBDetId(ieta,iphi));
129 for(
int zside = -1; zside<2; zside += 2)
131 ringIds.push_back(
EEDetId(ix+1,iy+1,zside) );
142 std::vector<DetId> ringIds;
146 short moduleBound[5] = {1, 26, 46, 66, 86};
150 short sm, moduleInSm, zsm;
152 short minModuleiphi, maxModuleiphi, minModuleieta=360,maxModuleieta=0;
155 sm = moduleIndex / 4 + 1;
160 moduleInSm = moduleIndex%4;
169 minModuleiphi = ( (sm - 1) %18 + 1 ) *20 - 19;
170 maxModuleiphi = ( (sm - 1) %18 + 1 ) * 20;
174 minModuleieta = moduleBound[ moduleInSm ];
175 maxModuleieta = moduleBound[ moduleInSm + 1 ] - 1;
178 minModuleieta = - moduleBound[ moduleInSm + 1 ] + 1;
179 maxModuleieta = - moduleBound[ moduleInSm ];
184 std::cout<<
"Called moduleIndex "<<moduleIndex<<std::endl;
185 std::cout<<
"minModuleieta "<<minModuleieta<<
" maxModuleieta "<<maxModuleieta<<
" minModuleiphi "<<minModuleiphi<<
" maxModuleiphi "<<maxModuleiphi<<std::endl;
187 for(
int ieta = minModuleieta; ieta <= maxModuleieta; ++ieta){
188 for(
int iphi = minModuleiphi; iphi<= maxModuleiphi; ++iphi){
191 ringIds.push_back(
EBDetId(ieta,iphi));
208 edm::LogError(
"EcalRingCalibrationTools") <<
"BIG ERROR::Initializing without geometry handle" ;
216 m_cellPosEta[ix][iy] = -1.;
225 edm::LogError(
"EcalRingCalibrationTools") <<
"BIG ERROR::Ecal Endcap geometry not found" ;
231 for (std::vector<DetId>::const_iterator endcapIt = m_endcapCells.begin();
232 endcapIt!=m_endcapCells.end();
236 if (ee.
zside() == -1)
continue;
238 int ics=ee.
ix() - 1 ;
239 int ips=ee.
iy() - 1 ;
248 eta_ring[
ring]=m_cellPosEta[
ring][50];
263 if (m_cellPosEta[ix][iy]>etaBoundary[
ring] && m_cellPosEta[ix][iy]<etaBoundary[
ring+1])
272 for (std::vector<DetId>::const_iterator barrelIt = m_barrelCells.begin();
273 barrelIt!=m_barrelCells.end();
static bool validDetId(int i, int j)
check if a valid index combination
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
static const int MIN_IPHI
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
int ism() const
get the ECAL/SM id
virtual const CaloCellGeometry * getGeometry(const DetId &id) const
Get the cell geometry of a given detector id. Should return false if not found.
int im() const
get the number of module inside the SM (1-4)
int ieta() const
get the crystal ieta
static const int MAX_IPHI
static const int MAX_IETA
std::vector< DetId > getValidDetIds() const
Get the list of all valid detector ids.
const GlobalPoint & getPosition() const