CMS 3D CMS Logo

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

#include <DTRunConditionVarClient.h>

Inheritance diagram for DTRunConditionVarClient:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

 DTRunConditionVarClient (const edm::ParameterSet &ps)
 Constructor. More...
 
virtual ~DTRunConditionVarClient ()
 Destructor. More...
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c)
 
void beginJob ()
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumiSeg, edm::EventSetup const &context)
 DQM Client Diagnostic. More...
 
void beginRun (const edm::Run &run, const edm::EventSetup &setup)
 
void bookWheelHistos (std::string histoType, std::string subfolder, int wh, int nbins, float min, float max, bool isVDCorr=false)
 book the report summary More...
 
void endJob ()
 
void endLuminosityBlock (edm::LuminosityBlock const &lumiSeg, edm::EventSetup const &c)
 
void endRun (edm::Run const &run, edm::EventSetup const &c)
 
void percDevVDrift (DTChamberId indexCh, float meanVD, float sigmaVD, float &devVD, float &errdevVD)
 
float varQuality (float var, float maxGood, float minBad)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Private Member Functions

MonitorElementgetChamberHistos (const DTChamberId &, std::string)
 

Private Attributes

std::map< std::string,
MonitorElement * > 
allwheelHistos
 
MonitorElementglbT0Summary
 
MonitorElementglbVDriftSummary
 
float maxGoodT0
 
float maxGoodT0Sigma
 
float maxGoodVDriftDev
 
float maxGoodVDriftSigma
 
float maxRangeT0
 
float maxRangeVDrift
 
float minBadT0
 
float minBadT0Sigma
 
float minBadVDriftDev
 
float minBadVDriftSigma
 
float minRangeT0
 
float minRangeVDrift
 
edm::ESHandle< DTMtimemTime
 
const DTMtimemTimeMap_
 
int nevents
 
std::map< std::string,
MonitorElement * > 
summaryHistos
 
DQMStoretheDbe
 
std::map< int, std::map
< std::string, MonitorElement * > > 
wheelHistos
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 

Detailed Description

Description:

Author
: Paolo Bellan, Antonio Branca $date : 23/09/2011 15:42:04 CET $

Modification:

Definition at line 43 of file DTRunConditionVarClient.h.

Constructor & Destructor Documentation

DTRunConditionVarClient::DTRunConditionVarClient ( const edm::ParameterSet ps)

Constructor.

Definition at line 32 of file DTRunConditionVarClient.cc.

References edm::ParameterSet::getUntrackedParameter(), and cppFunctionSkipper::operator.

33 {
34 
35  LogVerbatim ("DTDQM|DTMonitorClient|DTRunConditionVarClient")
36  << "DTRunConditionVarClient: Constructor called";
37 
38 
39  minRangeVDrift = pSet.getUntrackedParameter<double>("minRangeVDrift");
40  maxRangeVDrift = pSet.getUntrackedParameter<double>("maxRangeVDrift");
41  minRangeT0 = pSet.getUntrackedParameter<double>("minRangeT0");
42  maxRangeT0 = pSet.getUntrackedParameter<double>("maxRangeT0");
43 
44  maxGoodVDriftDev = pSet.getUntrackedParameter<double>("maxGoodVDriftDev");
45  minBadVDriftDev = pSet.getUntrackedParameter<double>("minBadVDriftDev");
46  maxGoodT0 = pSet.getUntrackedParameter<double>("maxGoodT0");
47  minBadT0 = pSet.getUntrackedParameter<double>("minBadT0");
48 
49  maxGoodVDriftSigma = pSet.getUntrackedParameter<double>("maxGoodVDriftSigma");
50  minBadVDriftSigma = pSet.getUntrackedParameter<double>("minBadVDriftSigma");
51  maxGoodT0Sigma = pSet.getUntrackedParameter<double>("maxGoodT0Sigma");
52  minBadT0Sigma = pSet.getUntrackedParameter<double>("minBadT0Sigma");
53 
55 
56 }
DTRunConditionVarClient::~DTRunConditionVarClient ( )
virtual

Destructor.

Definition at line 58 of file DTRunConditionVarClient.cc.

59 {
60  LogVerbatim ("DTDQM|DTMonitorClient|DTRunConditionVarClient")
61  << "DTRunConditionVarClient: Destructor called";
62 }

Member Function Documentation

void DTRunConditionVarClient::analyze ( const edm::Event e,
const edm::EventSetup c 
)
protectedvirtual

Implements edm::EDAnalyzer.

Definition at line 122 of file DTRunConditionVarClient.cc.

References nevents.

123 {
124 
125  nevents++;
126  LogVerbatim ("DTDQM|DTMonitorClient|DTRunConditionVarClient")
127  << "[DTRunConditionVarClient]: " << nevents << " events";
128  return;
129 }
void DTRunConditionVarClient::beginJob ( void  )
protectedvirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 64 of file DTRunConditionVarClient.cc.

References nevents.

65 {
66  LogVerbatim ("DTDQM|DTMonitorClient|DTRunConditionVarClient")
67  << "DTRunConditionVarClient: BeginJob";
68 
69  nevents = 0;
70 
71  theDbe -> setCurrentFolder("DT/02-Segments");
72 
73  glbVDriftSummary = theDbe->book2D("VDriftGlbSummary", "# of MBs with good mean and good sigma of vDrift",12,1,13,5,-2,3);
74  glbT0Summary = theDbe->book2D("T0GlbSummary", "# of MBs with good mean and good sigma of t0",12,1,13,5,-2,3);
75 
76  theDbe -> setCurrentFolder("DT/02-Segments/02-MeanVDrift");
77 
78  summaryHistos["MeanVDriftGlbSummary"] = theDbe -> book2D("MeanVDriftGlbSummary","mean VDrift average per sector",12,1.,13.,5,-2.,3.);
79  allwheelHistos["allMeanVDrift"] = theDbe -> book1D("VDriftMeanAllWheels","mean VDrift for all chambers",60,0.0048,0.006);
80 
81  theDbe -> setCurrentFolder("DT/02-Segments/02-SigmaVDrift");
82 
83  summaryHistos["SigmaVDriftGlbSummary"] = theDbe -> book2D("SigmaVDriftGlbSummary","# of Chambers with good sigma VDrift",12,1.,13.,5,-2.,3.);
84  allwheelHistos["allSigmaVDrift"] = theDbe -> book1D("VDriftSigmaAllWheels","sigma VDrift for all chambers",30,0.,0.0006);
85 
86  theDbe -> setCurrentFolder("DT/02-Segments/03-MeanT0");
87 
88  summaryHistos["MeanT0GlbSummary"] = theDbe -> book2D("MeanT0GlbSummary","mean T0 average per sector",12,1.,13.,5,-2.,3.);
89  allwheelHistos["allMeanT0"] = theDbe -> book1D("T0MeanAllWheels","mean T0 for all chambers",100,-25.,25.);
90 
91  theDbe -> setCurrentFolder("DT/02-Segments/03-SigmaT0");
92 
93  summaryHistos["SigmaT0GlbSummary"] = theDbe -> book2D("SigmaT0GlbSummary","# of Chambers with good sigma T0",12,1.,13.,5,-2.,3.);
94  allwheelHistos["allSigmaT0"] = theDbe -> book1D("T0SigmaAllWheels","sigma T0 for alla chambers",50,0,25);
95 
96  for(int wh=-2; wh<=2; wh++) {
97  bookWheelHistos("MeanVDrift","02-MeanVDrift",wh,60,0.0048,0.006,true);
98  bookWheelHistos("SigmaVDrift","02-SigmaVDrift",wh,30,0.,0.0006);
99  bookWheelHistos("MeanT0","03-MeanT0",wh,100,-25.,25.);
100  bookWheelHistos("SigmaT0","03-SigmaT0",wh,50,0,25);
101  }
102 
103  return;
104 }
std::map< std::string, MonitorElement * > summaryHistos
void bookWheelHistos(std::string histoType, std::string subfolder, int wh, int nbins, float min, float max, bool isVDCorr=false)
book the report summary
std::map< std::string, MonitorElement * > allwheelHistos
void DTRunConditionVarClient::beginLuminosityBlock ( edm::LuminosityBlock const &  lumiSeg,
edm::EventSetup const &  context 
)
protectedvirtual

DQM Client Diagnostic.

Reimplemented from edm::EDAnalyzer.

Definition at line 106 of file DTRunConditionVarClient.cc.

107 {
108  LogVerbatim ("DTDQM|DTMonitorClient|DTRunConditionVarClient")
109  << "[DTRunConditionVarClient]: Begin of LS transition";
110 
111  return;
112 }
void DTRunConditionVarClient::beginRun ( const edm::Run run,
const edm::EventSetup setup 
)
protectedvirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 114 of file DTRunConditionVarClient.cc.

115 {
116  LogVerbatim ("DTDQM|DTMonitorClient|DTRunConditionVarClient")
117  << "DTRunConditionVarClient: beginRun";
118 
119  return;
120 }
void DTRunConditionVarClient::bookWheelHistos ( std::string  histoType,
std::string  subfolder,
int  wh,
int  nbins,
float  min,
float  max,
bool  isVDCorr = false 
)
protected

book the report summary

Definition at line 319 of file DTRunConditionVarClient.cc.

References MonitorElement::setAxisTitle(), and MonitorElement::setBinLabel().

320 {
321  stringstream wheel; wheel << wh;
322 
323  string folder = "DT/02-Segments/" + subfolder;
324 
325  theDbe->setCurrentFolder(folder);
326 
327  string histoName = histoType + "_W" + wheel.str();
328  string histoLabel = histoType;
329 
330  (wheelHistos[wh])[histoType] = theDbe -> book1D(histoName, histoLabel, nbins, min, max);
331 
332 
333  if( isVDCorr ) {
334  histoLabel = "Summary of corrections to VDrift DB values";
335  histoName = "CorrTo" + histoType + "Summary_W" + wheel.str();
336  } else {
337  histoLabel = histoType + "Summary";
338  histoName = histoType + "Summary_W" + wheel.str();
339  }
340 
341  MonitorElement* me = theDbe -> book2D(histoName, histoLabel,12,1,13,4,1,5);
342 
343  me->setBinLabel(1,"MB1",2);
344  me->setBinLabel(2,"MB2",2);
345  me->setBinLabel(3,"MB3",2);
346  me->setBinLabel(4,"MB4",2);
347  me->setAxisTitle("Sector",1);
348 
349  (wheelHistos[wh])[histoType + "Summary"] = me;
350 
351  return;
352 }
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
const T & max(const T &a, const T &b)
std::map< int, std::map< std::string, MonitorElement * > > wheelHistos
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void DTRunConditionVarClient::endJob ( void  )
protectedvirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 276 of file DTRunConditionVarClient.cc.

277 {
278  LogVerbatim ("DTDQM|DTMonitorClient|DTRunConditionVarClient")
279  << "DTRunConditionVarClient: endJob";
280  return;
281 }
void DTRunConditionVarClient::endLuminosityBlock ( edm::LuminosityBlock const &  lumiSeg,
edm::EventSetup const &  c 
)
protectedvirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 131 of file DTRunConditionVarClient.cc.

132 {
133  LogVerbatim ("DTDQM|DTMonitorClient|DTRunConditionVarClient")
134  << "DTRunConditionVarClient: endluminosityBlock";
135 }
void DTRunConditionVarClient::endRun ( edm::Run const &  run,
edm::EventSetup const &  c 
)
protectedvirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 138 of file DTRunConditionVarClient.cc.

References DTChamberId, HcalObjRepresent::Fill(), edm::EventSetup::get(), MonitorElement::getEntries(), MonitorElement::getMean(), MonitorElement::getRMS(), edm::max(), edm::min(), and histoStyle::weight.

139 {
140  LogVerbatim ("DTDQM|DTMonitorClient|DTRunConditionVarClient")
141  << "DTRunConditionVarClient: endRun";
142 
143  // Get the map of vdrift from the setup
144  context.get<DTMtimeRcd>().get(mTime);
145  mTimeMap_ = &*mTime;
146 
147  for(int wheel=-2;wheel<=2;wheel++){
148  for(int sec=1; sec<=14; sec++) {
149  for(int stat=1; stat<=4; stat++) {
150 
151  if( (sec == 13 || sec == 14) && stat != 4 ) continue;
152 
153  // Get the ME produced by DTRunConditionVar Source
154  MonitorElement* VDriftME = getChamberHistos(DTChamberId(wheel,stat,sec),"VDrift_FromSegm");
155  MonitorElement* T0ME = getChamberHistos(DTChamberId(wheel,stat,sec),"T0_FromSegm");
156 
157  if (!VDriftME || !T0ME) {
158  edm::LogWarning("DTRunConditionVarClient") << "ME not available" << std::endl;
159  return;
160  }
161 
162 
163  // Get the means per chamber
164  float vDriftMean = VDriftME->getMean();
165  float t0Mean = T0ME->getMean();
166 
167  // Get the sigma per chamber
168  float vDriftSigma = VDriftME->getRMS();
169  float t0Sigma = T0ME->getRMS();
170 
171  if( VDriftME->getEntries() != 0 ) {
172 
173  allwheelHistos["allMeanVDrift"] -> Fill(vDriftMean);
174  allwheelHistos["allSigmaVDrift"] -> Fill(vDriftSigma);
175 
176  (wheelHistos[wheel])["MeanVDrift"] -> Fill(vDriftMean);
177  (wheelHistos[wheel])["SigmaVDrift"] -> Fill(vDriftSigma);
178 
179  }
180 
181 
182  if( T0ME->getEntries() != 0 ) {
183 
184  allwheelHistos["allMeanT0"] -> Fill(t0Mean);
185  allwheelHistos["allSigmaT0"] -> Fill(t0Sigma);
186 
187  (wheelHistos[wheel])["MeanT0"] -> Fill(t0Mean);
188  (wheelHistos[wheel])["SigmaT0"] -> Fill(t0Sigma);
189 
190  }
191 
192  //
193  DTChamberId indexCh(wheel,stat,sec);
194 
195  float vDriftDev(0.), errvDriftDev(0.);
196  percDevVDrift(indexCh, vDriftMean, vDriftSigma, vDriftDev, errvDriftDev);
197 
198  int sec_ = sec;
199  if( sec == 13 || sec == 14 ) sec_ = ( sec == 13 ) ? 4 : 10;
200 
201  float fillvDriftDev = max(min(vDriftDev,maxRangeVDrift),minRangeVDrift);
202  float fillT0Mean = max(min(t0Mean,maxRangeT0),minRangeT0);
203 
204  float vDriftDevQ = varQuality(fabs(vDriftDev),maxGoodVDriftDev,minBadVDriftDev);
205  float t0MeanQ = varQuality(fabs(t0Mean),maxGoodT0,minBadT0);
206 
207  float vDriftSigmQ = varQuality(vDriftSigma,maxGoodVDriftSigma,minBadVDriftSigma);
208  float t0SigmQ = varQuality(t0Sigma,maxGoodT0Sigma,minBadT0Sigma);
209 
210  if( sec == 13 || sec == 14 ) {
211 
212  float binVDriftDev = (wheelHistos[wheel])["MeanVDriftSummary"]->getBinContent(sec_,stat);
213  binVDriftDev = (fabs(binVDriftDev) > fabs(fillvDriftDev)) ? binVDriftDev : fillvDriftDev;
214  (wheelHistos[wheel])["MeanVDriftSummary"] -> setBinContent(sec_,stat,binVDriftDev);
215 
216  float binT0MeanVal = (wheelHistos[wheel])["MeanT0Summary"] -> getBinContent(sec_,stat);
217  binT0MeanVal = (fabs(binT0MeanVal) > fabs(fillT0Mean)) ? binT0MeanVal : fillT0Mean;
218  (wheelHistos[wheel])["MeanT0Summary"] -> setBinContent(sec_,stat,binT0MeanVal);
219 
220  float binVDriftSigmVal = (wheelHistos[wheel])["SigmaVDriftSummary"] -> getBinContent(sec_,stat);
221  binVDriftSigmVal = (binVDriftSigmVal > 0. && binVDriftSigmVal < vDriftSigmQ) ? binVDriftSigmVal : vDriftSigmQ;
222  (wheelHistos[wheel])["SigmaVDriftSummary"] -> setBinContent(sec_,stat,binVDriftSigmVal);
223 
224  float binT0SigmVal = (wheelHistos[wheel])["SigmaT0Summary"] -> getBinContent(sec_,stat);
225  binT0SigmVal = (binT0SigmVal > 0. && binT0SigmVal < t0SigmQ) ? binT0SigmVal : t0SigmQ;
226  (wheelHistos[wheel])["SigmaT0Summary"] -> setBinContent(sec_,stat,binT0SigmVal);
227 
228  } else {
229 
230  (wheelHistos[wheel])["MeanVDriftSummary"] -> setBinContent(sec_,stat,fillvDriftDev);
231  (wheelHistos[wheel])["MeanT0Summary"] -> setBinContent(sec_,stat,fillT0Mean);
232  (wheelHistos[wheel])["SigmaVDriftSummary"] -> setBinContent(sec_,stat,vDriftSigmQ);
233  (wheelHistos[wheel])["SigmaT0Summary"] -> setBinContent(sec_,stat,t0SigmQ);
234 
235  }
236 
237  double weight = 1/4.;
238  if(( sec_ == 4 || sec_ == 10) && stat == 4) weight = 1/8.;
239 
240  if( vDriftDevQ > 0.85 && vDriftSigmQ > 0.85 ) {
241  glbVDriftSummary -> Fill(sec_,wheel,weight);
242  summaryHistos["MeanVDriftGlbSummary"] -> Fill(sec_,wheel,weight);
243  summaryHistos["SigmaVDriftGlbSummary"] -> Fill(sec_,wheel,weight);
244 
245  } else {
246  if( vDriftDevQ > 0.85 && vDriftSigmQ < 0.85 ) {
247  summaryHistos["MeanVDriftGlbSummary"] -> Fill(sec_,wheel,weight);
248  }
249  if( vDriftDevQ < 0.85 && vDriftSigmQ > 0.85 ) {
250  summaryHistos["SigmaVDriftGlbSummary"] -> Fill(sec_,wheel,weight);
251  }
252  }
253 
254  if( t0MeanQ > 0.85 && t0SigmQ > 0.85 ) {
255  glbT0Summary -> Fill(sec_,wheel,weight);
256  summaryHistos["MeanT0GlbSummary"] -> Fill(sec_,wheel,weight);
257  summaryHistos["SigmaT0GlbSummary"] -> Fill(sec_,wheel,weight);
258  } else {
259  if( t0MeanQ > 0.85 && t0SigmQ < 0.85 ) {
260  summaryHistos["MeanT0GlbSummary"] -> Fill(sec_,wheel,weight);
261 
262  }
263  if( t0MeanQ < 0.85 && t0SigmQ > 0.85 ) {
264  summaryHistos["SigmaT0GlbSummary"] -> Fill(sec_,wheel,weight);
265  }
266  }
267 
268 
269  }// end loop on stations
270  }// end loop on sectors
271  }//end loop on wheels
272 
273  return;
274 }
std::map< std::string, MonitorElement * > summaryHistos
double getEntries(void) const
get # of entries
double getMean(int axis=1) const
get mean value of histogram along x, y or z axis (axis=1, 2, 3 respectively)
float varQuality(float var, float maxGood, float minBad)
MonitorElement * getChamberHistos(const DTChamberId &, std::string)
const T & max(const T &a, const T &b)
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
void percDevVDrift(DTChamberId indexCh, float meanVD, float sigmaVD, float &devVD, float &errdevVD)
edm::ESHandle< DTMtime > mTime
std::map< std::string, MonitorElement * > allwheelHistos
std::map< int, std::map< std::string, MonitorElement * > > wheelHistos
double getRMS(int axis=1) const
get RMS of histogram along x, y or z axis (axis=1, 2, 3 respectively)
int weight
Definition: histoStyle.py:50
MonitorElement * DTRunConditionVarClient::getChamberHistos ( const DTChamberId ,
std::string   
)
private

Definition at line 354 of file DTRunConditionVarClient.cc.

References LogTrace, DTChamberId::sector(), DTChamberId::station(), relativeConstraints::station, and DTChamberId::wheel().

354  {
355 
356  int wh = dtCh.wheel();
357  int sc = dtCh.sector();
358  int st = dtCh.station();
359  stringstream wheel; wheel << wh;
360  stringstream station; station << st;
361  stringstream sector; sector << sc;
362 
363  string folder = "DT/02-Segments/Wheel" + wheel.str() + "/Sector" + sector.str() + "/Station" + station.str();
364  string histoTag = "_W" + wheel.str() + "_Sec" + sector.str() + "_St" + station.str();
365  string MEpath = folder + "/" + histoType + histoTag;
366 
367  theDbe->setCurrentFolder(folder);
368 
369  LogTrace ("DTDQM|DTMonitorModule|DTRunConditionVar")
370  << "[DTRunConditionVar]: getting ME from " << folder << endl;
371 
372  MonitorElement* ME = theDbe -> get(MEpath);
373 
374  return ME;
375 }
Definition: ME.h:11
#define LogTrace(id)
MonitorElement ME
void DTRunConditionVarClient::percDevVDrift ( DTChamberId  indexCh,
float  meanVD,
float  sigmaVD,
float &  devVD,
float &  errdevVD 
)
protected

Definition at line 293 of file DTRunConditionVarClient.cc.

References DTVelocityUnits::cm_per_ns, and edm::hlt::Exception.

293  {
294 
295  DTSuperLayerId indexSLPhi1(indexCh,1);
296  DTSuperLayerId indexSLPhi2(indexCh,3);
297 
298  float vDriftPhi1(0.), vDriftPhi2(0.);
299  float ResPhi1(0.), ResPhi2(0.);
300  int status1 = mTimeMap_->get(indexSLPhi1,vDriftPhi1,ResPhi1,DTVelocityUnits::cm_per_ns);
301  int status2 = mTimeMap_->get(indexSLPhi2,vDriftPhi2,ResPhi2,DTVelocityUnits::cm_per_ns);
302 
303  if(status1 != 0 || status2 != 0) {
304  DTSuperLayerId sl = (status1 != 0) ? indexSLPhi1 : indexSLPhi2;
305  throw cms::Exception("DTRunConditionVarClient") << "Could not find vDrift entry in DB for"
306  << sl << endl;
307  }
308 
309  float vDriftMed = (vDriftPhi1 + vDriftPhi2) / 2.;
310 
311  devVD = (meanVD - vDriftMed) / vDriftMed;
312  devVD = devVD < 1. ? devVD : 1.;
313 
314  errdevVD = sigmaVD/vDriftMed;
315 
316  return;
317 }
int get(int wheelId, int stationId, int sectorId, int slId, float &mTime, float &mTrms, DTTimeUnits::type unit) const
Definition: DTMtime.cc:82
float DTRunConditionVarClient::varQuality ( float  var,
float  maxGood,
float  minBad 
)
protected

Definition at line 283 of file DTRunConditionVarClient.cc.

283  {
284 
285  float qual(0);
286  if( var <= maxGood ) {qual = 1.;}
287  else if( var > maxGood && var < minBad ) {qual = 0.9;}
288  else if( var >= minBad ) {qual = 0.1;}
289 
290  return qual;
291 }

Member Data Documentation

std::map<std::string, MonitorElement *> DTRunConditionVarClient::allwheelHistos
private

Definition at line 106 of file DTRunConditionVarClient.h.

MonitorElement* DTRunConditionVarClient::glbT0Summary
private

Definition at line 102 of file DTRunConditionVarClient.h.

MonitorElement* DTRunConditionVarClient::glbVDriftSummary
private

Definition at line 101 of file DTRunConditionVarClient.h.

float DTRunConditionVarClient::maxGoodT0
private

Definition at line 88 of file DTRunConditionVarClient.h.

float DTRunConditionVarClient::maxGoodT0Sigma
private

Definition at line 93 of file DTRunConditionVarClient.h.

float DTRunConditionVarClient::maxGoodVDriftDev
private

Definition at line 86 of file DTRunConditionVarClient.h.

float DTRunConditionVarClient::maxGoodVDriftSigma
private

Definition at line 91 of file DTRunConditionVarClient.h.

float DTRunConditionVarClient::maxRangeT0
private

Definition at line 84 of file DTRunConditionVarClient.h.

float DTRunConditionVarClient::maxRangeVDrift
private

Definition at line 82 of file DTRunConditionVarClient.h.

float DTRunConditionVarClient::minBadT0
private

Definition at line 89 of file DTRunConditionVarClient.h.

float DTRunConditionVarClient::minBadT0Sigma
private

Definition at line 94 of file DTRunConditionVarClient.h.

float DTRunConditionVarClient::minBadVDriftDev
private

Definition at line 87 of file DTRunConditionVarClient.h.

float DTRunConditionVarClient::minBadVDriftSigma
private

Definition at line 92 of file DTRunConditionVarClient.h.

float DTRunConditionVarClient::minRangeT0
private

Definition at line 83 of file DTRunConditionVarClient.h.

float DTRunConditionVarClient::minRangeVDrift
private

Definition at line 81 of file DTRunConditionVarClient.h.

edm::ESHandle<DTMtime> DTRunConditionVarClient::mTime
private

Definition at line 96 of file DTRunConditionVarClient.h.

const DTMtime* DTRunConditionVarClient::mTimeMap_
private

Definition at line 97 of file DTRunConditionVarClient.h.

int DTRunConditionVarClient::nevents
private

Definition at line 79 of file DTRunConditionVarClient.h.

std::map<std::string, MonitorElement *> DTRunConditionVarClient::summaryHistos
private

Definition at line 105 of file DTRunConditionVarClient.h.

DQMStore* DTRunConditionVarClient::theDbe
private

Definition at line 99 of file DTRunConditionVarClient.h.

std::map<int, std::map<std::string, MonitorElement*> > DTRunConditionVarClient::wheelHistos
private

Definition at line 104 of file DTRunConditionVarClient.h.