CMS 3D CMS Logo

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

#include <MuonHOAcceptance.h>

Classes

struct  deadIdRegion
 
struct  deadRegion
 

Static Public Member Functions

static TMultiGraph * graphDeadRegions ()
 
static TMultiGraph * graphSiPMRegions ()
 
static bool inGeomAccept (double eta, double phi, double delta_eta=0., double delta_phi=0.)
 
static bool Inited ()
 
static void initIds (edm::EventSetup const &eSetup)
 
static bool inNotDeadGeom (double eta, double phi, double delta_eta=0., double delta_phi=0.)
 
static bool inSiPMGeom (double eta, double phi, double delta_eta=0., double delta_phi=0.)
 
static bool isChannelDead (uint32_t id)
 
static bool isChannelSiPM (uint32_t id)
 

Static Private Member Functions

static void buildDeadAreas ()
 
static void buildSiPMAreas ()
 
static void convertRegions (std::list< deadIdRegion > const &idregions, std::vector< deadRegion > &regions)
 
static TMultiGraph * graphRegions (std::vector< deadRegion > const &regions)
 
static void mergeRegionLists (std::list< deadIdRegion > &didregions)
 

Static Private Attributes

static std::vector< uint32_t > deadIds
 
static std::vector< deadRegiondeadRegions
 
static int const etaBounds = 5
 
static double const etaMax []
 
static double const etaMin []
 
static bool inited = false
 
static double const phiMaxR0 []
 
static double const phiMaxR12 []
 
static double const phiMinR0 []
 
static double const phiMinR12 []
 
static int const phiSectors = 12
 
static std::vector< uint32_t > SiPMIds
 
static std::vector< deadRegionSiPMRegions
 
static double const twopi = 2.*3.14159265358979323846
 

Detailed Description

Definition at line 9 of file MuonHOAcceptance.h.

Member Function Documentation

void MuonHOAcceptance::buildDeadAreas ( )
staticprivate

Definition at line 218 of file MuonHOAcceptance.cc.

References convertRegions(), deadIds, deadRegions, HcalDetId::ieta(), HcalDetId::iphi(), and mergeRegionLists().

Referenced by initIds().

218  {
219  std::vector<uint32_t>::iterator did;
220  std::list<deadIdRegion> didregions;
221  for (did = deadIds.begin(); did != deadIds.end(); ++did) {
222  HcalDetId tmpId(*did);
223  didregions.push_back( deadIdRegion( tmpId.ieta(), tmpId.ieta(),
224  tmpId.iphi(), tmpId.iphi() ) );
225  }
226  // std::cout << "dead regions: " << didregions.size() << '\n';
227 
228  mergeRegionLists(didregions);
229  convertRegions(didregions, deadRegions);
230 }
static void mergeRegionLists(std::list< deadIdRegion > &didregions)
static std::vector< uint32_t > deadIds
static std::vector< deadRegion > deadRegions
static void convertRegions(std::list< deadIdRegion > const &idregions, std::vector< deadRegion > &regions)
void MuonHOAcceptance::buildSiPMAreas ( )
staticprivate

Definition at line 232 of file MuonHOAcceptance.cc.

References convertRegions(), HcalDetId::ieta(), HcalDetId::iphi(), mergeRegionLists(), evf::utils::sid, SiPMIds, and SiPMRegions.

Referenced by initIds().

232  {
233  std::vector<uint32_t>::iterator sid;
234  std::list<deadIdRegion> idregions;
235 
236  for (sid = SiPMIds.begin(); sid != SiPMIds.end(); ++sid) {
237  HcalDetId tmpId(*sid);
238  idregions.push_back( deadIdRegion( tmpId.ieta(), tmpId.ieta(),
239  tmpId.iphi(), tmpId.iphi() ) );
240  }
241 
242  mergeRegionLists(idregions);
243  convertRegions(idregions,SiPMRegions);
244 }
static void mergeRegionLists(std::list< deadIdRegion > &didregions)
static std::vector< uint32_t > SiPMIds
static void convertRegions(std::list< deadIdRegion > const &idregions, std::vector< deadRegion > &regions)
static std::vector< deadRegion > SiPMRegions
void MuonHOAcceptance::convertRegions ( std::list< deadIdRegion > const &  idregions,
std::vector< deadRegion > &  regions 
)
staticprivate

Definition at line 286 of file MuonHOAcceptance.cc.

References abs, reco::e1, reco::e2, jptDQMConfig_cff::eMax, etaMax, etaMin, max(), min, evf::evtn::offset(), phiMaxR0, phiMaxR12, phiMinR0, phiMinR12, phiSectors, jptDQMConfig_cff::pMax, twopi, and zero.

Referenced by buildDeadAreas(), and buildSiPMAreas().

287  {
288  double e1, e2;
289  double eMin,eMax,pMin,pMax;
290  static double const etaStep = 0.087;
291  static double const phiStep = twopi/72.;
292  double const offset = 2.;
293  double const * mins;
294  double const * maxes;
295  std::list<deadIdRegion>::const_iterator curr;
296  double zero;
297  for (curr = idregions.begin(); curr != idregions.end(); ++curr) {
298  // std::cout << "region boundaries: ieta,iphi\n"
299  // << " min: " << curr->etaMin << ',' << curr->phiMin << '\n'
300  // << " max: " << curr->etaMax << ',' << curr->phiMax << '\n';
301  if (curr->etaMin == -4) {
302  eMin = etaMax[1];
303  } else if (curr->etaMin == 5) {
304  eMin = etaMin[3];
305  } else {
306  e1 = (std::abs(curr->etaMin)-1)*etaStep*
307  (-(curr->etaMin<0) + (curr->etaMin>0));
308  e2 = std::abs(curr->etaMin)*etaStep*
309  (-(curr->etaMin<0) + (curr->etaMin>0));
310  eMin = std::min(e1,e2);
311  }
312  if (curr->etaMax == 4) {
313  eMax = etaMin[3];
314  } else if (curr->etaMax == -5) {
315  eMax = etaMax[1];
316  } else {
317  e1 = (std::abs(curr->etaMax)-1)*etaStep*
318  (-(curr->etaMax<0) + (curr->etaMax>0));
319  e2 = std::abs(curr->etaMax)*etaStep*
320  (-(curr->etaMax<0) + (curr->etaMax>0));
321  eMax = std::max(e1,e2);
322  }
323  mins = ((std::abs(curr->etaMin)>4) ? phiMinR12 : phiMinR0);
324  maxes = ((std::abs(curr->etaMin)>4) ? phiMaxR12 : phiMaxR0);
325  zero = (mins[0] + maxes[phiSectors-1] - twopi)/2.;
326  pMin = (curr->phiMin-1)*phiStep + zero + phiStep*offset;
327  pMax = curr->phiMax*phiStep + zero + phiStep*offset;
328  while (pMax < mins[0])
329  pMax += twopi;
330  while (pMax > mins[0]+twopi)
331  pMax -= twopi;
332  while (pMin < mins[0])
333  pMin += twopi;
334  while (pMin > mins[0]+twopi)
335  pMin -= twopi;
336 
337  regions.push_back( deadRegion(eMin, eMax, pMin, pMax) );
338  // std::cout << " : eta,phi\n"
339  // << " min: " << tmp.etaMin << ',' << tmp.phiMin << '\n'
340  // << " max: " << tmp.etaMax << ',' << tmp.phiMax << '\n';
341  }
342 }
static double const twopi
static double const phiMaxR0[]
#define abs(x)
Definition: mlp_lapack.h:159
#define min(a, b)
Definition: mlp_lapack.h:161
static double const phiMinR12[]
static double const phiMinR0[]
const T & max(const T &a, const T &b)
unsigned int offset(bool)
static double const etaMax[]
Float e1
Definition: deltaR.h:22
static double const etaMin[]
static double const phiMaxR12[]
Float e2
Definition: deltaR.h:23
static int const phiSectors
static TMultiGraph* MuonHOAcceptance::graphDeadRegions ( )
inlinestatic

Definition at line 21 of file MuonHOAcceptance.h.

References deadRegions, and graphRegions().

21 { return graphRegions(deadRegions); }
static TMultiGraph * graphRegions(std::vector< deadRegion > const &regions)
static std::vector< deadRegion > deadRegions
TMultiGraph * MuonHOAcceptance::graphRegions ( std::vector< deadRegion > const &  regions)
staticprivate

Definition at line 344 of file MuonHOAcceptance.cc.

References jptDQMConfig_cff::pMax, and twopi.

Referenced by graphDeadRegions(), and graphSiPMRegions().

344  {
345  TMultiGraph * bounds = new TMultiGraph("bounds", "bounds");
346  std::vector<deadRegion>::const_iterator region;
347  TGraph * gr;
348  for (region = regions.begin(); region != regions.end(); ++region) {
349  // std::cout << "region eta range:(" << region->etaMin << ',' << region->etaMax
350  // << ") phi range: (" << region->phiMin << ',' << region->phiMax << ")\n";
351  double pMin = region->phiMin;
352  while (pMin > twopi/2.) pMin -= twopi;
353  double pMax = region->phiMax;
354  while (pMax > twopi/2.) pMax -= twopi;
355 
356  if (pMin < pMax) {
357  gr = new TGraph(5);
358  gr->SetLineColor(kRed);
359  gr->SetPoint(0, region->etaMin, pMin);
360  gr->SetPoint(1, region->etaMin, pMax);
361  gr->SetPoint(2, region->etaMax, pMax);
362  gr->SetPoint(3, region->etaMax, pMin);
363  gr->SetPoint(4, region->etaMin, pMin);
364  bounds->Add(gr, "l");
365  } else {
366  gr = new TGraph(5);
367  gr->SetLineColor(kRed);
368  gr->SetPoint(0, region->etaMin, pMin);
369  gr->SetPoint(1, region->etaMin, twopi/2.);
370  gr->SetPoint(2, region->etaMax, twopi/2.);
371  gr->SetPoint(3, region->etaMax, pMin);
372  gr->SetPoint(4, region->etaMin, pMin);
373  bounds->Add(gr, "l");
374  gr = new TGraph(5);
375  gr->SetLineColor(kRed);
376  gr->SetPoint(0, region->etaMin, -twopi/2.);
377  gr->SetPoint(1, region->etaMin, pMax);
378  gr->SetPoint(2, region->etaMax, pMax);
379  gr->SetPoint(3, region->etaMax, -twopi/2.);
380  gr->SetPoint(4, region->etaMin, -twopi/2.);
381  bounds->Add(gr, "l");
382  }
383  }
384  return bounds;
385 }
static double const twopi
static TMultiGraph* MuonHOAcceptance::graphSiPMRegions ( )
inlinestatic

Definition at line 22 of file MuonHOAcceptance.h.

References graphRegions(), and SiPMRegions.

22 { return graphRegions(SiPMRegions); }
static TMultiGraph * graphRegions(std::vector< deadRegion > const &regions)
static std::vector< deadRegion > SiPMRegions
bool MuonHOAcceptance::inGeomAccept ( double  eta,
double  phi,
double  delta_eta = 0.,
double  delta_phi = 0. 
)
static

Definition at line 100 of file MuonHOAcceptance.cc.

References kinem::delta_phi(), etaBounds, etaMax, etaMin, phiMaxR0, phiMaxR12, phiMinR0, phiMinR12, phiSectors, and twopi.

102 {
103  for (int ieta = 0; ieta<etaBounds; ++ieta) {
104  if ( (eta > etaMin[ieta]+delta_eta) &&
105  (eta < etaMax[ieta]-delta_eta) ) {
106  for (int iphi = 0; iphi<phiSectors; ++iphi) {
107  double const * mins = ((ieta == 2) ? phiMinR0 : phiMinR12);
108  double const * maxes = ((ieta == 2) ? phiMaxR0 : phiMaxR12);
109  while (phi < mins[0])
110  phi += twopi;
111  while (phi > mins[0]+twopi)
112  phi -= twopi;
113  if ( ( phi > mins[iphi] + delta_phi ) &&
114  ( phi < maxes[iphi] - delta_phi ) ) {
115  return true;
116  }
117  }
118  return false;
119  }
120  }
121  return false;
122 }
static double const twopi
double delta_eta(double eta1, double eta2)
Definition: AnglesUtil.h:98
static double const phiMaxR0[]
static double const phiMinR12[]
T eta() const
static int const etaBounds
static double const phiMinR0[]
static double const etaMax[]
double delta_phi(double ph11, double phi2)
Definition: AnglesUtil.h:91
static double const etaMin[]
static double const phiMaxR12[]
static int const phiSectors
Definition: DDAxes.h:10
static bool MuonHOAcceptance::Inited ( )
inlinestatic

Definition at line 20 of file MuonHOAcceptance.h.

References inited.

20 { return inited; }
static bool inited
void MuonHOAcceptance::initIds ( edm::EventSetup const &  eSetup)
static

Definition at line 165 of file MuonHOAcceptance.cc.

References buildDeadAreas(), buildSiPMAreas(), deadIds, HcalSeverityLevelComputer::dropChannel(), edm::EventSetup::get(), HcalChannelStatus::getValue(), HcalCondObjectContainer< Item >::getValues(), HcalOuter, inited, AlCaHLTBitMon_ParallelJobs::p, edm::ESHandle< class >::product(), DetId::rawId(), SiPMIds, and python.multivaluedict::sort().

165  {
166  deadIds.clear();
167 
169  eSetup.get<HcalChannelQualityRcd>().get(p);
170  HcalChannelQuality *myqual = new HcalChannelQuality(*p.product());
171 
173  eSetup.get<HcalSeverityLevelComputerRcd>().get(mycomputer);
174  const HcalSeverityLevelComputer *mySeverity = mycomputer.product();
175 
176  // TTree * deads = new TTree("deads", "deads");
177  // deads->ReadFile("HOdeadnessChannels.txt", "ieta/I:iphi/I:deadness/D");
178  int ieta, iphi;
179  // double deadness;
180  // deads->SetBranchAddress("ieta", &ieta);
181  // deads->SetBranchAddress("iphi", &iphi);
182  // deads->SetBranchAddress("deadness", &deadness);
183  // deads->Print();
184  //std::cout << "ieta\tiphi\n";
185  for (ieta=-15; ieta <= 15; ieta++) {
186  if (ieta != 0) {
187  for (iphi = 1; iphi <= 72; iphi++) {
188  // for (int i=0; i<deads->GetEntries(); ++i) {
189  // deads->GetEntry(i);
190  // if (deadness > 0.4) {
191  HcalDetId did(HcalOuter,ieta,iphi,4);
192  const HcalChannelStatus *mystatus = myqual->getValues(did.rawId());
193  if (mySeverity->dropChannel(mystatus->getValue())) {
194  deadIds.push_back(did.rawId());
195  // std::cout << did.ieta() << '\t' << did.iphi() << '\n';
196  }
197  //HO +1 RBX 10
198  if ( (ieta>=5) && (ieta<=10) && (iphi >= 47) && (iphi <= 58) ) {
199  SiPMIds.push_back(did.rawId());
200  }
201  //HO +2 RBX 12
202  if ( (ieta>=11) && (ieta<=15) && (iphi >= 59) && (iphi <= 70) ) {
203  SiPMIds.push_back(did.rawId());
204  }
205  }
206  }
207  }
208  std::sort(deadIds.begin(), deadIds.end());
209  std::sort(SiPMIds.begin(), SiPMIds.end());
210  // std::cout << "SiPMIds: " << SiPMIds.size() << '\n';
211  // delete deads;
212  buildDeadAreas();
213  buildSiPMAreas();
214  inited = true;
215  delete myqual;
216 }
static std::vector< uint32_t > deadIds
const Item * getValues(DetId fId, bool throwOnFail=true) const
static void buildDeadAreas()
bool dropChannel(const uint32_t &mystatus) const
static void buildSiPMAreas()
T const * product() const
Definition: ESHandle.h:62
static bool inited
static std::vector< uint32_t > SiPMIds
uint32_t getValue() const
bool MuonHOAcceptance::inNotDeadGeom ( double  eta,
double  phi,
double  delta_eta = 0.,
double  delta_phi = 0. 
)
static

Definition at line 124 of file MuonHOAcceptance.cc.

References abs, deadRegions, kinem::delta_eta(), kinem::delta_phi(), etaMax, inited, jptDQMConfig_cff::phiMax, phiMinR0, phiMinR12, and twopi.

125  {
126  if (!inited) return true;
127  int ieta = int(eta/0.087) + ((eta>0) ? 1 : -1);
128  double const * mins = ((std::abs(ieta) > 4) ? phiMinR12 : phiMinR0);
129  while (phi < mins[0])
130  phi += twopi;
131  while (phi > mins[0]+twopi)
132  phi -= twopi;
133  std::vector<deadRegion>::const_iterator region;
134  for (region = deadRegions.begin(); region != deadRegions.end(); ++region) {
135  if ( (phi < region->phiMax + delta_phi) &&
136  (phi > region->phiMin - delta_phi) &&
137  (eta < region->etaMax + delta_eta) &&
138  (eta > region->etaMin - delta_eta) )
139  return false;
140  }
141  return true;
142 }
static double const twopi
double delta_eta(double eta1, double eta2)
Definition: AnglesUtil.h:98
#define abs(x)
Definition: mlp_lapack.h:159
static double const phiMinR12[]
T eta() const
static double const phiMinR0[]
static double const etaMax[]
double delta_phi(double ph11, double phi2)
Definition: AnglesUtil.h:91
static std::vector< deadRegion > deadRegions
static bool inited
Definition: DDAxes.h:10
bool MuonHOAcceptance::inSiPMGeom ( double  eta,
double  phi,
double  delta_eta = 0.,
double  delta_phi = 0. 
)
static

Definition at line 144 of file MuonHOAcceptance.cc.

References abs, kinem::delta_eta(), kinem::delta_phi(), etaMax, inited, jptDQMConfig_cff::phiMax, phiMinR0, phiMinR12, SiPMRegions, and twopi.

145  {
146  if (!inited) return false;
147  int ieta = int(eta/0.087) + ((eta>0) ? 1 : -1);
148  double const * mins = ((std::abs(ieta) > 4) ? phiMinR12 : phiMinR0);
149  while (phi < mins[0])
150  phi += twopi;
151  while (phi > mins[0]+twopi)
152  phi -= twopi;
153  std::vector<deadRegion>::const_iterator region;
154  for (region = SiPMRegions.begin(); region != SiPMRegions.end(); ++region) {
155  if ( (phi < region->phiMax - delta_phi) &&
156  (phi > region->phiMin + delta_phi) &&
157  (eta < region->etaMax - delta_eta) &&
158  (eta > region->etaMin + delta_eta) ) {
159  return true;
160  }
161  }
162  return false;
163 }
static double const twopi
double delta_eta(double eta1, double eta2)
Definition: AnglesUtil.h:98
#define abs(x)
Definition: mlp_lapack.h:159
static double const phiMinR12[]
T eta() const
static double const phiMinR0[]
static double const etaMax[]
double delta_phi(double ph11, double phi2)
Definition: AnglesUtil.h:91
static bool inited
static std::vector< deadRegion > SiPMRegions
Definition: DDAxes.h:10
bool MuonHOAcceptance::isChannelDead ( uint32_t  id)
static

Definition at line 84 of file MuonHOAcceptance.cc.

References deadIds, spr::find(), newFWLiteAna::found, and inited.

84  {
85  if (!inited) return false;
86  std::vector<uint32_t>::const_iterator found =
87  std::find(deadIds.begin(), deadIds.end(), id);
88  if ((found != deadIds.end()) && (*found == id)) return true;
89  else return false;
90 }
static std::vector< uint32_t > deadIds
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:7
static bool inited
bool MuonHOAcceptance::isChannelSiPM ( uint32_t  id)
static

Definition at line 92 of file MuonHOAcceptance.cc.

References spr::find(), newFWLiteAna::found, inited, and SiPMIds.

92  {
93  if (!inited) return false;
94  std::vector<uint32_t>::const_iterator found =
95  std::find(SiPMIds.begin(), SiPMIds.end(), id);
96  if ((found != SiPMIds.end()) && (*found == id)) return true;
97  else return false;
98 }
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:7
static bool inited
static std::vector< uint32_t > SiPMIds
void MuonHOAcceptance::mergeRegionLists ( std::list< deadIdRegion > &  didregions)
staticprivate

Definition at line 246 of file MuonHOAcceptance.cc.

References MuonHOAcceptance::deadIdRegion::adjacentEta(), MuonHOAcceptance::deadIdRegion::adjacentPhi(), MuonHOAcceptance::deadIdRegion::merge(), MuonHOAcceptance::deadIdRegion::sameEta(), and MuonHOAcceptance::deadIdRegion::samePhi().

Referenced by buildDeadAreas(), and buildSiPMAreas().

246  {
247  std::list<deadIdRegion>::iterator curr;
248  std::list<deadIdRegion> list2;
249  unsigned int startSize;
250  do {
251  startSize = didregions.size();
252 
253  // std::cout << "regions: " << startSize << '\n';
254  //merge in phi
255  curr = didregions.begin();
256  while (curr != didregions.end()) {
257  deadIdRegion merger(*curr);
258  curr = didregions.erase(curr);
259  while (curr != didregions.end()) {
260  if ( (merger.sameEta(*curr)) && (merger.adjacentPhi(*curr)) ) {
261  merger.merge(*curr);
262  curr = didregions.erase(curr);
263  } else ++curr;
264  }
265  list2.push_back(merger);
266  curr = didregions.begin();
267  }
268 
269  //merge in eta
270  curr = list2.begin();
271  while (curr != list2.end()) {
272  deadIdRegion merger(*curr);
273  curr = list2.erase(curr);
274  while (curr != list2.end()) {
275  if ( (merger.samePhi(*curr)) && (merger.adjacentEta(*curr)) ) {
276  merger.merge(*curr);
277  curr = list2.erase(curr);
278  } else ++curr;
279  }
280  didregions.push_back(merger);
281  curr = list2.begin();
282  }
283  } while (startSize > didregions.size());
284 }

Member Data Documentation

std::vector< uint32_t > MuonHOAcceptance::deadIds
staticprivate

Definition at line 81 of file MuonHOAcceptance.h.

Referenced by buildDeadAreas(), initIds(), and isChannelDead().

std::vector< MuonHOAcceptance::deadRegion > MuonHOAcceptance::deadRegions
staticprivate

Definition at line 82 of file MuonHOAcceptance.h.

Referenced by buildDeadAreas(), graphDeadRegions(), and inNotDeadGeom().

int const MuonHOAcceptance::etaBounds = 5
staticprivate

Definition at line 86 of file MuonHOAcceptance.h.

Referenced by inGeomAccept().

double const MuonHOAcceptance::etaMax
staticprivate
Initial value:
=
{-0.8796, -0.3425, 0.3017, 0.8542, 1.2544}

Definition at line 88 of file MuonHOAcceptance.h.

Referenced by convertRegions(), inGeomAccept(), inNotDeadGeom(), and inSiPMGeom().

double const MuonHOAcceptance::etaMin
staticprivate
Initial value:
=
{-1.2544, -0.8542, -0.3017, 0.3425, 0.8796}

Definition at line 87 of file MuonHOAcceptance.h.

Referenced by convertRegions(), and inGeomAccept().

bool MuonHOAcceptance::inited = false
staticprivate
double const MuonHOAcceptance::phiMaxR0
staticprivate
Initial value:
= { 0.317395374,
0.84099415,
1.364592925,
1.888191701,
2.411790477,
2.935389252,
3.458988028,
3.982586803,
4.506185579,
5.029784355,
5.55338313,
6.076981906 }

Definition at line 92 of file MuonHOAcceptance.h.

Referenced by convertRegions(), and inGeomAccept().

double const MuonHOAcceptance::phiMaxR12
staticprivate
Initial value:
= { 0.34398862,
0.867587396,
1.391186172,
1.914784947,
2.438383723,
2.961982498,
3.485581274,
4.00918005,
4.532778825,
5.056377601,
5.579976376,
6.103575152 }

Definition at line 94 of file MuonHOAcceptance.h.

Referenced by convertRegions(), and inGeomAccept().

double const MuonHOAcceptance::phiMinR0
staticprivate
Initial value:
= {-0.16172,
0.3618786,
0.8854773,
1.409076116,
1.932674892,
2.456273667,
2.979872443,
3.503471219,
4.027069994,
4.55066877,
5.074267545,
5.597866321 }

Definition at line 91 of file MuonHOAcceptance.h.

Referenced by convertRegions(), inGeomAccept(), inNotDeadGeom(), and inSiPMGeom().

double const MuonHOAcceptance::phiMinR12
staticprivate
Initial value:
= {-0.166264081,
0.357334694,
0.88093347,
1.404532245,
1.928131021,
2.451729797,
2.975328572,
3.498927348,
4.022526123,
4.546124899,
5.069723674,
5.59332245 }

Definition at line 93 of file MuonHOAcceptance.h.

Referenced by convertRegions(), inGeomAccept(), inNotDeadGeom(), and inSiPMGeom().

int const MuonHOAcceptance::phiSectors = 12
staticprivate

Definition at line 90 of file MuonHOAcceptance.h.

Referenced by convertRegions(), and inGeomAccept().

std::vector< uint32_t > MuonHOAcceptance::SiPMIds
staticprivate

Definition at line 83 of file MuonHOAcceptance.h.

Referenced by buildSiPMAreas(), initIds(), and isChannelSiPM().

std::vector< MuonHOAcceptance::deadRegion > MuonHOAcceptance::SiPMRegions
staticprivate

Definition at line 84 of file MuonHOAcceptance.h.

Referenced by buildSiPMAreas(), graphSiPMRegions(), and inSiPMGeom().

double const MuonHOAcceptance::twopi = 2.*3.14159265358979323846
staticprivate