CMS 3D CMS Logo

Enumerations | Functions
SiStripPI Namespace Reference

Enumerations

enum  estimator { min, max, mean, rms }
 
enum  TrackerRegion {
  TIB1r = 1010, TIB1s = 1011, TIB2r = 1020, TIB2s = 1021,
  TIB3r = 1030, TIB4r = 1040, TOB1r = 2010, TOB1s = 2011,
  TOB2r = 2020, TOB2s = 2021, TOB3r = 2030, TOB4r = 2040,
  TOB5r = 2050, TOB6r = 2060, TEC1r = 3010, TEC1s = 3011,
  TEC2r = 3020, TEC2s = 3021, TEC3r = 3030, TEC3s = 3031,
  TEC4r = 3040, TEC4s = 3041, TEC5r = 3050, TEC5s = 3051,
  TEC6r = 3060, TEC6s = 3061, TEC7r = 3070, TEC7s = 3071,
  TEC8r = 3080, TEC8s = 3081, TEC9r = 3090, TEC9s = 3091,
  TID1r = 4010, TID1s = 4011, TID2r = 4020, TID2s = 4021,
  TID3r = 4030, TID3s = 4031, END_OF_REGIONS
}
 

Functions

void drawStatBox (std::map< std::string, std::shared_ptr< TH1F >> histos, std::map< std::string, int > colormap, std::vector< std::string > legend, double X=0.15, double Y=0.93, double W=0.15, double H=0.10)
 
std::string estimatorType (SiStripPI::estimator e)
 
std::pair< float, float > getExtrema (TH1 *h1, TH1 *h2)
 
std::string getStringFromSubdet (StripSubdetector::SubDetector sub)
 
std::pair< float, float > getTheRange (std::map< uint32_t, float > values)
 
void makeNicePlotStyle (TH1 *hist)
 
void printSummary (const std::map< unsigned int, SiStripDetSummary::Values > &map)
 
const char * regionType (int index)
 

Enumeration Type Documentation

Enumerator
min 
max 
mean 
rms 

Definition at line 14 of file SiStripPayloadInspectorHelper.h.

Enumerator
TIB1r 
TIB1s 
TIB2r 
TIB2s 
TIB3r 
TIB4r 
TOB1r 
TOB1s 
TOB2r 
TOB2s 
TOB3r 
TOB4r 
TOB5r 
TOB6r 
TEC1r 
TEC1s 
TEC2r 
TEC2s 
TEC3r 
TEC3s 
TEC4r 
TEC4s 
TEC5r 
TEC5s 
TEC6r 
TEC6s 
TEC7r 
TEC7s 
TEC8r 
TEC8s 
TEC9r 
TEC9s 
TID1r 
TID1s 
TID2r 
TID2s 
TID3r 
TID3s 
END_OF_REGIONS 

Definition at line 47 of file SiStripPayloadInspectorHelper.h.

47  {
48  TIB1r = 1010, TIB1s = 1011,
49  TIB2r = 1020, TIB2s = 1021,
50  TIB3r = 1030,
51  TIB4r = 1040,
52  TOB1r = 2010, TOB1s = 2011,
53  TOB2r = 2020, TOB2s = 2021,
54  TOB3r = 2030,
55  TOB4r = 2040,
56  TOB5r = 2050,
57  TOB6r = 2060,
58  TEC1r = 3010, TEC1s = 3011,
59  TEC2r = 3020, TEC2s = 3021,
60  TEC3r = 3030, TEC3s = 3031,
61  TEC4r = 3040, TEC4s = 3041,
62  TEC5r = 3050, TEC5s = 3051,
63  TEC6r = 3060, TEC6s = 3061,
64  TEC7r = 3070, TEC7s = 3071,
65  TEC8r = 3080, TEC8s = 3081,
66  TEC9r = 3090, TEC9s = 3091,
67  TID1r = 4010, TID1s = 4011,
68  TID2r = 4020, TID2s = 4021,
69  TID3r = 4030, TID3s = 4031,
71  };

Function Documentation

void SiStripPI::drawStatBox ( std::map< std::string, std::shared_ptr< TH1F >>  histos,
std::map< std::string, int >  colormap,
std::vector< std::string >  legend,
double  X = 0.15,
double  Y = 0.93,
double  W = 0.15,
double  H = 0.10 
)

Definition at line 151 of file SiStripPayloadInspectorHelper.h.

References edmScanValgrind::buffer, class-composition::H, plotFactory::histos, mps_fire::i, X, and DOFs::Y.

153  {
154  char buffer[255];
155 
156  int i=0;
157  for ( const auto &element : legend ){
158  TPaveText* stat = new TPaveText(X,Y-(i*H), X+W, Y-(i+1)*H, "NDC");
159  i++;
160  auto Histo = histos[element];
161  sprintf(buffer,"Entries : %i\n",(int)Histo->GetEntries());
162  stat->AddText(buffer);
163 
164  sprintf(buffer,"Mean : %6.2f\n",Histo->GetMean());
165  stat->AddText(buffer);
166 
167  sprintf(buffer,"RMS : %6.2f\n",Histo->GetRMS());
168  stat->AddText(buffer);
169 
170  stat->SetFillColor(0);
171  stat->SetLineColor(colormap[element]);
172  stat->SetTextColor(colormap[element]);
173  stat->SetTextSize(0.03);
174  stat->SetBorderSize(0);
175  stat->SetMargin(0.05);
176  stat->SetTextAlign(12);
177  stat->Draw();
178  }
179  }
#define X(str)
Definition: MuonsGrabber.cc:48
std::string SiStripPI::estimatorType ( SiStripPI::estimator  e)

Definition at line 22 of file SiStripPayloadInspectorHelper.h.

References max, mean, min, and rms.

24  {
25  switch(e){
26  case SiStripPI::min : return "minimum";
27  case SiStripPI::max : return "maximum";
28  case SiStripPI::mean : return "mean";
29  case SiStripPI::rms : return "RMS";
30  default: return "should never be here";
31  }
32  }
std::pair<float,float> SiStripPI::getExtrema ( TH1 *  h1,
TH1 *  h2 
)

Definition at line 182 of file SiStripPayloadInspectorHelper.h.

References mps_fire::result.

184  {
185  float theMax(-9999.);
186  float theMin(9999.);
187  theMax = h1->GetMaximum() > h2->GetMaximum() ? h1->GetMaximum() : h2->GetMaximum();
188  theMin = h1->GetMinimum() < h2->GetMaximum() ? h1->GetMinimum() : h2->GetMinimum();
189 
190  float add_min = theMin>0. ? -0.05 : 0.05;
191  float add_max = theMax>0. ? 0.05 : -0.05;
192 
193  auto result = std::make_pair(theMin*(1+add_min),theMax*(1+add_max));
194  return result;
195 
196  }
std::string SiStripPI::getStringFromSubdet ( StripSubdetector::SubDetector  sub)

Definition at line 35 of file SiStripPayloadInspectorHelper.h.

References StripSubdetector::TEC, StripSubdetector::TIB, StripSubdetector::TID, and StripSubdetector::TOB.

37  {
38  switch(sub){
39  case StripSubdetector::TIB : return "TIB";
40  case StripSubdetector::TOB : return "TOB";
41  case StripSubdetector::TID : return "TID";
42  case StripSubdetector::TEC : return "TEC";
43  default : return "should never be here";
44  }
45  }
std::pair<float,float> SiStripPI::getTheRange ( std::map< uint32_t, float >  values)

Definition at line 125 of file SiStripPayloadInspectorHelper.h.

References begin, end, funct::m, AlCaHLTBitMon_ParallelJobs::p, mathSSE::sqrt(), and plotscripts::stdev().

127  {
128  float sum = std::accumulate(std::begin(values),
129  std::end(values),
130  0.0,
131  [] (float value, const std::map<uint32_t,float>::value_type& p)
132  { return value + p.second; }
133  );
134 
135  float m = sum / values.size();
136 
137  float accum = 0.0;
138  std::for_each (std::begin(values),
139  std::end(values),
141  {accum += (p.second - m) * (p.second - m);}
142  );
143 
144  float stdev = sqrt(accum / (values.size()-1));
145 
146  return std::make_pair(m-2*stdev,m+2*stdev);
147 
148  }
T sqrt(T t)
Definition: SSEVec.h:18
#define end
Definition: vmac.h:37
Definition: value.py:1
#define begin
Definition: vmac.h:30
def stdev(xlist)
Definition: plotscripts.py:67
void SiStripPI::makeNicePlotStyle ( TH1 *  hist)

Definition at line 200 of file SiStripPayloadInspectorHelper.h.

202  {
203  hist->SetStats(kFALSE);
204  hist->SetLineWidth(2);
205  hist->GetXaxis()->CenterTitle(true);
206  hist->GetYaxis()->CenterTitle(true);
207  hist->GetXaxis()->SetTitleFont(42);
208  hist->GetYaxis()->SetTitleFont(42);
209  hist->GetXaxis()->SetTitleSize(0.05);
210  hist->GetYaxis()->SetTitleSize(0.05);
211  hist->GetXaxis()->SetTitleOffset(0.9);
212  hist->GetYaxis()->SetTitleOffset(1.3);
213  hist->GetXaxis()->SetLabelFont(42);
214  hist->GetYaxis()->SetLabelFont(42);
215  hist->GetYaxis()->SetLabelSize(.05);
216  hist->GetXaxis()->SetLabelSize(.05);
217  }
void SiStripPI::printSummary ( const std::map< unsigned int, SiStripDetSummary::Values > &  map)

Definition at line 221 of file SiStripPayloadInspectorHelper.h.

References KineDebug3::count(), gather_cfg::cout, gamEcalExtractorBlocks_cff::detector, mean, regionType(), rms, mathSSE::sqrt(), and AlCaHLTBitMon_QueryRunRegistry::string.

223  {
224  for (const auto &element : map){
225  int count = element.second.count;
226  double mean = count>0 ? (element.second.mean)/count : 0. ;
227  double rms = count>0 ? (element.second.rms)/count - mean*mean : 0.;
228  if(rms <= 0)
229  rms = 0;
230  else
231  rms = sqrt(rms);
232 
234 
235  switch ((element.first)/1000)
236  {
237  case 1:
238  detector = "TIB ";
239  break;
240  case 2:
241  detector = "TOB ";
242  break;
243  case 3:
244  detector = "TEC ";
245  break;
246  case 4:
247  detector = "TID ";
248  break;
249  }
250 
251  int layer = (element.first)/10 - (element.first)/1000*100;
252  int stereo = (element.first) - (layer*10) -(element.first)/1000*1000;
253 
254  std::cout<<"key of the map:"<<element.first <<" ( region: "<<regionType(element.first) <<" ) "
255  << detector<<" layer: "<<layer<<" stereo:"<<stereo
256  <<"| count:"<<count<<" mean: "<<mean<<" rms: "<<rms<<std::endl;
257 
258  }
259  }
const char * regionType(int index)
T sqrt(T t)
Definition: SSEVec.h:18
const char* SiStripPI::regionType ( int  index)

Definition at line 74 of file SiStripPayloadInspectorHelper.h.

References END_OF_REGIONS, diffTreeTool::index, TEC1r, TEC1s, TEC2r, TEC2s, TEC3r, TEC3s, TEC4r, TEC4s, TEC5r, TEC5s, TEC6r, TEC6s, TEC7r, TEC7s, TEC8r, TEC8s, TEC9r, TEC9s, TIB1r, TIB1s, TIB2r, TIB2s, TIB3r, TIB4r, TID1r, TID1s, TID2r, TID2s, TID3r, TID3s, TOB1r, TOB1s, TOB2r, TOB2s, TOB3r, TOB4r, TOB5r, and TOB6r.

Referenced by printSummary().

76  {
77 
78  auto region = static_cast<std::underlying_type_t<SiStripPI::TrackerRegion> >(index);
79 
80  switch(region){
81  case SiStripPI::TIB1r: return "TIB L1 r-#varphi";
82  case SiStripPI::TIB1s: return "TIB L1 stereo";
83  case SiStripPI::TIB2r: return "TIB L2 r-#varphi";
84  case SiStripPI::TIB2s: return "TIB L2 stereo";
85  case SiStripPI::TIB3r: return "TIB L3";
86  case SiStripPI::TIB4r: return "TIB L4";
87  case SiStripPI::TOB1r: return "TOB L1 r-#varphi";
88  case SiStripPI::TOB1s: return "TOB L1 stereo";
89  case SiStripPI::TOB2r: return "TOB L2 r-#varphi";
90  case SiStripPI::TOB2s: return "TOB L2 stereo";
91  case SiStripPI::TOB3r: return "TOB L3 r-#varphi";
92  case SiStripPI::TOB4r: return "TOB L4";
93  case SiStripPI::TOB5r: return "TOB L5";
94  case SiStripPI::TOB6r: return "TOB L6";
95  case SiStripPI::TEC1r: return "TEC D1 r-#varphi";
96  case SiStripPI::TEC1s: return "TEC D1 stereo";
97  case SiStripPI::TEC2r: return "TEC D2 r-#varphi";
98  case SiStripPI::TEC2s: return "TEC D2 stereo";
99  case SiStripPI::TEC3r: return "TEC D3 r-#varphi";
100  case SiStripPI::TEC3s: return "TEC D3 stereo";
101  case SiStripPI::TEC4r: return "TEC D4 r-#varphi";
102  case SiStripPI::TEC4s: return "TEC D4 stereo";
103  case SiStripPI::TEC5r: return "TEC D5 r-#varphi";
104  case SiStripPI::TEC5s: return "TEC D5 stereo";
105  case SiStripPI::TEC6r: return "TEC D6 r-#varphi";
106  case SiStripPI::TEC6s: return "TEC D6 stereo";
107  case SiStripPI::TEC7r: return "TEC D7 r-#varphi";
108  case SiStripPI::TEC7s: return "TEC D7 stereo";
109  case SiStripPI::TEC8r: return "TEC D8 r-#varphi";
110  case SiStripPI::TEC8s: return "TEC D8 stereo";
111  case SiStripPI::TEC9r: return "TEC D9 r-#varphi";
112  case SiStripPI::TEC9s: return "TEC D9 stereo";
113  case SiStripPI::TID1r: return "TID D1 r-#varphi";
114  case SiStripPI::TID1s: return "TID D1 stereo";
115  case SiStripPI::TID2r: return "TID D2 r-#varphi";
116  case SiStripPI::TID2s: return "TID D2 stereo";
117  case SiStripPI::TID3r: return "TID D3 r-#varphi";
118  case SiStripPI::TID3s: return "TID D3 stereo";
119  case SiStripPI::END_OF_REGIONS : return "undefined";
120  default : return "should never be here";
121  }
122  }