CMS 3D CMS Logo

List of all members | Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes
ME Class Reference

#include <ME.h>

Classes

struct  Header
 
struct  Settings
 

Public Types

enum  {
  iLmfLaserRun, iLmfLaserConfig, iLmfLaserPulse, iLmfLaserPrim,
  iLmfLaserPnPrim, iLmfTestPulseRun, iLmfTestPulseConfig, iLmfTestPulsePrim,
  iLmfTestPulsePnPrim, iSizeLmf
}
 
enum  {
  iAPD_FLAG, iAPD_MEAN, iAPD_RMS, iAPD_M3,
  iAPD_OVER_PNA_MEAN, iAPD_OVER_PNA_RMS, iAPD_OVER_PNA_M3, iAPD_OVER_PNB_MEAN,
  iAPD_OVER_PNB_RMS, iAPD_OVER_PNB_M3, iAPD_OVER_PN_MEAN, iAPD_OVER_PN_RMS,
  iAPD_OVER_PN_M3, iAPD_SHAPE_COR, iAPD_ALPHA, iAPD_BETA,
  iAPD_TIME_MEAN, iAPD_TIME_RMS, iAPD_TIME_M3, iAPD_TIME_NEVT,
  iSizeAPD
}
 
enum  {
  iPN_FLAG, iPN_MEAN, iPN_RMS, iPN_M3,
  iPNA_OVER_PNB_MEAN, iPNA_OVER_PNB_RMS, iPNA_OVER_PNB_M3, iSizePN
}
 
enum  {
  iMTQ_FIT_METHOD, iMTQ_AMPL, iMTQ_TIME, iMTQ_RISE,
  iMTQ_FWHM, iMTQ_FW20, iMTQ_FW80, iMTQ_SLIDING,
  iSizeMTQ
}
 
enum  {
  iTPAPD_FLAG, iTPAPD_MEAN, iTPAPD_RMS, iTPAPD_M3,
  iTPAPD_NEVT, iSizeTPAPD
}
 
enum  {
  iTPPN_GAIN, iTPPN_MEAN, iTPPN_RMS, iTPPN_M3,
  iSizeTPPN
}
 
enum  Color {
  iBlue = 0, iGreen, iRed, iIRed,
  iLED1, iLED2, iSizeC
}
 
typedef int DCCid
 
enum  EcalElec { iElectronicChannel = iSizeG, iHVChannel, iLVChannel, iSizeU }
 
enum  EcalRegion {
  iEEM = 0, iEBM, iEBP, iEEP,
  iSizeE
}
 
enum  EcalUnit {
  iEcalRegion = 0, iSector, iLMRegion, iLMModule,
  iSuperCrystal, iCrystal, iSizeG
}
 
enum  Gain { iVfeGain12 = 1, iVfeGain6, iVfeGain1, iSizeVfeGain }
 
typedef int LMMid
 
typedef int LMRid
 
enum  PN { iPNA = 0, iPNB }
 
enum  PNGain { iPnGain1 = 0, iPnGain16, iSizePnGain }
 
typedef int PNid
 
enum  RunType { iLaser = 0, iTestPulse, iSizeT }
 
typedef unsigned long Time
 
typedef unsigned long long TimeStamp
 
enum  TUnit {
  iDay, iHour, iMinute, iSecond,
  iSizeTU
}
 

Public Member Functions

virtual ~ME ()
 

Static Public Member Functions

static std::vector< int > apdRefChannels (ME::LMMid ilmmod, ME::LMRid ilmr)
 
static std::pair< int, int > dccAndSide (int ilmr)
 
static int ecalRegion (int ilmr)
 
static bool isBarrel (int ilmr)
 
static TString lmdataPath (int lmr)
 
static std::vector< ME::LMMidlmmodFromDcc (ME::DCCid idcc)
 
static std::vector< ME::LMMidlmmodFromLmr (ME::LMRid ilmr)
 
static int lmr (int idcc, int iside)
 
static MEChannellmrTree (int ilmr)
 
static std::vector< ME::DCCidmemFromDcc (ME::DCCid idcc)
 
static std::pair< ME::DCCid, ME::DCCidmemFromLmr (ME::LMRid ilmr)
 
static TString path ()
 
static std::pair< ME::DCCid, ME::PNidpn (ME::LMRid ilmr, ME::LMMid ilmmod, ME::PN ipn)
 
static TString primPath (int lmr)
 
static void regionAndSector (int ilmr, int &ireg, int &isect, int &idcc, int &iside)
 
static MEChannelregTree (int ireg)
 
static TString rootFileName (ME::Header header, ME::Settings settings)
 
static TString runListName (int lmr, int type, int color)
 
static TString smName (int ilmr)
 
static TString smName (int ireg, int ism)
 
static TString smNameFromDcc (int idcc)
 
static Time time (float dt, Time t0, int tunit=iHour)
 
static Time time_high (TimeStamp t)
 
static Time time_low (TimeStamp t)
 
static float timeDiff (Time t1, Time t0, int tunit=iHour)
 
static std::vector< TimetimeDiff (Time t1, Time t2, short int &sign)
 

Static Public Attributes

static std::vector< MEChannel * > _trees = std::vector<MEChannel*>(4, (MEChannel*)nullptr)
 
static TString APDPrimVar [iSizeAPD]
 
static TString color [iSizeC] = {"Blue", "Green", "Red", "IRed", "LED1", "LED2"}
 
static TString granularity [iSizeG] = {"R", "SM", "LMR", "LMM", "SC", "C"}
 
static const TimeStamp kLowMask = 0xFFFFFFFF
 
static TString MTQPrimVar [iSizeMTQ]
 
static TString PNPrimVar [iSizePN]
 
static TString region [4] = {"EE-", "EB-", "EB+", "EE+"}
 
static TString TPAPDPrimVar [iSizeTPAPD] = {"FLAG", "MEAN", "RMS", "M3", "NEVT"}
 
static TString TPPNPrimVar [iSizeTPPN] = {"GAIN", "MEAN", "RMS", "M3"}
 
static TString type [iSizeT] = {"Laser", "TestPulse"}
 
static bool useElectronicNumbering = false
 

Detailed Description

Definition at line 11 of file ME.h.

Member Typedef Documentation

◆ DCCid

typedef int ME::DCCid

Definition at line 38 of file ME.h.

◆ LMMid

typedef int ME::LMMid

Definition at line 40 of file ME.h.

◆ LMRid

typedef int ME::LMRid

Definition at line 39 of file ME.h.

◆ PNid

typedef int ME::PNid

Definition at line 41 of file ME.h.

◆ Time

typedef unsigned long ME::Time

Definition at line 68 of file ME.h.

◆ TimeStamp

typedef unsigned long long ME::TimeStamp

Definition at line 69 of file ME.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
iLmfLaserRun 
iLmfLaserConfig 
iLmfLaserPulse 
iLmfLaserPrim 
iLmfLaserPnPrim 
iLmfTestPulseRun 
iLmfTestPulseConfig 
iLmfTestPulsePrim 
iLmfTestPulsePnPrim 
iSizeLmf 

Definition at line 94 of file ME.h.

◆ anonymous enum

anonymous enum
Enumerator
iAPD_FLAG 
iAPD_MEAN 
iAPD_RMS 
iAPD_M3 
iAPD_OVER_PNA_MEAN 
iAPD_OVER_PNA_RMS 
iAPD_OVER_PNA_M3 
iAPD_OVER_PNB_MEAN 
iAPD_OVER_PNB_RMS 
iAPD_OVER_PNB_M3 
iAPD_OVER_PN_MEAN 
iAPD_OVER_PN_RMS 
iAPD_OVER_PN_M3 
iAPD_SHAPE_COR 
iAPD_ALPHA 
iAPD_BETA 
iAPD_TIME_MEAN 
iAPD_TIME_RMS 
iAPD_TIME_M3 
iAPD_TIME_NEVT 
iSizeAPD 

Definition at line 108 of file ME.h.

108  {
109  iAPD_FLAG,
110  iAPD_MEAN,
111  iAPD_RMS,
112  iAPD_M3,
123  iAPD_ALPHA,
124  iAPD_BETA,
127  iAPD_TIME_M3,
129  iSizeAPD
130  };

◆ anonymous enum

anonymous enum
Enumerator
iPN_FLAG 
iPN_MEAN 
iPN_RMS 
iPN_M3 
iPNA_OVER_PNB_MEAN 
iPNA_OVER_PNB_RMS 
iPNA_OVER_PNB_M3 
iSizePN 

Definition at line 134 of file ME.h.

◆ anonymous enum

anonymous enum
Enumerator
iMTQ_FIT_METHOD 
iMTQ_AMPL 
iMTQ_TIME 
iMTQ_RISE 
iMTQ_FWHM 
iMTQ_FW20 
iMTQ_FW80 
iMTQ_SLIDING 
iSizeMTQ 

Definition at line 138 of file ME.h.

◆ anonymous enum

anonymous enum
Enumerator
iTPAPD_FLAG 
iTPAPD_MEAN 
iTPAPD_RMS 
iTPAPD_M3 
iTPAPD_NEVT 
iSizeTPAPD 

Definition at line 142 of file ME.h.

◆ anonymous enum

anonymous enum
Enumerator
iTPPN_GAIN 
iTPPN_MEAN 
iTPPN_RMS 
iTPPN_M3 
iSizeTPPN 

Definition at line 146 of file ME.h.

◆ Color

enum ME::Color
Enumerator
iBlue 
iGreen 
iRed 
iIRed 
iLED1 
iLED2 
iSizeC 

Definition at line 64 of file ME.h.

64 { iBlue = 0, iGreen, iRed, iIRed, iLED1, iLED2, iSizeC };

◆ EcalElec

enum ME::EcalElec
Enumerator
iElectronicChannel 
iHVChannel 
iLVChannel 
iSizeU 

Definition at line 18 of file ME.h.

◆ EcalRegion

enum ME::EcalRegion
Enumerator
iEEM 
iEBM 
iEBP 
iEEP 
iSizeE 

Definition at line 14 of file ME.h.

14 { iEEM = 0, iEBM, iEBP, iEEP, iSizeE };

◆ EcalUnit

enum ME::EcalUnit
Enumerator
iEcalRegion 
iSector 
iLMRegion 
iLMModule 
iSuperCrystal 
iCrystal 
iSizeG 

Definition at line 16 of file ME.h.

◆ Gain

enum ME::Gain
Enumerator
iVfeGain12 
iVfeGain6 
iVfeGain1 
iSizeVfeGain 

Definition at line 65 of file ME.h.

◆ PN

enum ME::PN
Enumerator
iPNA 
iPNB 

Definition at line 42 of file ME.h.

42 { iPNA = 0, iPNB };

◆ PNGain

enum ME::PNGain
Enumerator
iPnGain1 
iPnGain16 
iSizePnGain 

Definition at line 66 of file ME.h.

◆ RunType

enum ME::RunType
Enumerator
iLaser 
iTestPulse 
iSizeT 

Definition at line 63 of file ME.h.

63 { iLaser = 0, iTestPulse, iSizeT };

◆ TUnit

enum ME::TUnit
Enumerator
iDay 
iHour 
iMinute 
iSecond 
iSizeTU 

Definition at line 150 of file ME.h.

Constructor & Destructor Documentation

◆ ~ME()

virtual ME::~ME ( )
inlinevirtual

Definition at line 167 of file ME.h.

167 {}

Member Function Documentation

◆ apdRefChannels()

std::vector< int > ME::apdRefChannels ( ME::LMMid  ilmmod,
ME::LMRid  ilmr 
)
static

Definition at line 545 of file ME.cc.

545  {
546  if (isBarrel(ilmr))
547  return MEEBGeom::apdRefChannels(ilmmod);
548  else
549  return MEEEGeom::apdRefChannels(ilmmod);
550  return std::vector<int>();
551 }

References MEEBGeom::apdRefChannels(), MEEEGeom::apdRefChannels(), and PixelPluginsPhase0_cfi::isBarrel.

Referenced by EcalLaserAnalyzer2::setGeomEB(), EcalLaserAnalyzer::setGeomEB(), EcalLaserAnalyzer2::setGeomEE(), and EcalLaserAnalyzer::setGeomEE().

◆ dccAndSide()

std::pair< int, int > ME::dccAndSide ( int  ilmr)
static

Definition at line 295 of file ME.cc.

295  {
296  int idcc = 0;
297  int side = 0;
298 
299  int ireg = ecalRegion(ilmr);
300  if (ireg == iEEM)
301  ilmr -= 82;
302  else if (ireg == iEBP)
303  ilmr -= 36;
304  else if (ireg == iEEP)
305  ilmr -= 72;
306 
307  if (ireg == iEEM || ireg == iEEP) {
308  assert(ilmr >= 1 && ilmr <= 10);
309  side = 0;
310  idcc = ilmr;
311  if (ilmr >= 9)
312  idcc--;
313  if (ilmr == 9)
314  side = 1;
315  } else {
316  assert(ilmr >= 1 && ilmr <= 36);
317  idcc = (ilmr - 1) / 2 + 1;
318  side = (ilmr - 1) % 2;
319  }
320 
321  if (ireg > iEEM)
322  idcc += 9;
323  if (ireg > iEBM)
324  idcc += 18;
325  if (ireg > iEBP)
326  idcc += 18;
327 
328  // idcc += 600;
329 
330  return std::pair<int, int>(idcc, side);
331 }

References cms::cuda::assert().

Referenced by MEEBGeom::lmmodFromLmr(), MEEEGeom::lmmodFromLmr(), MEEBGeom::memFromLmr(), and MEChannel::oneLine().

◆ ecalRegion()

int ME::ecalRegion ( int  ilmr)
static

Definition at line 230 of file ME.cc.

230  {
231  assert(ilmr > 0 && ilmr <= 92);
232  if (ilmr <= 36)
233  return iEBM;
234  ilmr -= 36;
235  if (ilmr <= 36)
236  return iEBP;
237  ilmr -= 36;
238  if (ilmr <= 10)
239  return iEEP;
240  return iEEM;
241 }

References cms::cuda::assert().

◆ isBarrel()

bool ME::isBarrel ( int  ilmr)
static

Definition at line 527 of file ME.cc.

527  {
528  int reg_ = ecalRegion(ilmr);
529  if (reg_ == iEEM || reg_ == iEEP)
530  return false;
531  else if (reg_ == iEBM || reg_ == iEBP)
532  return true;
533  else
534  abort();
535  return true;
536 }

◆ lmdataPath()

TString ME::lmdataPath ( int  lmr)
static

Definition at line 65 of file ME.cc.

65  {
66  TString out_(std::getenv("MELMDAT"));
67  out_ += "/";
68  out_ += ME::smName(lmr);
69  out_ += "/";
70  return out_;
71 }

References smName().

◆ lmmodFromDcc()

std::vector< int > ME::lmmodFromDcc ( ME::DCCid  idcc)
static

Definition at line 574 of file ME.cc.

574  {
575  std::vector<int> vec;
576  for (int iside = 0; iside <= 1; iside++) {
577  int ilmr = lmr(idcc, iside);
578  if (ilmr < 0)
579  continue;
580  bool isBarrel_ = isBarrel(ilmr);
581  std::vector<int> vec_ = lmmodFromLmr(ilmr);
582  for (unsigned ii = 0; ii < vec_.size(); ii++) {
583  int ilmmod_ = vec_[ii];
584  if (!isBarrel_) {
585  // special case for Julie
586  if (ilmmod_ == 18 && iside == 1)
587  ilmmod_ = 20;
588  if (ilmmod_ == 19 && iside == 1)
589  ilmmod_ = 21;
590  }
591  vec.push_back(ilmmod_);
592  }
593  }
594  return vec;
595 }

References cuy::ii, and PixelPluginsPhase0_cfi::isBarrel.

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

◆ lmmodFromLmr()

std::vector< int > ME::lmmodFromLmr ( ME::LMRid  ilmr)
static

Definition at line 553 of file ME.cc.

553  {
554  if (isBarrel(ilmr))
555  return MEEBGeom::lmmodFromLmr(ilmr);
556  else
557  return MEEEGeom::lmmodFromLmr(ilmr);
558  return std::vector<int>();
559 }

References PixelPluginsPhase0_cfi::isBarrel, MEEBGeom::lmmodFromLmr(), and MEEEGeom::lmmodFromLmr().

◆ lmr()

int ME::lmr ( int  idcc,
int  iside 
)
static

Definition at line 243 of file ME.cc.

243  {
244  int ilmr = 0;
245 
246  assert(side == 0 || side == 1);
247 
248  if (idcc > 600)
249  idcc -= 600;
250  assert(idcc >= 1 && idcc <= 54);
251  int ireg;
252  if (idcc <= 9)
253  ireg = iEEM;
254  else {
255  idcc -= 9;
256  if (idcc <= 18)
257  ireg = iEBM;
258  else {
259  idcc -= 18;
260  if (idcc <= 18)
261  ireg = iEBP;
262  else {
263  idcc -= 18;
264  if (idcc <= 9)
265  ireg = iEEP;
266  else
267  abort();
268  }
269  }
270  }
271  if (ireg == iEEM || ireg == iEEP) {
272  if (side == 1 && idcc != 8) {
273  return -1;
274  }
275  ilmr = idcc;
276  if (idcc == 9)
277  ilmr++;
278  if (idcc == 8 && side == 1)
279  ilmr++;
280  } else if (ireg == iEBM || ireg == iEBP) {
281  ilmr = 2 * (idcc - 1) + side + 1;
282  } else
283  abort();
284 
285  if (ireg == iEBP)
286  ilmr += 36;
287  else if (ireg == iEEP)
288  ilmr += 72;
289  else if (ireg == iEEM)
290  ilmr += 82;
291 
292  return ilmr;
293 }

References cms::cuda::assert().

Referenced by MELaserPrim::MELaserPrim(), and rootFileName().

◆ lmrTree()

MEChannel * ME::lmrTree ( int  ilmr)
static

Definition at line 407 of file ME.cc.

407 { return regTree(ecalRegion(ilmr))->getDescendant(iLMRegion, ilmr); }

References MEChannel::getDescendant().

◆ memFromDcc()

std::vector< int > ME::memFromDcc ( ME::DCCid  idcc)
static

Definition at line 561 of file ME.cc.

561  {
562  std::vector<int> vec;
563  for (int iside = 0; iside <= 1; iside++) {
564  int ilmr = lmr(idcc, iside);
565  if (ilmr < 0)
566  continue;
567  std::pair<int, int> mem_ = memFromLmr(ilmr);
568  vec.push_back(mem_.first);
569  vec.push_back(mem_.second);
570  }
571  return vec;
572 }

Referenced by EcalTestPulseAnalyzer::EcalTestPulseAnalyzer(), and TMem::init().

◆ memFromLmr()

std::pair< int, int > ME::memFromLmr ( ME::LMRid  ilmr)
static

Definition at line 538 of file ME.cc.

538  {
539  if (isBarrel(ilmr))
540  return MEEBGeom::memFromLmr(ilmr);
541  else
542  return MEEEGeom::memFromLmr(ilmr);
543  return std::pair<int, int>();
544 }

References PixelPluginsPhase0_cfi::isBarrel, MEEBGeom::memFromLmr(), and MEEEGeom::memFromLmr().

Referenced by TMem::Mem().

◆ path()

TString ME::path ( )
static

Definition at line 81 of file ME.cc.

81 { return TString(std::getenv("MUSECAL")) + "/"; }

◆ pn()

std::pair< int, int > ME::pn ( ME::LMRid  ilmr,
ME::LMMid  ilmmod,
ME::PN  ipn 
)
static

Definition at line 597 of file ME.cc.

597  {
598  std::pair<int, int> pnpair_(0, 0);
599  std::pair<int, int> mempair_ = memFromLmr(ilmr);
600  if (isBarrel(ilmr)) {
601  pnpair_ = MEEBGeom::pn(ilmmod);
602  } else {
603  int dee_ = MEEEGeom::dee(ilmr);
604  pnpair_ = MEEEGeom::pn(dee_, ilmmod);
605  }
606  int mem_(0);
607  int pn_(0);
608  if (ipn == iPNA) {
609  mem_ = mempair_.first;
610  pn_ = pnpair_.first;
611  } else {
612  mem_ = mempair_.second;
613  pn_ = pnpair_.second;
614  }
615  return std::pair<int, int>(mem_, pn_);
616 }

References MEEEGeom::dee(), PixelPluginsPhase0_cfi::isBarrel, MEEBGeom::pn(), and MEEEGeom::pn().

Referenced by MELaserPrim::fillHistograms().

◆ primPath()

TString ME::primPath ( int  lmr)
static

Definition at line 73 of file ME.cc.

73  {
74  TString out_(std::getenv("MESTORE"));
75  out_ += "/";
76  out_ += ME::smName(lmr);
77  out_ += "/";
78  return out_;
79 }

References smName().

◆ regionAndSector()

void ME::regionAndSector ( int  ilmr,
int &  ireg,
int &  isect,
int &  idcc,
int &  iside 
)
static

Definition at line 333 of file ME.cc.

333  {
334  ireg = ecalRegion(ilmr);
335 
336  std::pair<int, int> ipair_ = dccAndSide(ilmr);
337  idcc = ipair_.first;
338  side = ipair_.second;
339 
340  ism = 0;
341  if (ireg == iEEM || ireg == iEEP) {
342  if (idcc > 600)
343  idcc -= 600; // also works with FEDids
344  if (idcc >= 1 && idcc <= 9) {
345  ism = 6 + idcc;
346  if (ism > 9)
347  ism -= 9;
348  ism += 9;
349  } else if (idcc >= 46 && idcc <= 54) {
350  ism = idcc - 46 + 7;
351  if (ism > 9)
352  ism -= 9;
353  } else
354  abort();
355  } else if (ireg == iEBM || ireg == iEBP) {
356  if (idcc > 600)
357  idcc -= 600; // also works with FEDids
358  assert(idcc >= 10 && idcc <= 45);
359  ism = idcc - 9;
360  if (ism > 18)
361  ism -= 18;
362  else
363  ism += 18;
364  } else
365  abort();
366 }

References cms::cuda::assert(), and ecalpyutils::ism().

Referenced by MEGeom::getBoundary(), MEGeom::getHist(), MELaserPrim::MELaserPrim(), and smName().

◆ regTree()

MEChannel * ME::regTree ( int  ireg)
static

Definition at line 409 of file ME.cc.

409  {
410  assert(ireg >= iEEM && ireg <= iEEP);
411  if (_trees[ireg] != nullptr)
412  return _trees[ireg];
413 
414  int iEcalRegion_ = ireg;
415  int iSector_ = 0;
416  int iLMRegion_ = 0;
417  int iLMModule_ = 0;
418  int iSuperCrystal_ = 0;
419  int iCrystal_ = 0;
420  MEChannel* leaf_(nullptr);
421  MEChannel* tree_(nullptr);
422 
423  if (iEcalRegion_ == iEBM || iEcalRegion_ == iEBP) {
424  for (int isect = 1; isect <= 18; isect++) {
425  iSector_ = isect;
426  if (iEcalRegion_ == iEBM)
427  iSector_ += 18;
428  if (_trees[iEcalRegion_] == nullptr) {
429  // std::cout << "Building the tree of crystals -- "
430  // << ME::region[iEcalRegion_];
431  _trees[iEcalRegion_] = new MEChannel(0, 0, iEcalRegion_, nullptr);
432  }
433  tree_ = _trees[iEcalRegion_];
434  for (int iX = 0; iX < 17; iX++) {
435  for (int iY = 0; iY < 4; iY++) {
436  iSuperCrystal_ = MEEBGeom::tt_channel(iX, iY);
437  iLMModule_ = MEEBGeom::lm_channel(iX, iY);
438  for (int jx = 0; jx < 5; jx++) {
439  for (int jy = 0; jy < 5; jy++) {
440  int ix = 5 * iX + jx;
441  int iy = 5 * iY + jy;
443  iCrystal_ = MEEBGeom::electronic_channel(ix, iy);
444  } else {
445  iCrystal_ = MEEBGeom::crystal_channel(ix, iy);
446  }
447  MEEBGeom::EtaPhiCoord globalCoord = MEEBGeom::globalCoord(iSector_, ix, iy);
448  int ieta = globalCoord.first;
449  int iphi = globalCoord.second;
450  iLMRegion_ = MEEBGeom::lmr(ieta, iphi);
451  leaf_ = tree_;
452  leaf_ = leaf_->getDaughter(ieta, iphi, iSector_);
453  leaf_ = leaf_->getDaughter(ieta, iphi, iLMRegion_);
454  leaf_ = leaf_->getDaughter(ieta, iphi, iLMModule_);
455  leaf_ = leaf_->getDaughter(ieta, iphi, iSuperCrystal_);
456  leaf_ = leaf_->getDaughter(ieta, iphi, iCrystal_);
457  }
458  }
459  }
460  }
461  }
462  } else if (iEcalRegion_ == iEEM || iEcalRegion_ == iEEP) {
463  int iz = 1;
464  if (iEcalRegion_ == iEEM)
465  iz = -1;
466  if (_trees[iEcalRegion_] == nullptr) {
467  // std::cout << "Building the tree of crystals -- "
468  // << ME::region[iEcalRegion_];
469  _trees[iEcalRegion_] = new MEChannel(0, 0, iEcalRegion_, nullptr);
470  }
471  tree_ = _trees[iEcalRegion_];
472 
473  for (int ilmr = 72; ilmr <= 92; ilmr++) // force the order of Monitoring Regions
474  {
475  if (ecalRegion(ilmr) != iEcalRegion_)
476  continue;
477  for (int ilmm = 1; ilmm <= 19; ilmm++) // force the order of Monitoring Modules
478  {
479  for (int iXX = 1; iXX <= 10; iXX++) {
480  for (int iside = 1; iside <= 2; iside++) // symmetrize wrt y-axis
481  {
482  int iX = iXX;
483  if (iside == 2)
484  iX = 20 - iXX + 1;
485  for (int iY = 1; iY <= 20; iY++) {
486  //int iSector_ = MEEEGeom::sector( iX, iY );
487  int iSector_ = MEEEGeom::sm(iX, iY, iz);
488  if (iSector_ < 0)
489  continue;
490  iLMRegion_ = MEEEGeom::lmr(iX, iY, iz);
491  if (iLMRegion_ != ilmr)
492  continue;
493  iLMModule_ = MEEEGeom::lmmod(iX, iY);
494  if (iLMModule_ != ilmm)
495  continue;
496  iSuperCrystal_ = MEEEGeom::sc(iX, iY);
497 
498  for (int jxx = 1; jxx <= 5; jxx++) {
499  int jx = jxx; // symmetrize...
500  if (iside == 2)
501  jx = 5 - jxx + 1;
502 
503  for (int jy = 1; jy <= 5; jy++) {
504  int ix = 5 * (iX - 1) + jx;
505  int iy = 5 * (iY - 1) + jy;
506  iCrystal_ = MEEEGeom::crystal(ix, iy);
507  if (iCrystal_ < 0)
508  continue;
509  leaf_ = tree_;
510  leaf_ = leaf_->getDaughter(ix, iy, iSector_);
511  leaf_ = leaf_->getDaughter(ix, iy, iLMRegion_);
512  leaf_ = leaf_->getDaughter(ix, iy, iLMModule_);
513  leaf_ = leaf_->getDaughter(ix, iy, iSuperCrystal_);
514  leaf_ = leaf_->getDaughter(ix, iy, iCrystal_);
515  }
516  }
517  }
518  }
519  }
520  }
521  }
522  }
523  // std::cout << ".... done" << std::endl;
524  return _trees[iEcalRegion_];
525 }

References cms::cuda::assert(), MEEEGeom::crystal(), MEEBGeom::crystal_channel(), MEEBGeom::electronic_channel(), MEChannel::getDaughter(), MEEBGeom::globalCoord(), LEDCalibrationChannels::ieta, LEDCalibrationChannels::iphi, MEEBGeom::lm_channel(), MEEEGeom::lmmod(), MEEBGeom::lmr(), MEEEGeom::lmr(), MEEEGeom::sc(), MEEEGeom::sm(), and MEEBGeom::tt_channel().

◆ rootFileName()

TString ME::rootFileName ( ME::Header  header,
ME::Settings  settings 
)
static

Definition at line 83 of file ME.cc.

83  {
84  // get the laser monitoring region and super-module
85  int lmr_ = ME::lmr(header.dcc, header.side);
86  TString outfile_ = primPath(lmr_);
87  outfile_ += "LMF_";
88  outfile_ += ME::smName(lmr_);
89  outfile_ += "_";
90  outfile_ += header.side;
91  if (settings.type == ME::iLaser) {
92  switch (settings.wavelength) {
93  case iBlue:
94  outfile_ += "_BlueLaser";
95  break;
96  case iGreen:
97  outfile_ += "_GreenLaser";
98  break;
99  case iRed:
100  outfile_ += "_RedLaser";
101  break;
102  case iIRed:
103  outfile_ += "_IRedLaser";
104  break;
105  default:
106  break;
107  }
108  } else if (settings.type == ME::iTestPulse) {
109  outfile_ += "_testPulse";
110  }
111  outfile_ += "_";
112  outfile_ += header.rundir.c_str();
113  outfile_ += "_TS";
114  outfile_ += header.ts_beg;
115  outfile_ += ".root";
116  return outfile_;
117 }

References RecoTauValidation_cfi::header, iLaser, iTestPulse, lmr(), smName(), ME::Settings::type, and ME::Settings::wavelength.

◆ runListName()

TString ME::runListName ( int  lmr,
int  type,
int  color 
)
static

Definition at line 119 of file ME.cc.

119  {
120  TString outfile_ = primPath(lmr);
121  if (type == iLaser) {
122  outfile_ += "runlist_";
123  switch (color) {
124  case ME::iBlue:
125  outfile_ += "Blue_";
126  break;
127  case ME::iGreen:
128  outfile_ += "Red_";
129  break;
130  case ME::iRed:
131  outfile_ += "Red_";
132  break;
133  case ME::iIRed:
134  outfile_ += "IRed_";
135  break;
136  default:
137  abort();
138  }
139  outfile_ += "Laser";
140  } else if (type == iTestPulse) {
141  outfile_ += "runlist_Test_Pulse";
142  }
143  return outfile_;
144 }

References iBlue, iGreen, iIRed, and iRed.

◆ smName() [1/2]

TString ME::smName ( int  ilmr)
static

Definition at line 391 of file ME.cc.

391  {
392  TString out;
393  int reg_(0);
394  int sm_(0);
395  int dcc_(0);
396  int side_(0);
397  ME::regionAndSector(ilmr, reg_, sm_, dcc_, side_);
398  out = smName(reg_, sm_);
399  return out;
400 }

References MillePedeFileConverter_cfg::out, regionAndSector(), and ecaldqm::smName().

Referenced by lmdataPath(), MELaserPrim::MELaserPrim(), MEChannel::oneLine(), primPath(), and rootFileName().

◆ smName() [2/2]

TString ME::smName ( int  ireg,
int  ism 
)
static

Definition at line 368 of file ME.cc.

368  {
369  TString out;
370  if (ireg == ME::iEEM || ireg == ME::iEEP) {
371  assert(ism >= 1 && ism <= 18);
372  out = "EE+";
373  if (ireg == ME::iEEM)
374  out = "EE-";
375  if (ism > 9)
376  ism -= 9;
377  out += ism;
378  } else if (ireg == ME::iEBM || ireg == ME::iEBP) {
379  assert(ism >= 1 && ism <= 36);
380  out = "EB+";
381  if (ism > 18) {
382  out = "EB-";
383  ism -= 18;
384  }
385  out += ism;
386  } else
387  abort();
388  return out;
389 }

References cms::cuda::assert(), iEBM, iEBP, iEEM, iEEP, ecalpyutils::ism(), and MillePedeFileConverter_cfg::out.

◆ smNameFromDcc()

TString ME::smNameFromDcc ( int  idcc)
static

Definition at line 402 of file ME.cc.

402  {
403  int ilmr = lmr(idcc, 0);
404  return smName(ilmr);
405 }

References ecaldqm::smName().

◆ time()

ME::Time ME::time ( float  dt,
Time  t0,
int  tunit = iHour 
)
static

Definition at line 200 of file ME.cc.

200  {
201  short int sign = 1;
202  if (dt < 0)
203  sign = -1;
204  float t_ = sign * dt;
205  switch (tunit) {
206  case iDay:
207  t_ *= 86400;
208  break;
209  case iHour:
210  t_ *= 3600;
211  break;
212  case iMinute:
213  t_ *= 60;
214  break;
215  };
216  ME::Time it_ = static_cast<ME::Time>(t_);
217  std::cout << "dt/it/t0/ " << dt << "/" << it_ << "/" << t0 << std::endl;
218  if (sign == 1)
219  return t0 + it_;
220  else
221  return t0 - it_;
222 }

References gather_cfg::cout, dt, Validation_hcalonly_cfi::sign, and FrontierCondition_GT_autoExpress_cfi::t0.

◆ time_high()

ME::Time ME::time_high ( TimeStamp  t)
static

Definition at line 226 of file ME.cc.

226 { return static_cast<Time>(t >> 32); }

References submitPVValidationJobs::t.

Referenced by MELaserPrim::fillHistograms().

◆ time_low()

ME::Time ME::time_low ( TimeStamp  t)
static

Definition at line 224 of file ME.cc.

224 { return static_cast<Time>(kLowMask & t); }

References cond::time::kLowMask(), and submitPVValidationJobs::t.

Referenced by MELaserPrim::fillHistograms().

◆ timeDiff() [1/2]

float ME::timeDiff ( Time  t1,
Time  t0,
int  tunit = iHour 
)
static

Definition at line 174 of file ME.cc.

174  {
175  float sign = 1.;
176  Time dt(0);
177  if (t1 > t0) {
178  dt = t1 - t0;
179  } else {
180  sign = -1.;
181  dt = t0 - t1;
182  }
183  float dt_f = ((float)dt) * sign;
184  switch (tunit) {
185  case iDay:
186  return dt_f / 86400.;
187  break;
188  case iHour:
189  return dt_f / 3600.;
190  break;
191  case iMinute:
192  return dt_f / 60.;
193  break;
194  default:
195  return dt_f;
196  };
197  return 0;
198 }

References dt, dqmMemoryStats::float, Validation_hcalonly_cfi::sign, FrontierCondition_GT_autoExpress_cfi::t0, and RandomServiceHelper::t1.

◆ timeDiff() [2/2]

std::vector< ME::Time > ME::timeDiff ( Time  t1,
Time  t2,
short int &  sign 
)
static

Definition at line 146 of file ME.cc.

146  {
147  sign = 1;
148  // Time t1 = time_high( T1 );
149  // Time t2 = time_high( T2 );
150  Time dt_s(0);
151  if (t1 > t2) {
152  dt_s = t1 - t2;
153  } else {
154  sign = -1;
155  dt_s = t2 - t1;
156  }
157  Time dt_min = dt_s / 60;
158  Time n_s = dt_s - dt_min * 60;
159  Time dt_h = dt_min / 60;
160  Time n_min = dt_min - dt_h * 60;
161  Time dt_day = dt_h / 24;
162  Time n_h = dt_h - dt_day * 24;
163  Time n_day = dt_day;
164 
165  std::vector<Time> vec_;
166  vec_.push_back(n_day);
167  vec_.push_back(n_h);
168  vec_.push_back(n_min);
169  vec_.push_back(n_s);
170 
171  return vec_;
172 }

References Validation_hcalonly_cfi::sign, RandomServiceHelper::t1, and RandomServiceHelper::t2.

Member Data Documentation

◆ _trees

std::vector< MEChannel * > ME::_trees = std::vector<MEChannel*>(4, (MEChannel*)nullptr)
static

Definition at line 169 of file ME.h.

◆ APDPrimVar

TString ME::APDPrimVar
static
Initial value:
= {"FLAG",
"MEAN",
"RMS",
"M3",
"APD_OVER_PNA_MEAN",
"APD_OVER_PNA_RMS",
"APD_OVER_PNA_M3",
"APD_OVER_PNB_MEAN",
"APD_OVER_PNB_RMS",
"APD_OVER_PNB_M3",
"APD_OVER_PN_MEAN",
"APD_OVER_PN_RMS",
"APD_OVER_PN_M3",
"SHAPE_COR",
"ALPHA",
"BETA",
"TIME_MEAN",
"TIME_RMS",
"TIME_M3",
"TIME_NEVT"}

Definition at line 131 of file ME.h.

◆ color

TString ME::color = {"Blue", "Green", "Red", "IRed", "LED1", "LED2"}
static

Definition at line 158 of file ME.h.

Referenced by edmStreamStallGrapher.StreamInfoElement::unpack().

◆ granularity

TString ME::granularity = {"R", "SM", "LMR", "LMM", "SC", "C"}
static

Definition at line 54 of file ME.h.

Referenced by MEChannel::oneLine(), MEChannel::oneWord(), and MEChannel::print().

◆ kLowMask

const ME::TimeStamp ME::kLowMask = 0xFFFFFFFF
static

Definition at line 70 of file ME.h.

◆ MTQPrimVar

TString ME::MTQPrimVar
static
Initial value:
= {
"FIT_METHOD", "MTQ_AMPL", "MTQ_TIME", "MTQ_RISE", "MTQ_FWHM", "MTQ_FW20", "MTQ_FW80", "MTQ_SLIDING"}

Definition at line 139 of file ME.h.

◆ PNPrimVar

TString ME::PNPrimVar
static
Initial value:
= {
"FLAG",
"MEAN",
"RMS",
"M3",
"PNA_OVER_PNB_MEAN",
"PNA_OVER_PNB_RMS",
"PNA_OVER_PNB_M3",
}

Definition at line 135 of file ME.h.

◆ region

TString ME::region = {"EE-", "EB-", "EB+", "EE+"}
static

Definition at line 51 of file ME.h.

Referenced by MEChannel::oneLine(), and MEChannel::oneWord().

◆ TPAPDPrimVar

TString ME::TPAPDPrimVar = {"FLAG", "MEAN", "RMS", "M3", "NEVT"}
static

Definition at line 143 of file ME.h.

◆ TPPNPrimVar

TString ME::TPPNPrimVar = {"GAIN", "MEAN", "RMS", "M3"}
static

Definition at line 147 of file ME.h.

◆ type

TString ME::type = {"Laser", "TestPulse"}
static

◆ useElectronicNumbering

bool ME::useElectronicNumbering = false
static

Definition at line 36 of file ME.h.

ME::iLMRegion
Definition: ME.h:16
ME::iAPD_OVER_PNA_M3
Definition: ME.h:115
ME::iAPD_TIME_RMS
Definition: ME.h:126
ME::iElectronicChannel
Definition: ME.h:18
RandomServiceHelper.t2
t2
Definition: RandomServiceHelper.py:257
ME::iSizeVfeGain
Definition: ME.h:65
ME::iMTQ_SLIDING
Definition: ME.h:138
ME::iAPD_M3
Definition: ME.h:112
ME::iVfeGain6
Definition: ME.h:65
MEEBGeom::lmmodFromLmr
static std::vector< int > lmmodFromLmr(int ilmr)
Definition: MEEBGeom.cc:479
dqmMemoryStats.float
float
Definition: dqmMemoryStats.py:127
ME::ecalRegion
static int ecalRegion(int ilmr)
Definition: ME.cc:230
ME::iSizePN
Definition: ME.h:134
ME::iAPD_TIME_MEAN
Definition: ME.h:125
MEEEGeom::sc
static int sc(SuperCrysCoord iX, SuperCrysCoord iY)
Definition: MEEEGeom.cc:215
ME::iPNA
Definition: ME.h:42
MEEBGeom::electronic_channel
static int electronic_channel(EBLocalCoord ix, EBLocalCoord iy)
Definition: MEEBGeom.cc:326
ME::iSizeTU
Definition: ME.h:150
ME::iAPD_TIME_M3
Definition: ME.h:127
ME::iTPPN_M3
Definition: ME.h:146
MEEEGeom::crystal
static int crystal(CrysCoord ix, CrysCoord iy)
Definition: MEEEGeom.cc:372
ME::iPN_RMS
Definition: ME.h:134
gather_cfg.cout
cout
Definition: gather_cfg.py:144
ME::kLowMask
static const TimeStamp kLowMask
Definition: ME.h:70
ME::color
static TString color[iSizeC]
Definition: ME.h:158
ME::useElectronicNumbering
static bool useElectronicNumbering
Definition: ME.h:36
ME::iSecond
Definition: ME.h:150
ME::lmmodFromLmr
static std::vector< ME::LMMid > lmmodFromLmr(ME::LMRid ilmr)
Definition: ME.cc:553
MEEBGeom::lmr
static int lmr(EBGlobalCoord ieta, EBGlobalCoord iphi)
Definition: MEEBGeom.cc:110
cms::cuda::assert
assert(be >=bs)
Validation_hcalonly_cfi.sign
sign
Definition: Validation_hcalonly_cfi.py:32
ME::iTPPN_RMS
Definition: ME.h:146
ME::iPnGain1
Definition: ME.h:66
ME::iLED2
Definition: ME.h:64
ME::iPNA_OVER_PNB_M3
Definition: ME.h:134
ME::iSizeT
Definition: ME.h:63
ME::iLMModule
Definition: ME.h:16
ME::Time
unsigned long Time
Definition: ME.h:68
MEEBGeom::pn
static std::pair< int, int > pn(int ilmmod)
Definition: MEEBGeom.cc:447
ME::iBlue
Definition: ME.h:64
ME::iLVChannel
Definition: ME.h:18
ME::iLmfLaserConfig
Definition: ME.h:96
ME::iAPD_SHAPE_COR
Definition: ME.h:122
ME::iAPD_TIME_NEVT
Definition: ME.h:128
ME::iSizeC
Definition: ME.h:64
ME::iEcalRegion
Definition: ME.h:16
LEDCalibrationChannels.iphi
iphi
Definition: LEDCalibrationChannels.py:64
ME::iAPD_ALPHA
Definition: ME.h:123
dt
float dt
Definition: AMPTWrapper.h:136
ME::iAPD_OVER_PNA_MEAN
Definition: ME.h:113
ME::iTestPulse
Definition: ME.h:63
ME::iAPD_BETA
Definition: ME.h:124
ME::iMTQ_TIME
Definition: ME.h:138
ME::iSuperCrystal
Definition: ME.h:16
ME::iAPD_OVER_PNB_RMS
Definition: ME.h:117
RandomServiceHelper.t1
t1
Definition: RandomServiceHelper.py:256
ME::iSizeTPPN
Definition: ME.h:146
MEEBGeom::globalCoord
static EtaPhiCoord globalCoord(int ism, EBLocalCoord ix, EBLocalCoord iy)
Definition: MEEBGeom.cc:149
ME::iSizeMTQ
Definition: ME.h:138
ME::iSizeLmf
Definition: ME.h:104
ME::iSizePnGain
Definition: ME.h:66
ME::iGreen
Definition: ME.h:64
ME::iLaser
Definition: ME.h:63
ME::iRed
Definition: ME.h:64
FrontierCondition_GT_autoExpress_cfi.t0
t0
Definition: FrontierCondition_GT_autoExpress_cfi.py:149
ME::iPN_MEAN
Definition: ME.h:134
ME::iMTQ_FW20
Definition: ME.h:138
ME::iLmfLaserPrim
Definition: ME.h:98
ME::iLmfLaserRun
Definition: ME.h:95
MEEEGeom::sm
static int sm(SuperCrysCoord iX, SuperCrysCoord iY, int iz)
Definition: MEEEGeom.cc:101
ME::iAPD_RMS
Definition: ME.h:111
ME::dccAndSide
static std::pair< int, int > dccAndSide(int ilmr)
Definition: ME.cc:295
ME::iTPPN_GAIN
Definition: ME.h:146
ME::iHour
Definition: ME.h:150
ME::iCrystal
Definition: ME.h:16
ME::iMinute
Definition: ME.h:150
ME::iTPAPD_NEVT
Definition: ME.h:142
ME::iEBP
Definition: ME.h:14
ME::iAPD_OVER_PNA_RMS
Definition: ME.h:114
MEEEGeom::apdRefChannels
static std::vector< int > apdRefChannels(int ilmmod)
Definition: MEEEGeom.cc:1364
MEChannel::getDescendant
MEChannel * getDescendant(int ig, int ii)
Definition: MEChannel.cc:103
MEEEGeom::pn
static std::pair< int, int > pn(int dee, int ilmod)
Definition: MEEEGeom.cc:574
ME::iHVChannel
Definition: ME.h:18
ME::iMTQ_FIT_METHOD
Definition: ME.h:138
ME::iMTQ_FWHM
Definition: ME.h:138
MEEBGeom::EtaPhiCoord
std::pair< EBGlobalCoord, EBGlobalCoord > EtaPhiCoord
Definition: MEEBGeom.h:24
ME::iAPD_OVER_PN_MEAN
Definition: ME.h:119
ME::iSector
Definition: ME.h:16
ME::iSizeTPAPD
Definition: ME.h:142
ME::iLmfLaserPnPrim
Definition: ME.h:99
ME::memFromLmr
static std::pair< ME::DCCid, ME::DCCid > memFromLmr(ME::LMRid ilmr)
Definition: ME.cc:538
MEEEGeom::dee
static int dee(SuperCrysCoord iX, SuperCrysCoord iY, int iz)
Definition: MEEEGeom.cc:292
LEDCalibrationChannels.ieta
ieta
Definition: LEDCalibrationChannels.py:63
ME::primPath
static TString primPath(int lmr)
Definition: ME.cc:73
ME::iLmfLaserPulse
Definition: ME.h:97
ME::iSizeAPD
Definition: ME.h:129
ME::iSizeU
Definition: ME.h:18
MEEBGeom::memFromLmr
static std::pair< int, int > memFromLmr(int ilmr)
Definition: MEEBGeom.cc:473
ME::_trees
static std::vector< MEChannel * > _trees
Definition: ME.h:169
ME::iDay
Definition: ME.h:150
ME::iVfeGain12
Definition: ME.h:65
type
type
Definition: SiPixelVCal_PayloadInspector.cc:37
ME::iLED1
Definition: ME.h:64
ME::iTPAPD_M3
Definition: ME.h:142
ME::iTPPN_MEAN
Definition: ME.h:146
ME::iAPD_OVER_PNB_M3
Definition: ME.h:118
ME::iPN_M3
Definition: ME.h:134
ME::iMTQ_FW80
Definition: ME.h:138
ME::iIRed
Definition: ME.h:64
ME::smName
static TString smName(int ilmr)
Definition: ME.cc:391
ME::iPNA_OVER_PNB_MEAN
Definition: ME.h:134
MEEEGeom::lmmodFromLmr
static std::vector< int > lmmodFromLmr(int ilmr)
Definition: MEEEGeom.cc:1163
MEEBGeom::lm_channel
static int lm_channel(EBTTLocalCoord iX, EBTTLocalCoord iY)
Definition: MEEBGeom.cc:201
ME::iVfeGain1
Definition: ME.h:65
ME::iLmfTestPulseConfig
Definition: ME.h:101
MEEEGeom::memFromLmr
static std::pair< int, int > memFromLmr(int ilmr)
Definition: MEEEGeom.cc:1128
ME::iAPD_OVER_PNB_MEAN
Definition: ME.h:116
ME::iLmfTestPulseRun
Definition: ME.h:100
ME::iAPD_FLAG
Definition: ME.h:109
MEEEGeom::lmmod
static int lmmod(SuperCrysCoord iX, SuperCrysCoord iY)
Definition: MEEEGeom.cc:112
ME::iAPD_OVER_PN_M3
Definition: ME.h:121
MEEEGeom::lmr
static int lmr(SuperCrysCoord iX, SuperCrysCoord iY, int iz)
Definition: MEEEGeom.cc:254
ME::iMTQ_RISE
Definition: ME.h:138
ecalpyutils::ism
int ism(int ieta, int iphi)
Definition: EcalPyUtils.cc:51
ME::iPN_FLAG
Definition: ME.h:134
ME::iEEM
Definition: ME.h:14
ME::iAPD_OVER_PN_RMS
Definition: ME.h:120
ME::iSizeG
Definition: ME.h:16
ME::iLmfTestPulsePrim
Definition: ME.h:102
ME::iTPAPD_RMS
Definition: ME.h:142
ME::iPNA_OVER_PNB_RMS
Definition: ME.h:134
ME::regTree
static MEChannel * regTree(int ireg)
Definition: ME.cc:409
ME::iMTQ_AMPL
Definition: ME.h:138
ME::iTPAPD_MEAN
Definition: ME.h:142
ME::iLmfTestPulsePnPrim
Definition: ME.h:103
RecoTauValidation_cfi.header
header
Definition: RecoTauValidation_cfi.py:292
ME::isBarrel
static bool isBarrel(int ilmr)
Definition: ME.cc:527
MillePedeFileConverter_cfg.out
out
Definition: MillePedeFileConverter_cfg.py:31
ME::iTPAPD_FLAG
Definition: ME.h:142
ME::iPnGain16
Definition: ME.h:66
ME::iSizeE
Definition: ME.h:14
MEEBGeom::tt_channel
static int tt_channel(EBTTLocalCoord iX, EBTTLocalCoord iY)
Definition: MEEBGeom.cc:313
MEEBGeom::apdRefChannels
static std::vector< int > apdRefChannels(int ilmmod)
Definition: MEEBGeom.cc:526
ME::iAPD_MEAN
Definition: ME.h:110
submitPVValidationJobs.t
string t
Definition: submitPVValidationJobs.py:644
ME::iEBM
Definition: ME.h:14
ME::Settings::wavelength
int wavelength
Definition: ME.h:85
ME::Settings::type
int type
Definition: ME.h:84
cuy.ii
ii
Definition: cuy.py:590
MEEBGeom::crystal_channel
static int crystal_channel(EBLocalCoord ix, EBLocalCoord iy)
Definition: MEEBGeom.cc:319
ME::iPNB
Definition: ME.h:42
ME::regionAndSector
static void regionAndSector(int ilmr, int &ireg, int &isect, int &idcc, int &iside)
Definition: ME.cc:333
ME::iEEP
Definition: ME.h:14
MEChannel
Definition: MEChannel.h:12
ME::lmr
static int lmr(int idcc, int iside)
Definition: ME.cc:243