CMS 3D CMS Logo

Classes | Enumerations | Functions | Variables
AlignmentPI Namespace Reference

Classes

struct  TkAlBarycenters
 
struct  topolInfo
 

Enumerations

enum  coordinate {
  t_x = 1, t_y = 2, t_z = 3, rot_alpha = 4,
  rot_beta = 5, rot_gamma = 6
}
 
enum  index {
  XX = 1, XY = 2, XZ = 3, YZ = 4,
  YY = 5, ZZ = 6
}
 
enum  PARTITION {
  PARTITION::BPIX, PARTITION::FPIXp, PARTITION::FPIXm, PARTITION::TIB,
  PARTITION::TIDp, PARTITION::TIDm, PARTITION::TOB, PARTITION::TECp,
  PARTITION::TECm, PARTITION::LAST = TECm
}
 
enum  partitions {
  BPix = 1, FPix = 2, TIB = 3, TID = 4,
  TOB = 5, TEC = 6
}
 
enum  regions {
  BPixL1o, BPixL1i, BPixL2o, BPixL2i,
  BPixL3o, BPixL3i, BPixL4o, BPixL4i,
  FPixmL1, FPixmL2, FPixmL3, FPixpL1,
  FPixpL2, FPixpL3, TIBL1Ro, TIBL1Ri,
  TIBL1So, TIBL1Si, TIBL2Ro, TIBL2Ri,
  TIBL2So, TIBL2Si, TIBL3o, TIBL3i,
  TIBL4o, TIBL4i, TOBL1Ro, TOBL1Ri,
  TOBL1So, TOBL1Si, TOBL2Ro, TOBL2Ri,
  TOBL2So, TOBL2Si, TOBL3o, TOBL3i,
  TOBL4o, TOBL4i, TOBL5o, TOBL5i,
  TOBL6o, TOBL6i, TIDmR1R, TIDmR1S,
  TIDmR2R, TIDmR2S, TIDmR3, TIDpR1R,
  TIDpR1S, TIDpR2R, TIDpR2S, TIDpR3,
  TECmR1R, TECmR1S, TECmR2R, TECmR2S,
  TECmR3, TECmR4, TECmR5, TECmR6,
  TECmR7, TECpR1R, TECpR1S, TECpR2R,
  TECpR2S, TECpR3, TECpR4, TECpR5,
  TECpR6, TECpR7, StripDoubleSide, NUM_OF_REGIONS
}
 

Functions

std::pair< double, double > calculatePosition (TVirtualPad *myPad, int boundary)
 
std::pair< int, int > getIndices (AlignmentPI::index i)
 
std::string getStringFromCoordinate (AlignmentPI::coordinate coord)
 
std::string getStringFromIndex (AlignmentPI::index i)
 
std::string getStringFromPart (AlignmentPI::partitions i)
 
std::string getStringFromRegionEnum (AlignmentPI::regions e)
 
std::pair< float, float > getTheRange (std::map< uint32_t, float > values, const float nsigma)
 
bool isBPixOuterLadder (const DetId &detid, const TrackerTopology &tTopo, bool isPhase0)
 
void makeNicePlotStyle (TH1 *hist, int color)
 
void makeNiceStats (TH1F *hist, AlignmentPI::partitions part, int color)
 
std::ostream & operator<< (std::ostream &o, PARTITION x)
 
float returnZeroIfNear2PI (const float phi)
 

Variables

static const float cmToUm = 10000.f
 
const PARTITION PARTITIONS [(int) PARTITION::LAST+1]
 
static const unsigned int phase0size = 19876
 
static const float tomRad = 1000.f
 

Enumeration Type Documentation

◆ coordinate

◆ index

◆ PARTITION

Enumerator
BPIX 
FPIXp 
FPIXm 
TIB 
TIDp 
TIDm 
TOB 
TECp 
TECm 
LAST 

Definition at line 63 of file AlignmentPayloadInspectorHelper.h.

63  {
64  BPIX, // 0 Barrel Pixel
65  FPIXp, // 1 Forward Pixel Plus
66  FPIXm, // 2 Forward Pixel Minus
67  TIB, // 3 Tracker Inner Barrel
68  TIDp, // 4 Tracker Inner Disks Plus
69  TIDm, // 5 Tracker Inner Disks Minus
70  TOB, // 6 Tracker Outer Barrel
71  TECp, // 7 Tracker Endcaps Plus
72  TECm, // 8 Tracker Endcaps Minus
73  LAST = TECm
74  };
#define BPIX

◆ partitions

◆ regions

Enumerator
BPixL1o 
BPixL1i 
BPixL2o 
BPixL2i 
BPixL3o 
BPixL3i 
BPixL4o 
BPixL4i 
FPixmL1 
FPixmL2 
FPixmL3 
FPixpL1 
FPixpL2 
FPixpL3 
TIBL1Ro 
TIBL1Ri 
TIBL1So 
TIBL1Si 
TIBL2Ro 
TIBL2Ri 
TIBL2So 
TIBL2Si 
TIBL3o 
TIBL3i 
TIBL4o 
TIBL4i 
TOBL1Ro 
TOBL1Ri 
TOBL1So 
TOBL1Si 
TOBL2Ro 
TOBL2Ri 
TOBL2So 
TOBL2Si 
TOBL3o 
TOBL3i 
TOBL4o 
TOBL4i 
TOBL5o 
TOBL5i 
TOBL6o 
TOBL6i 
TIDmR1R 
TIDmR1S 
TIDmR2R 
TIDmR2S 
TIDmR3 
TIDpR1R 
TIDpR1S 
TIDpR2R 
TIDpR2S 
TIDpR3 
TECmR1R 
TECmR1S 
TECmR2R 
TECmR2S 
TECmR3 
TECmR4 
TECmR5 
TECmR6 
TECmR7 
TECpR1R 
TECpR1S 
TECpR2R 
TECpR2S 
TECpR3 
TECpR4 
TECpR5 
TECpR6 
TECpR7 
StripDoubleSide 
NUM_OF_REGIONS 

Definition at line 91 of file AlignmentPayloadInspectorHelper.h.

91  {
92  BPixL1o, //0 Barrel Pixel Layer 1 outer
93  BPixL1i, //1 Barrel Pixel Layer 1 inner
94  BPixL2o, //2 Barrel Pixel Layer 2 outer
95  BPixL2i, //3 Barrel Pixel Layer 2 inner
96  BPixL3o, //4 Barrel Pixel Layer 3 outer
97  BPixL3i, //5 Barrel Pixel Layer 3 inner
98  BPixL4o, //6 Barrel Pixel Layer 4 outer
99  BPixL4i, //7 Barrel Pixel Layer 4 inner
100  FPixmL1, //8 Forward Pixel Minus side Disk 1
101  FPixmL2, //9 Forward Pixel Minus side Disk 2
102  FPixmL3, //10 Forward Pixel Minus side Disk 3
103  FPixpL1, //11 Forward Pixel Plus side Disk 1
104  FPixpL2, //12 Forward Pixel Plus side Disk 2
105  FPixpL3, //13 Forward Pixel Plus side Disk 3
106  TIBL1Ro, //14 Inner Barrel Layer 1 Rphi outer
107  TIBL1Ri, //15 Inner Barrel Layer 1 Rphi inner
108  TIBL1So, //16 Inner Barrel Layer 1 Stereo outer
109  TIBL1Si, //17 Inner Barrel Layer 1 Stereo inner
110  TIBL2Ro, //18 Inner Barrel Layer 2 Rphi outer
111  TIBL2Ri, //19 Inner Barrel Layer 2 Rphi inner
112  TIBL2So, //20 Inner Barrel Layer 2 Stereo outer
113  TIBL2Si, //21 Inner Barrel Layer 2 Stereo inner
114  TIBL3o, //22 Inner Barrel Layer 3 outer
115  TIBL3i, //23 Inner Barrel Layer 3 inner
116  TIBL4o, //24 Inner Barrel Layer 4 outer
117  TIBL4i, //25 Inner Barrel Layer 4 inner
118  TOBL1Ro, //26 Outer Barrel Layer 1 Rphi outer
119  TOBL1Ri, //27 Outer Barrel Layer 1 Rphi inner
120  TOBL1So, //28 Outer Barrel Layer 1 Stereo outer
121  TOBL1Si, //29 Outer Barrel Layer 1 Stereo inner
122  TOBL2Ro, //30 Outer Barrel Layer 2 Rphi outer
123  TOBL2Ri, //31 Outer Barrel Layer 2 Rphi inner
124  TOBL2So, //32 Outer Barrel Layer 2 Stereo outer
125  TOBL2Si, //33 Outer Barrel Layer 2 Stereo inner
126  TOBL3o, //34 Outer Barrel Layer 3 outer
127  TOBL3i, //35 Outer Barrel Layer 3 inner
128  TOBL4o, //36 Outer Barrel Layer 4 outer
129  TOBL4i, //37 Outer Barrel Layer 4 inner
130  TOBL5o, //38 Outer Barrel Layer 5 outer
131  TOBL5i, //39 Outer Barrel Layer 5 inner
132  TOBL6o, //40 Outer Barrel Layer 6 outer
133  TOBL6i, //41 Outer Barrel Layer 6 inner
134  TIDmR1R, //42 Inner Disk Minus side Ring 1 Rphi
135  TIDmR1S, //43 Inner Disk Minus side Ring 1 Stereo
136  TIDmR2R, //44 Inner Disk Minus side Ring 2 Rphi
137  TIDmR2S, //45 Inner Disk Minus side Ring 2 Stereo
138  TIDmR3, //46 Inner Disk Minus side Ring 3
139  TIDpR1R, //47 Inner Disk Plus side Ring 1 Rphi
140  TIDpR1S, //48 Inner Disk Plus side Ring 1 Stereo
141  TIDpR2R, //49 Inner Disk Plus side Ring 2 Rphi
142  TIDpR2S, //50 Inner Disk Plus side Ring 2 Stereo
143  TIDpR3, //51 Inner Disk Plus side Ring 3
144  TECmR1R, //52 Endcaps Minus side Ring 1 Rphi
145  TECmR1S, //53 Endcaps Minus side Ring 1 Stereo
146  TECmR2R, //54 Encdaps Minus side Ring 2 Rphi
147  TECmR2S, //55 Endcaps Minus side Ring 2 Stereo
148  TECmR3, //56 Endcaps Minus side Ring 3
149  TECmR4, //57 Endcaps Minus side Ring 4
150  TECmR5, //58 Endcaps Minus side Ring 5
151  TECmR6, //59 Endcaps Minus side Ring 6
152  TECmR7, //60 Endcaps Minus side Ring 7
153  TECpR1R, //61 Endcaps Plus side Ring 1 Rphi
154  TECpR1S, //62 Endcaps Plus side Ring 1 Stereo
155  TECpR2R, //63 Encdaps Plus side Ring 2 Rphi
156  TECpR2S, //64 Endcaps Plus side Ring 2 Stereo
157  TECpR3, //65 Endcaps Plus side Ring 3
158  TECpR4, //66 Endcaps Plus side Ring 4
159  TECpR5, //67 Endcaps Plus side Ring 5
160  TECpR6, //68 Endcaps Plus side Ring 6
161  TECpR7, //67 Endcaps Plus side Ring 7
162  StripDoubleSide, // 70 -- not to be considered
163  NUM_OF_REGIONS // 71 -- default
164  };

Function Documentation

◆ calculatePosition()

std::pair<double, double> AlignmentPI::calculatePosition ( TVirtualPad *  myPad,
int  boundary 
)
inline

Definition at line 783 of file AlignmentPayloadInspectorHelper.h.

References createfilelist::int, SiStripPI::min, and corrVsCorr::rx.

Referenced by HGCalImagingAlgo::getClusters(), and HGCalCLUEAlgoT< TILE >::getClusters().

785  {
786  int ix1;
787  int ix2;
788  int iw = myPad->GetWw();
789  int ih = myPad->GetWh();
790  double x1p, y1p, x2p, y2p;
791  myPad->GetPadPar(x1p, y1p, x2p, y2p);
792  ix1 = (int)(iw * x1p);
793  ix2 = (int)(iw * x2p);
794  double wndc = std::min(1., (double)iw / (double)ih);
795  double rw = wndc / (double)iw;
796  double x1ndc = (double)ix1 * rw;
797  double x2ndc = (double)ix2 * rw;
798  double rx1, ry1, rx2, ry2;
799  myPad->GetRange(rx1, ry1, rx2, ry2);
800  double rx = (x2ndc - x1ndc) / (rx2 - rx1);
801  double _sx;
802  _sx = rx * (boundary - rx1) + x1ndc;
803  double _dx = _sx + 0.05;
804 
805  return std::make_pair(_sx, _dx);
806  }

◆ getIndices()

std::pair<int, int> AlignmentPI::getIndices ( AlignmentPI::index  i)
inline

Definition at line 678 of file AlignmentPayloadInspectorHelper.h.

References mps_fire::i, XX, XY, XZ, YY, YZ, and ZZ.

680  {
681  switch (i) {
682  case XX:
683  return std::make_pair(0, 0);
684  case XY:
685  return std::make_pair(0, 1);
686  case XZ:
687  return std::make_pair(0, 2);
688  case YZ:
689  return std::make_pair(1, 0);
690  case YY:
691  return std::make_pair(1, 1);
692  case ZZ:
693  return std::make_pair(2, 2);
694  default:
695  return std::make_pair(-1, -1);
696  }
697  }

◆ getStringFromCoordinate()

std::string AlignmentPI::getStringFromCoordinate ( AlignmentPI::coordinate  coord)
inline

Definition at line 612 of file AlignmentPayloadInspectorHelper.h.

References rot_alpha, rot_beta, rot_gamma, t_x, t_y, and t_z.

614  {
615  switch (coord) {
616  case t_x:
617  return "x-translation";
618  case t_y:
619  return "y-translation";
620  case t_z:
621  return "z-translation";
622  case rot_alpha:
623  return "#alpha angle rotation";
624  case rot_beta:
625  return "#beta angle rotation";
626  case rot_gamma:
627  return "#gamma angle rotation";
628  default:
629  return "should never be here!";
630  }
631  }

◆ getStringFromIndex()

std::string AlignmentPI::getStringFromIndex ( AlignmentPI::index  i)
inline

Definition at line 634 of file AlignmentPayloadInspectorHelper.h.

References mps_fire::i, XX, XY, XZ, YY, YZ, and ZZ.

636  {
637  switch (i) {
638  case XX:
639  return "XX";
640  case XY:
641  return "XY";
642  case XZ:
643  return "XZ";
644  case YZ:
645  return "YX";
646  case YY:
647  return "YY";
648  case ZZ:
649  return "ZZ";
650  default:
651  return "should never be here!";
652  }
653  }

◆ getStringFromPart()

std::string AlignmentPI::getStringFromPart ( AlignmentPI::partitions  i)
inline

Definition at line 656 of file AlignmentPayloadInspectorHelper.h.

References BPix, FPix, mps_fire::i, TEC, TIB, TID, and TOB.

Referenced by makeNiceStats().

658  {
659  switch (i) {
660  case BPix:
661  return "BPix";
662  case FPix:
663  return "FPix";
664  case TIB:
665  return "TIB";
666  case TID:
667  return "TID";
668  case TOB:
669  return "TOB";
670  case TEC:
671  return "TEC";
672  default:
673  return "should never be here!";
674  }
675  }

◆ getStringFromRegionEnum()

std::string AlignmentPI::getStringFromRegionEnum ( AlignmentPI::regions  e)
inline

Definition at line 167 of file AlignmentPayloadInspectorHelper.h.

References BPixL1i, BPixL1o, BPixL2i, BPixL2o, BPixL3i, BPixL3o, BPixL4i, BPixL4o, MillePedeFileConverter_cfg::e, FPixmL1, FPixmL2, FPixmL3, FPixpL1, FPixpL2, FPixpL3, TECmR1R, TECmR1S, TECmR2R, TECmR2S, TECmR3, TECmR4, TECmR5, TECmR6, TECmR7, TECpR1R, TECpR1S, TECpR2R, TECpR2S, TECpR3, TECpR4, TECpR5, TECpR6, TECpR7, TIBL1Ri, TIBL1Ro, TIBL1Si, TIBL1So, TIBL2Ri, TIBL2Ro, TIBL2Si, TIBL2So, TIBL3i, TIBL3o, TIBL4i, TIBL4o, TIDmR1R, TIDmR1S, TIDmR2R, TIDmR2S, TIDmR3, TIDpR1R, TIDpR1S, TIDpR2R, TIDpR2S, TIDpR3, TOBL1Ri, TOBL1Ro, TOBL1Si, TOBL1So, TOBL2Ri, TOBL2Ro, TOBL2Si, TOBL2So, TOBL3i, TOBL3o, TOBL4i, TOBL4o, TOBL5i, TOBL5o, TOBL6i, and TOBL6o.

169  {
170  switch (e) {
172  return "BPixL1o";
174  return "BPixL1i";
176  return "BPixL2o";
178  return "BPixL2i";
180  return "BPixL3o";
182  return "BPixL3i";
184  return "BPixL4o";
186  return "BPixL4i";
188  return "FPixmL1";
190  return "FPixmL2";
192  return "FPixmL3";
194  return "FPixpL1";
196  return "FPixpL2";
198  return "FPixpL3";
200  return "TIBL1Ro";
202  return "TIBL1Ri";
204  return "TIBL1So";
206  return "TIBL1Si";
208  return "TIBL2Ro";
210  return "TIBL2Ri";
212  return "TIBL2So";
214  return "TIBL2Si";
215  case AlignmentPI::TIBL3o:
216  return "TIBL3o";
217  case AlignmentPI::TIBL3i:
218  return "TIBL3i";
219  case AlignmentPI::TIBL4o:
220  return "TIBL4o";
221  case AlignmentPI::TIBL4i:
222  return "TIBL4i";
224  return "TOBL1Ro";
226  return "TOBL1Ri";
228  return "TOBL1So";
230  return "TOBL1Si";
232  return "TOBL2Ro";
234  return "TOBL2Ri";
236  return "TOBL2So";
238  return "TOBL2Si";
239  case AlignmentPI::TOBL3o:
240  return "TOBL3o";
241  case AlignmentPI::TOBL3i:
242  return "TOBL3i";
243  case AlignmentPI::TOBL4o:
244  return "TOBL4o";
245  case AlignmentPI::TOBL4i:
246  return "TOBL4i";
247  case AlignmentPI::TOBL5o:
248  return "TOBL5o";
249  case AlignmentPI::TOBL5i:
250  return "TOBL5i";
251  case AlignmentPI::TOBL6o:
252  return "TOBL6o";
253  case AlignmentPI::TOBL6i:
254  return "TOBL6i";
256  return "TIDmR1R";
258  return "TIDmR1S";
260  return "TIDmR2R";
262  return "TIDmR2S";
263  case AlignmentPI::TIDmR3:
264  return "TIDmR3";
266  return "TIDpR1R";
268  return "TIDpR1S";
270  return "TIDpR2R";
272  return "TIDpR2S";
273  case AlignmentPI::TIDpR3:
274  return "TIDpR3";
276  return "TECmR1R";
278  return "TECmR1S";
280  return "TECmR2R";
282  return "TECmR2S";
283  case AlignmentPI::TECmR3:
284  return "TECmR3";
285  case AlignmentPI::TECmR4:
286  return "TECmR4";
287  case AlignmentPI::TECmR5:
288  return "TECmR5";
289  case AlignmentPI::TECmR6:
290  return "TECmR6";
291  case AlignmentPI::TECmR7:
292  return "TECmR7";
294  return "TECpR1R";
296  return "TECpR1S";
298  return "TECpR2R";
300  return "TECpR2S";
301  case AlignmentPI::TECpR3:
302  return "TECpR3";
303  case AlignmentPI::TECpR4:
304  return "TECpR4";
305  case AlignmentPI::TECpR5:
306  return "TECpR5";
307  case AlignmentPI::TECpR6:
308  return "TECpR6";
309  case AlignmentPI::TECpR7:
310  return "TECpR7";
311  default:
312  edm::LogWarning("LogicError") << "Unknown partition: " << e;
313  return "";
314  }
315  }
Log< level::Warning, false > LogWarning

◆ getTheRange()

std::pair<float, float> AlignmentPI::getTheRange ( std::map< uint32_t, float >  values,
const float  nsigma 
)
inline

Definition at line 758 of file AlignmentPayloadInspectorHelper.h.

References mps_fire::end, visualization-live-secondInstance_cfg::m, AlCaHLTBitMon_ParallelJobs::p, mathSSE::sqrt(), plotscripts::stdev(), and contentValuesCheck::values.

760  {
761  float sum = std::accumulate(
762  std::begin(values), std::end(values), 0.0, [](float value, const std::map<uint32_t, float>::value_type& p) {
763  return value + p.second;
764  });
765 
766  float m = sum / values.size();
767 
768  float accum = 0.0;
769  std::for_each(std::begin(values), std::end(values), [&](const std::map<uint32_t, float>::value_type& p) {
770  accum += (p.second - m) * (p.second - m);
771  });
772 
773  float stdev = sqrt(accum / (values.size() - 1));
774 
775  if (stdev != 0.) {
776  return std::make_pair(m - nsigma * stdev, m + nsigma * stdev);
777  } else {
778  return std::make_pair(m > 0. ? 0.95 * m : 1.05 * m, m > 0 ? 1.05 * m : 0.95 * m);
779  }
780  }
T sqrt(T t)
Definition: SSEVec.h:19
Definition: value.py:1
def stdev(xlist)
Definition: plotscripts.py:69

◆ isBPixOuterLadder()

bool AlignmentPI::isBPixOuterLadder ( const DetId detid,
const TrackerTopology tTopo,
bool  isPhase0 
)
inline

Definition at line 318 of file AlignmentPayloadInspectorHelper.h.

References phase1PixelTopology::layer, TrackerTopology::pxbLadder(), TrackerTopology::pxbLayer(), and DetId::rawId().

Referenced by AlignmentPI::topolInfo::fillGeometryInfo().

320  {
321  bool isOuter = false;
322  int layer = tTopo.pxbLayer(detid.rawId());
323  bool odd_ladder = tTopo.pxbLadder(detid.rawId()) % 2;
324  if (isPhase0) {
325  if (layer == 2)
326  isOuter = !odd_ladder;
327  else
328  isOuter = odd_ladder;
329  } else {
330  if (layer == 4)
331  isOuter = odd_ladder;
332  else
333  isOuter = !odd_ladder;
334  }
335  return isOuter;
336  }
unsigned int pxbLayer(const DetId &id) const
unsigned int pxbLadder(const DetId &id) const
constexpr std::array< uint8_t, layerIndexSize > layer
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57

◆ makeNicePlotStyle()

void AlignmentPI::makeNicePlotStyle ( TH1 *  hist,
int  color 
)
inline

Definition at line 700 of file AlignmentPayloadInspectorHelper.h.

References gpuVertexFinder::hist.

702  {
703  hist->SetStats(kFALSE);
704 
705  hist->GetXaxis()->SetTitleColor(color);
706  hist->SetLineColor(color);
707  hist->SetTitleSize(0.08);
708  hist->SetLineWidth(2);
709  hist->GetXaxis()->CenterTitle(true);
710  hist->GetYaxis()->CenterTitle(true);
711  hist->GetXaxis()->SetTitleFont(42);
712  hist->GetYaxis()->SetTitleFont(42);
713  hist->GetXaxis()->SetNdivisions(505);
714  hist->GetXaxis()->SetTitleSize(0.06);
715  hist->GetYaxis()->SetTitleSize(0.06);
716  hist->GetXaxis()->SetTitleOffset(1.0);
717  hist->GetYaxis()->SetTitleOffset(1.3);
718  hist->GetXaxis()->SetLabelFont(42);
719  hist->GetYaxis()->SetLabelFont(42);
720  hist->GetYaxis()->SetLabelSize(.05);
721  hist->GetXaxis()->SetLabelSize(.05);
722  }
__shared__ Hist hist

◆ makeNiceStats()

void AlignmentPI::makeNiceStats ( TH1F *  hist,
AlignmentPI::partitions  part,
int  color 
)
inline

Definition at line 725 of file AlignmentPayloadInspectorHelper.h.

References funct::abs(), edmScanValgrind::buffer, getStringFromPart(), and gpuVertexFinder::hist.

727  {
728  char buffer[255];
729  TPaveText* stat = new TPaveText(0.60, 0.75, 0.95, 0.95, "NDC");
730  sprintf(buffer, "%s \n", AlignmentPI::getStringFromPart(part).c_str());
731  stat->AddText(buffer);
732 
733  sprintf(buffer, "Entries : %i\n", (int)hist->GetEntries());
734  stat->AddText(buffer);
735 
736  if (std::abs(hist->GetMean()) > 0.01) {
737  sprintf(buffer, "Mean : %6.2f\n", hist->GetMean());
738  } else {
739  sprintf(buffer, "Mean : %6.2f e-2\n", 100 * hist->GetMean());
740  }
741  stat->AddText(buffer);
742 
743  if (std::abs(hist->GetRMS()) > 0.01) {
744  sprintf(buffer, "RMS : %6.2f\n", hist->GetRMS());
745  } else {
746  sprintf(buffer, "RMS : %6.2f e-2\n", 100 * hist->GetRMS());
747  }
748  stat->AddText(buffer);
749 
750  stat->SetLineColor(color);
751  stat->SetTextColor(color);
752  stat->SetFillColor(10);
753  stat->SetShadowColor(10);
754  stat->Draw();
755  }
std::string getStringFromPart(AlignmentPI::partitions i)
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
__shared__ Hist hist
part
Definition: HCALResponse.h:20

◆ operator<<()

std::ostream& AlignmentPI::operator<< ( std::ostream &  o,
PARTITION  x 
)
inline

◆ returnZeroIfNear2PI()

float AlignmentPI::returnZeroIfNear2PI ( const float  phi)
inline

Definition at line 37 of file AlignmentPayloadInspectorHelper.h.

References funct::abs(), f, M_PI, and cms_rounding::roundIfNear0().

37  {
38  const double tol = 2.e-7; // default tolerance 1.e-7 doesn't account for possible variations
39  if (cms_rounding::roundIfNear0(std::abs(phi) - 2 * M_PI, tol) == 0.f) {
40  return 0.f;
41  } else {
42  return phi;
43  }
44  }
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
double f[11][100]
constexpr valType roundIfNear0(valType value, double tolerance=1.e-7)
Definition: Rounding.h:11
#define M_PI

Variable Documentation

◆ cmToUm

const float AlignmentPI::cmToUm = 10000.f
static

Definition at line 32 of file AlignmentPayloadInspectorHelper.h.

◆ PARTITIONS

const PARTITION AlignmentPI::PARTITIONS

◆ phase0size

const unsigned int AlignmentPI::phase0size = 19876
static

Definition at line 31 of file AlignmentPayloadInspectorHelper.h.

◆ tomRad

const float AlignmentPI::tomRad = 1000.f
static

Definition at line 33 of file AlignmentPayloadInspectorHelper.h.