CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Static Public Member Functions
MEEBGeom Class Reference

#include <MEEBGeom.h>

Public Types

typedef int EBGlobalCoord
 
typedef int EBLocalCoord
 
typedef int EBTTLocalCoord
 
enum  EBUnit {
  iEcalBarrel, iSuperModule, iDCC, iSide,
  iLMRegion, iLMModule, iTriggerTower, iCrystal
}
 
typedef std::pair
< EBGlobalCoord, EBGlobalCoord
EtaPhiCoord
 
typedef std::pair< float, float > EtaPhiPoint
 
typedef std::pair
< EBLocalCoord, EBLocalCoord
XYCoord
 

Public Member Functions

virtual ~MEEBGeom ()
 

Static Public Member Functions

static std::vector< int > apdRefChannels (int ilmmod)
 
static int apdRefTower (int ilmmod)
 
static int barrel (EBGlobalCoord ieta, EBGlobalCoord iphi)
 
static int crystal (EBGlobalCoord ieta, EBGlobalCoord iphi)
 
static int crystal_channel (EBLocalCoord ix, EBLocalCoord iy)
 
static int dcc (EBGlobalCoord ieta, EBGlobalCoord iphi)
 
static int dccFromSm (int ism)
 
static int electronic_channel (EBLocalCoord ix, EBLocalCoord iy)
 
static TGraph * getGraphBoundary (int type, int num, bool global=false)
 
static EtaPhiCoord globalCoord (int ism, EBLocalCoord ix, EBLocalCoord iy)
 
static EtaPhiPoint globalCoord (int ism, float x, float y)
 
static EtaPhiCoord globalCoord (int ism, int icrystal)
 
static int hv_channel (EBTTLocalCoord iX, EBTTLocalCoord iY)
 
static int lm_channel (EBTTLocalCoord iX, EBTTLocalCoord iY)
 
static int lmmod (EBGlobalCoord ieta, EBGlobalCoord iphi)
 
static std::vector< int > lmmodFromLmr (int ilmr)
 
static int lmr (EBGlobalCoord ieta, EBGlobalCoord iphi)
 
static XYCoord localCoord (int icr)
 
static XYCoord localCoord (EBGlobalCoord ieta, EBGlobalCoord iphi)
 
static int lv_channel (EBTTLocalCoord iX, EBTTLocalCoord iY)
 
static std::pair< int, int > memFromLmr (int ilmr)
 
static std::pair< int, int > pn (int ilmmod)
 
static int side (EBGlobalCoord ieta, EBGlobalCoord iphi)
 
static int sm (EBGlobalCoord ieta, EBGlobalCoord iphi)
 
static int smFromDcc (int idcc)
 
static TString smName (int ism)
 
static int tt (EBGlobalCoord ieta, EBGlobalCoord iphi)
 
static int tt_channel (EBTTLocalCoord iX, EBTTLocalCoord iY)
 
static int tt_type (EBTTLocalCoord iX, EBTTLocalCoord iY)
 

Detailed Description

Definition at line 15 of file MEEBGeom.h.

Member Typedef Documentation

Definition at line 23 of file MEEBGeom.h.

Definition at line 22 of file MEEBGeom.h.

Definition at line 24 of file MEEBGeom.h.

Definition at line 26 of file MEEBGeom.h.

typedef std::pair<float,float> MEEBGeom::EtaPhiPoint

Definition at line 25 of file MEEBGeom.h.

Definition at line 27 of file MEEBGeom.h.

Member Enumeration Documentation

Enumerator
iEcalBarrel 
iSuperModule 
iDCC 
iSide 
iLMRegion 
iLMModule 
iTriggerTower 
iCrystal 

Definition at line 20 of file MEEBGeom.h.

Constructor & Destructor Documentation

virtual MEEBGeom::~MEEBGeom ( )
inlinevirtual

Definition at line 71 of file MEEBGeom.h.

71 {}

Member Function Documentation

std::vector< int > MEEBGeom::apdRefChannels ( int  ilmmod)
static

Definition at line 555 of file MEEBGeom.cc.

Referenced by ME::apdRefChannels().

556 {
557 
558  std::vector< int > vec;
559  switch( ilmmod )
560  {
561  case 1: vec.push_back(0); vec.push_back(24); break;
562  case 2: vec.push_back(0); vec.push_back(24); break;
563  case 3: vec.push_back(0); vec.push_back(24); break;
564  case 4: vec.push_back(0); vec.push_back(24); break;
565  case 5: vec.push_back(0); vec.push_back(24); break;
566  case 6: vec.push_back(0); vec.push_back(24); break;
567  case 7: vec.push_back(0); vec.push_back(24); break;
568  case 8: vec.push_back(0); vec.push_back(24); break;
569  case 9: vec.push_back(0); vec.push_back(24); break;
570  default:
571  abort();
572  }
573  return vec;
574 }
int MEEBGeom::apdRefTower ( int  ilmmod)
static

Definition at line 524 of file MEEBGeom.cc.

Referenced by EcalLaserAnalyzer2::analyze(), and EcalLaserAnalyzer::analyze().

525 {
526  switch( ilmmod )
527  {
528  /* case 1: return 1;
529  case 2: return 5;
530  case 3: return 7;
531  case 4: return 21;
532  case 5: return 23;
533  case 6: return 37;
534  case 7: return 39;
535  case 8: return 53;
536  case 9: return 55;
537  */
538  case 1: return 2;
539  case 2: return 6;
540  case 3: return 8;
541  case 4: return 22;
542  case 5: return 24;
543  case 6: return 38;
544  case 7: return 40;
545  case 8: return 54;
546  case 9: return 56;
547  default:
548  abort();
549  }
550  return 0;
551 }
int MEEBGeom::barrel ( EBGlobalCoord  ieta,
EBGlobalCoord  iphi 
)
static

Definition at line 15 of file MEEBGeom.cc.

16 {
17  int iz=1;
18  if( ieta<0 ) iz=-1;
19  ieta *= iz;
20  assert( ieta>0 && ieta<=85 );
21  if( iphi<0 ) iphi+=360;
22  assert( iphi>0 && iphi<=360 );
23  return iz;
24 }
int MEEBGeom::crystal ( EBGlobalCoord  ieta,
EBGlobalCoord  iphi 
)
static

Definition at line 107 of file MEEBGeom.cc.

108 {
109  std::pair<EBLocalCoord,EBLocalCoord> ixy = localCoord( ieta, iphi );
110  return crystal_channel( ixy.first, ixy.second );
111 }
static XYCoord localCoord(int icr)
Definition: MEEBGeom.cc:153
static int crystal_channel(EBLocalCoord ix, EBLocalCoord iy)
Definition: MEEBGeom.cc:336
int MEEBGeom::crystal_channel ( EBLocalCoord  ix,
EBLocalCoord  iy 
)
static

Definition at line 336 of file MEEBGeom.cc.

Referenced by MELaserPrim::fillHistograms(), and ME::regTree().

337 {
338  // "Test beam numbering"
339  int icr = 20*ix + 19-iy + 1; // :)
340 
341  return icr;
342 }
int MEEBGeom::dcc ( EBGlobalCoord  ieta,
EBGlobalCoord  iphi 
)
static

Definition at line 48 of file MEEBGeom.cc.

References ecalpyutils::ism().

49 {
50  int ism = sm( ieta, iphi );
51  return dccFromSm( ism );
52 }
static int sm(EBGlobalCoord ieta, EBGlobalCoord iphi)
Definition: MEEBGeom.cc:27
int ism(int ieta, int iphi)
Definition: EcalPyUtils.cc:56
static int dccFromSm(int ism)
Definition: MEEBGeom.cc:55
int MEEBGeom::dccFromSm ( int  ism)
static

Definition at line 55 of file MEEBGeom.cc.

References ecalpyutils::ism().

56 {
57  assert( ism>=1 && ism<=36 );
58  int iz=1;
59  if( ism>18 ) iz=-1;
60  if( iz==-1 ) ism-=18;
61  assert( ism>=1 && ism<=18 );
62  int idcc = 9+ism;
63  if( iz==+1 ) idcc+=18;
64  return idcc;
65 }
int ism(int ieta, int iphi)
Definition: EcalPyUtils.cc:56
int MEEBGeom::electronic_channel ( EBLocalCoord  ix,
EBLocalCoord  iy 
)
static

Definition at line 345 of file MEEBGeom.cc.

Referenced by EcalABAnalyzer::analyze(), EcalPerEvtLaserAnalyzer::analyze(), EcalTestPulseAnalyzer::analyze(), EcalLaserAnalyzer2::analyze(), EcalLaserAnalyzer::analyze(), and ME::regTree().

346 {
347  int iX = ix/5;
348  int iY = iy/5;
349  int itt = tt_channel( iX, iY );
350  int type = tt_type( iX, iY );
351 
352  int iVFE = ix%5+1;
353  int islot = iy%5+1;
354  if( iVFE%2==1 ) islot = 6-islot;
355  int icr = 5*(iVFE-1)+(islot-1);
356  // rotate for type-1 towers
357  if( type==1 )
358  {
359  icr = 24-icr;
360  }
361  icr += 25*(itt-1);
362 
363  return icr;
364 }
type
Definition: HCALResponse.h:22
static int tt_type(EBTTLocalCoord iX, EBTTLocalCoord iY)
Definition: MEEBGeom.cc:245
static int tt_channel(EBTTLocalCoord iX, EBTTLocalCoord iY)
Definition: MEEBGeom.cc:326
TGraph * MEEBGeom::getGraphBoundary ( int  type,
int  num,
bool  global = false 
)
static

Definition at line 367 of file MEEBGeom.cc.

References ecalpyutils::ism(), n, and create_public_lumi_plots::xy.

Referenced by MEGeom::drawGlobalBoundaries().

368 {
369  int ism_=0;
370  if( type==iSuperModule )
371  {
372  ism_ = num;
373  }
374  else if( type==iLMRegion )
375  {
376  ism_ = (num-1)/2+1;
377  if( ism_>18 )
378  ism_-=18;
379  else
380  ism_+=18;
381  }
382  else
383  abort();
384 
385  int ism=1;
386  if( global ) ism = ism_;
387 
388  // std::list< std::pair< float, float > > l;
389  // getBoundary( l, type, num, global, ism );
390  // int n = l.size();
391  // if( n==0 ) return 0;
392 
393  float ix[100];
394  float iy[100];
395  int ixmin = 0;
396  int ixmax = 84;
397  int iymin = 0;
398  int iymax = 19;
399 
400  int n(0);
401  if( type==iSuperModule )
402  {
403  n=5;
404  ix[0] = ixmin-0.5;
405  iy[0] = iymin-0.5;
406  ix[1] = ixmin-0.5;
407  iy[1] = iymax+0.5;
408  ix[2] = ixmax+0.5;
409  iy[2] = iymax+0.5;
410  ix[3] = ixmax+0.5;
411  iy[3] = iymin-0.5;
412  ix[4] = ix[0];
413  iy[4] = iy[0];
414  }
415  else if( type==iLMRegion )
416  {
417  int iside = num;
418  if( global )
419  {
420  iside = (num-1)%2;
421  }
422 
423  if( iside==1 )
424  {
425  n=5;
426  ix[0] = ixmin+5-0.5;
427  iy[0] = iymin+10-0.5;
428  ix[1] = ixmin+5-0.5;
429  iy[1] = iymax+0.5;
430  ix[2] = ixmax+0.5;
431  iy[2] = iymax+0.5;
432  ix[3] = ixmax+0.5;
433  iy[3] = iymin+10-0.5;
434  ix[4] = ix[0];
435  iy[4] = iy[0];
436  }
437  else
438  {
439  n=7;
440  ix[0] = ixmin-0.5;
441  iy[0] = iymin-0.5;
442  ix[1] = ixmin-0.5;
443  iy[1] = iymax+0.5;
444  ix[2] = ixmin+5-0.5;
445  iy[2] = iymax+0.5;
446  ix[3] = ixmin+5-0.5;
447  iy[3] = iymax-10+0.5;
448  ix[4] = ixmax+0.5;
449  iy[4] = iymax-10+0.5;
450  ix[5] = ixmax+0.5;
451  iy[5] = iymin-0.5;
452  ix[6] = ix[0];
453  iy[6] = iy[0];
454  }
455  }
456 
457  if( global )
458  {
459  for( int ii=0; ii<n; ii ++ )
460  {
461  std::pair<float,float> xy = globalCoord( ism, ix[ii], iy[ii] );
462  ix[ii] = xy.first;
463  iy[ii] = xy.second;
464  }
465  }
466 
467 // int ii=0;
468 // std::list< std::pair< float, float > >::const_iterator l_it;
469 // for( l_it=l.begin(); l_it!=l.end(); l_it++ )
470 // {
471 // // std::cout << "[" << l_it->first << "," << l_it->second << "]" << std::endl;
472 // ix[ii] = l_it->first;
473 // iy[ii] = l_it->second;
474 // ii++;
475 // }
476 
477 
478 // assert( ii==n );
479  return new TGraph( n, ix, iy );
480 }
type
Definition: HCALResponse.h:22
static EtaPhiCoord globalCoord(int ism, EBLocalCoord ix, EBLocalCoord iy)
Definition: MEEBGeom.cc:162
long long int num
Definition: procUtils.cc:71
int ism(int ieta, int iphi)
Definition: EcalPyUtils.cc:56
std::pair< MEEBGeom::EBGlobalCoord, MEEBGeom::EBGlobalCoord > MEEBGeom::globalCoord ( int  ism,
MEEBGeom::EBLocalCoord  ix,
MEEBGeom::EBLocalCoord  iy 
)
static

Definition at line 162 of file MEEBGeom.cc.

Referenced by ME::regTree().

163 {
164  assert( ism>=1 && ism<=36 );
165  assert( ix>=0 && ix<85 );
166  assert( iy>=0 && iy<20 );
167  // int iz=-1;
168  int iz=1;
169  if( ism>18 )
170  {
171  iz=-1;
172  ism -= 18;
173  }
174  if( iz==-1 ) iy = 19-iy;
175  // if( iz==1 ) iy = 19-iy;
176 
177  int ieta = ix+1;
178  ieta *= iz;
179  // int iphi = -9 + iy + 20*(ism-1);
180  int iphi = 1 + iy + 20*(ism-1);
181 
182  return std::pair< EBGlobalCoord, EBGlobalCoord >(ieta,iphi);
183 }
int ism(int ieta, int iphi)
Definition: EcalPyUtils.cc:56
std::pair< float, float > MEEBGeom::globalCoord ( int  ism,
float  x,
float  y 
)
static

Definition at line 186 of file MEEBGeom.cc.

References eta(), phi, and detailsBasic3DVector::y.

187 {
188  assert( ism>=1 && ism<=36 );
189  int iz=1;
190  if( ism>18 )
191  {
192  iz=-1;
193  ism -= 18;
194  }
195  if( iz==-1 ) y = 19-y;
196 
197  float eta = x+1;
198  eta *= iz;
199  // float phi = -9 + y + 20*(ism-1);
200  float phi = 1 + y + 20*(ism-1);
201 
202  return std::pair< float, float >(eta,phi);
203 }
T eta() const
x
Definition: VDTMath.h:216
int ism(int ieta, int iphi)
Definition: EcalPyUtils.cc:56
Definition: DDAxes.h:10
std::pair< MEEBGeom::EBGlobalCoord, MEEBGeom::EBGlobalCoord > MEEBGeom::globalCoord ( int  ism,
int  icrystal 
)
static

Definition at line 206 of file MEEBGeom.cc.

207 {
208  assert( ism>=1 && ism<=36 );
209  assert( icr>=1 && icr<=1700 );
210 
211  int ix = (icr-1)/20;
212  int iy = 19 - (icr-1)%20;
213 
214  return globalCoord( ism, ix, iy );
215 }
static EtaPhiCoord globalCoord(int ism, EBLocalCoord ix, EBLocalCoord iy)
Definition: MEEBGeom.cc:162
int ism(int ieta, int iphi)
Definition: EcalPyUtils.cc:56
int MEEBGeom::hv_channel ( EBTTLocalCoord  iX,
EBTTLocalCoord  iY 
)
static

Definition at line 272 of file MEEBGeom.cc.

273 {
274  string
275  str_
276  (
277  // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
278  "-01-03-05-07-09-11-13-15-17-19-21-23-25-27-29-31-33" // 3
279  "-01-03-05-07-09-11-13-15-17-19-21-23-25-27-29-31-33" // 2
280  "-02-04-06-08-10-12-14-16-18-20-22-24-26-28-30-32-34" // 1
281  "-02-04-06-08-10-12-14-16-18-20-22-24-26-28-30-32-34" // 0
282  // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
283  );
284 
285  int iym, ixm, nc, il, ic, ii;
286  iym=4;
287  ixm=17;
288  int iX_ = iX+1;
289  int iY_ = iY+1;
290  nc=3;
291  il=iym-iY_;
292  ic=nc*(iX_-1);
293  ii=il*nc*ixm+ic;
294  if( str_.substr(ii,1).find("-")==string::npos ) return -1;
295  return atoi( str_.substr(ii+1,2).c_str() );
296 }
int MEEBGeom::lm_channel ( EBTTLocalCoord  iX,
EBTTLocalCoord  iY 
)
static

Definition at line 218 of file MEEBGeom.cc.

Referenced by ME::regTree().

219 {
220  string
221  str_
222  (
223  // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
224  "-01-02-02-02-02-04-04-04-04-06-06-06-06-08-08-08-08" // 3
225  "-01-02-02-02-02-04-04-04-04-06-06-06-06-08-08-08-08" // 2
226  "-01-03-03-03-03-05-05-05-05-07-07-07-07-09-09-09-09" // 1
227  "-01-03-03-03-03-05-05-05-05-07-07-07-07-09-09-09-09" // 0
228  // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
229  );
230 
231  int iym, ixm, nc, il, ic, ii;
232  iym=4;
233  ixm=17;
234  int iX_ = iX+1;
235  int iY_ = iY+1;
236  nc=3;
237  il=iym-iY_;
238  ic=nc*(iX_-1);
239  ii=il*nc*ixm+ic;
240  if( str_.substr(ii,1).find("-")==string::npos ) return -1;
241  return atoi( str_.substr(ii+1,2).c_str() );
242 }
int MEEBGeom::lmmod ( EBGlobalCoord  ieta,
EBGlobalCoord  iphi 
)
static

Definition at line 93 of file MEEBGeom.cc.

Referenced by EcalPerEvtLaserAnalyzer::analyze(), EcalTestPulseAnalyzer::analyze(), EcalLaserAnalyzer2::analyze(), EcalLaserAnalyzer::analyze(), and ecaldqm::LaserTask::runOnUncalibRecHits().

94 {
95  std::pair<EBLocalCoord,EBLocalCoord> ixy = localCoord( ieta, iphi );
96  return lm_channel( ixy.first/5, ixy.second/5 );
97 }
static XYCoord localCoord(int icr)
Definition: MEEBGeom.cc:153
static int lm_channel(EBTTLocalCoord iX, EBTTLocalCoord iY)
Definition: MEEBGeom.cc:218
std::vector< int > MEEBGeom::lmmodFromLmr ( int  ilmr)
static

Definition at line 511 of file MEEBGeom.cc.

References ME::dccAndSide().

Referenced by ME::lmmodFromLmr().

512 {
513  std::pair< int, int > dccAndSide_ = ME::dccAndSide( ilmr );
514  int iside = dccAndSide_.second;
515  std::vector< int > vec;
516  for( int ilmmod=1; ilmmod<=9; ilmmod++ )
517  {
518  if( (ilmmod+iside)%2==1 ) vec.push_back(ilmmod);
519  }
520  return vec;
521 }
static std::pair< int, int > dccAndSide(int ilmr)
Definition: ME.cc:313
int MEEBGeom::lmr ( EBGlobalCoord  ieta,
EBGlobalCoord  iphi 
)
static

Definition at line 121 of file MEEBGeom.cc.

References ecalpyutils::ism().

Referenced by EcalLaserAnalyzer2::analyze(), EcalLaserAnalyzer::analyze(), EcalLaserDbService::getLaserCorrection(), and ME::regTree().

122 {
123  int idcc = dcc( ieta, iphi );
124  int ism = idcc-9;
125  int iside = side( ieta, iphi );
126  int ilmr = 1 + 2*(ism-1) + iside;
127  return ilmr;
128 }
static int side(EBGlobalCoord ieta, EBGlobalCoord iphi)
Definition: MEEBGeom.cc:114
static int dcc(EBGlobalCoord ieta, EBGlobalCoord iphi)
Definition: MEEBGeom.cc:48
int ism(int ieta, int iphi)
Definition: EcalPyUtils.cc:56
std::pair< MEEBGeom::EBLocalCoord, MEEBGeom::EBLocalCoord > MEEBGeom::localCoord ( int  icr)
static

Definition at line 153 of file MEEBGeom.cc.

Referenced by EcalABAnalyzer::analyze(), EcalPerEvtLaserAnalyzer::analyze(), EcalTestPulseAnalyzer::analyze(), EcalLaserAnalyzer2::analyze(), EcalLaserAnalyzer::analyze(), MELaserPrim::fillHistograms(), MEChannel::oneLine(), and MEChannel::oneWord().

154 {
155  assert( icr>=1 && icr<=1700 );
156  int ix = (icr-1)/20;
157  int iy = 19 - (icr-1)%20;
158  return std::pair< EBLocalCoord, EBLocalCoord >(ix,iy);
159 }
std::pair< MEEBGeom::EBLocalCoord, MEEBGeom::EBLocalCoord > MEEBGeom::localCoord ( MEEBGeom::EBGlobalCoord  ieta,
MEEBGeom::EBGlobalCoord  iphi 
)
static

Definition at line 131 of file MEEBGeom.cc.

132 {
133  int iz=1;
134  if( ieta<0 ) iz=-1;
135  ieta *= iz;
136  assert( ieta>0 && ieta<=85 );
137 
138  // int iphi_ = iphi+10;
139  int iphi_ = iphi;
140  if( iphi_>360 ) iphi_-=360;
141  assert( iphi_>0 && iphi_<=360 );
142 
143  int ix = ieta-1;
144 
145  int iy = (iphi_-1)%20;
146  if( iz==-1 ) iy = 19-iy;
147  // if( iz==1 ) iy = 19-iy;
148 
149  return std::pair< EBLocalCoord, EBLocalCoord >(ix,iy);
150 }
int MEEBGeom::lv_channel ( EBTTLocalCoord  iX,
EBTTLocalCoord  iY 
)
static

Definition at line 299 of file MEEBGeom.cc.

300 {
301  string
302  str_
303  (
304  // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
305  "-01-02-02-04-04-06-06-08-08-10-10-12-12-14-14-16-16" // 3
306  "-01-02-02-04-04-06-06-08-08-10-10-12-12-14-14-16-16" // 2
307  "-01-03-03-05-05-07-07-09-09-11-11-13-13-15-15-17-17" // 1
308  "-01-03-03-05-05-07-07-09-09-11-11-13-13-15-15-17-17" // 0
309  // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
310  );
311 
312  int iym, ixm, nc, il, ic, ii;
313  iym=4;
314  ixm=17;
315  int iX_ = iX+1;
316  int iY_ = iY+1;
317  nc=3;
318  il=iym-iY_;
319  ic=nc*(iX_-1);
320  ii=il*nc*ixm+ic;
321  if( str_.substr(ii,1).find("-")==string::npos ) return -1;
322  return atoi( str_.substr(ii+1,2).c_str() );
323 }
std::pair< int, int > MEEBGeom::memFromLmr ( int  ilmr)
static

Definition at line 503 of file MEEBGeom.cc.

References ME::dccAndSide().

Referenced by ME::memFromLmr().

504 {
505  std::pair< int, int > dccAndSide_ = ME::dccAndSide( ilmr );
506  int idcc = dccAndSide_.first;
507  return std::pair<int,int>( idcc, idcc );
508 }
static std::pair< int, int > dccAndSide(int ilmr)
Definition: ME.cc:313
std::pair< int, int > MEEBGeom::pn ( int  ilmmod)
static

Definition at line 483 of file MEEBGeom.cc.

Referenced by EcalPerEvtLaserAnalyzer::analyze(), EcalTestPulseAnalyzer::analyze(), EcalLaserAnalyzer2::analyze(), EcalLaserAnalyzer::analyze(), ME::pn(), and ecaldqm::LaserTask::runOnUncalibRecHits().

484 {
485  switch( ilmmod )
486  {
487  case 1: return std::pair<int,int>( 0, 5 );
488  case 2: return std::pair<int,int>( 1, 6 );
489  case 3: return std::pair<int,int>( 1, 6 );
490  case 4: return std::pair<int,int>( 2, 7 );
491  case 5: return std::pair<int,int>( 2, 7 );
492  case 6: return std::pair<int,int>( 3, 8 );
493  case 7: return std::pair<int,int>( 3, 8 );
494  case 8: return std::pair<int,int>( 4, 9 );
495  case 9: return std::pair<int,int>( 4, 9 );
496  default:
497  abort();
498  }
499  return std::pair<int,int>(-1,-1);
500 }
int MEEBGeom::side ( EBGlobalCoord  ieta,
EBGlobalCoord  iphi 
)
static

Definition at line 114 of file MEEBGeom.cc.

Referenced by EcalABAnalyzer::analyze(), EcalPerEvtLaserAnalyzer::analyze(), EcalTestPulseAnalyzer::analyze(), EcalLaserAnalyzer2::setGeomEB(), and EcalLaserAnalyzer::setGeomEB().

115 {
116  int ilmmod = lmmod( ieta, iphi );
117  return (ilmmod%2==0)?1:0;
118 }
static int lmmod(EBGlobalCoord ieta, EBGlobalCoord iphi)
Definition: MEEBGeom.cc:93
int MEEBGeom::sm ( EBGlobalCoord  ieta,
EBGlobalCoord  iphi 
)
static

Definition at line 27 of file MEEBGeom.cc.

References ecalpyutils::ism().

28 {
29  int iz=1;
30  if( ieta<0 ) iz=-1;
31  ieta *= iz;
32  assert( ieta>0 && ieta<=85 );
33 
34  // int iphi_ = iphi+10;
35  int iphi_ = iphi;
36  if( iphi_>360 ) iphi_-=360;
37  assert( iphi_>0 && iphi_<=360 );
38 
39  int ism = (iphi_-1)/20 + 1;
40  assert( ism>=1 && ism<=18 );
41  // if( iz==1 ) ism += 18;
42  if( iz==-1 ) ism += 18;
43 
44  return ism;
45 }
int ism(int ieta, int iphi)
Definition: EcalPyUtils.cc:56
int MEEBGeom::smFromDcc ( int  idcc)
static

Definition at line 68 of file MEEBGeom.cc.

References ecalpyutils::ism().

69 {
70  if( idcc>600 ) idcc-=600; // also works with FEDids
71  assert( idcc>=10 && idcc<=45 );
72  int ism=idcc-9;
73  if( ism>18 ) ism-=18;
74  else ism+=18;
75  return ism;
76 }
int ism(int ieta, int iphi)
Definition: EcalPyUtils.cc:56
TString MEEBGeom::smName ( int  ism)
static

Definition at line 79 of file MEEBGeom.cc.

References ecalpyutils::ism(), and dbtoconf::out.

Referenced by MEGeom::getHist().

80 {
81  assert( ism>=1 && ism<=36 );
82  TString out = "EB+";
83  if( ism>18 )
84  {
85  out = "EB-";
86  ism -= 18;
87  }
88  out += ism;
89  return out;
90 }
tuple out
Definition: dbtoconf.py:99
int ism(int ieta, int iphi)
Definition: EcalPyUtils.cc:56
int MEEBGeom::tt ( EBGlobalCoord  ieta,
EBGlobalCoord  iphi 
)
static

Definition at line 100 of file MEEBGeom.cc.

101 {
102  std::pair<EBLocalCoord,EBLocalCoord> ixy = localCoord( ieta, iphi );
103  return tt_channel( ixy.first/5, ixy.second/5 );
104 }
static XYCoord localCoord(int icr)
Definition: MEEBGeom.cc:153
static int tt_channel(EBTTLocalCoord iX, EBTTLocalCoord iY)
Definition: MEEBGeom.cc:326
int MEEBGeom::tt_channel ( EBTTLocalCoord  iX,
EBTTLocalCoord  iY 
)
static

Definition at line 326 of file MEEBGeom.cc.

Referenced by ME::regTree().

327 {
328 
329  int itt = 4*iX+4-iY; // :)
330 
331  return itt;
332 
333 }
int MEEBGeom::tt_type ( EBTTLocalCoord  iX,
EBTTLocalCoord  iY 
)
static

Definition at line 245 of file MEEBGeom.cc.

246 {
247  string
248  str_
249  (
250  // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
251  "-01-01-01-02-02-01-01-02-02-01-01-02-02-01-01-02-02" // 3
252  "-01-01-01-02-02-01-01-02-02-01-01-02-02-01-01-02-02" // 2
253  "-01-01-01-02-02-01-01-02-02-01-01-02-02-01-01-02-02" // 1
254  "-01-01-01-02-02-01-01-02-02-01-01-02-02-01-01-02-02" // 0
255  // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
256  );
257 
258  int iym, ixm, nc, il, ic, ii;
259  iym=4;
260  ixm=17;
261  int iX_ = iX+1;
262  int iY_ = iY+1;
263  nc=3;
264  il=iym-iY_;
265  ic=nc*(iX_-1);
266  ii=il*nc*ixm+ic;
267  if( str_.substr(ii,1).find("-")==string::npos ) return -1;
268  return atoi( str_.substr(ii+1,2).c_str() );
269 }