75 if (!runOnline)
return;
77 LogVerbatim(
"DTDQM|DTMonitorClient|DTLocalTriggerTest") <<
"[" << testName <<
"Test]: End of LS transition, performing the DQM client operation";
83 LogVerbatim(
"DTDQM|DTMonitorClient|DTLocalTriggerTest") <<
"[" << testName <<
"Test]: "<<nLumiSegs<<
" updates";
84 runClientDiagnostic();
101 LogVerbatim(
category()) <<
"[" << testName <<
"Test] Client called in offline mode, performing client operations";
102 runClientDiagnostic();
119 trigSources.push_back(
"");
136 return hwSource +
"_" + htype + trigSource;
142 stringstream wheel; wheel << chambid.
wheel();
144 stringstream sector; sector << chambid.
sector();
146 string folderName = topFolder(hwSource==
"DCC") +
"Wheel" + wheel.str() +
147 "/Sector" + sector.str() +
"/Station" + station.str() +
"/" ;
148 if (subfolder!=
"") { folderName += subfolder +
"/"; }
150 string histoname = sourceFolder + folderName
153 +
"_Sec" + sector.str()
154 +
"_St" + station.str();
162 stringstream wheel; wheel << wh;
164 string folderName = topFolder(hwSource==
"DCC") +
"Wheel" + wheel.str() +
"/";
165 if (subfolder!=
"") { folderName += subfolder +
"/"; }
167 string histoname = sourceFolder + folderName
168 +
fullName(histoTag) +
"_W" + wheel.str();
200 stringstream wh; wh << wheel;
201 stringstream sc; sc << sector;
202 int sectorid = (wheel+3) + (sector-1)*5;
203 bool isDCC = hwSource==
"DCC" ;
204 string basedir = topFolder(isDCC)+
"Wheel"+wh.str()+
"/Sector"+sc.str()+
"/";
206 basedir += folder +
"/";
208 dbe->setCurrentFolder(basedir);
211 string hname = fullTag +
"_W" + wh.str()+
"_Sec" +sc.str();
212 LogTrace(
category()) <<
"[" << testName <<
"Test]: booking " << basedir << hname;
213 if (hTag.find(
"BXDistribPhi") != string::npos){
214 MonitorElement* me = dbe->book2D(hname.c_str(),hname.c_str(),25,-4.5,20.5,4,0.5,4.5);
219 secME[sectorid][fullTag] = me;
222 else if (hTag.find(
"QualDistribPhi") != string::npos){
223 MonitorElement* me = dbe->book2D(hname.c_str(),hname.c_str(),7,-0.5,6.5,4,0.5,4.5);
235 secME[sectorid][fullTag] = me;
238 else if (hTag.find(
"Phi") != string::npos ||
239 hTag.find(
"TkvsTrig") != string::npos ){
240 MonitorElement* me = dbe->book1D(hname.c_str(),hname.c_str(),4,0.5,4.5);
245 secME[sectorid][fullTag] = me;
249 if (hTag.find(
"Theta") != string::npos){
250 MonitorElement* me =dbe->book1D(hname.c_str(),hname.c_str(),3,0.5,3.5);
254 secME[sectorid][fullTag] = me;
262 bool isDCC = hwSource ==
"DCC";
263 string basedir = topFolder(isDCC);
265 basedir += folder +
"/" ;
267 dbe->setCurrentFolder(basedir);
269 string hname = isGlb ? hTag :
fullName(hTag);
270 LogTrace(
category()) <<
"[" << testName <<
"Test]: booking " << basedir << hname;
273 MonitorElement* me = dbe->book2D(hname.c_str(),hname.c_str(),12,1,13,5,-2,3);
282 stringstream wh; wh << wheel;
284 bool isDCC = hwSource==
"DCC" ;
285 if (hTag.find(
"Summary") != string::npos) {
286 basedir = topFolder(isDCC);
288 basedir = topFolder(isDCC) +
"Wheel" + wh.str() +
"/" ;
292 basedir += folder +
"/" ;
294 dbe->setCurrentFolder(basedir);
297 string hname = fullTag+
"_W" + wh.str();
299 LogTrace(
category()) <<
"[" << testName <<
"Test]: booking "<< basedir << hname;
301 if (hTag.find(
"Phi")!= string::npos ||
302 hTag.find(
"Summary") != string::npos ){
303 MonitorElement* me = dbe->book2D(hname.c_str(),hname.c_str(),12,1,13,4,1,5);
312 whME[wheel][fullTag] = me;
316 if (hTag.find(
"Theta") != string::npos){
317 MonitorElement* me =dbe->book2D(hname.c_str(),hname.c_str(),12,1,13,3,1,4);
325 whME[wheel][fullTag] = me;
334 int station =
id.station();
335 int sector =
id.sector();
336 int wheel =
id.wheel();
349 layer2 = muonGeom->layer(
DTLayerId(wheel,station,13,1,1));
352 else if (sector == 10){
353 layer2 = muonGeom->layer(
DTLayerId(wheel,station,14,1,1));
357 return make_pair(min,max);
372 return make_pair(min,max);
T getUntrackedParameter(std::string const &, T const &) const
float wirePosition(int wireNumber) const
Returns the x position in the layer of a given wire number.
virtual ~DTLocalTriggerBaseTest()
Destructor.
void beginLuminosityBlock(edm::LuminosityBlock const &lumiSeg, edm::EventSetup const &context)
Perform begin lumiblock operations.
void bookCmsHistos(std::string hTag, std::string folder="", bool isGlb=false)
Book the new MEs (CMS summary)
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)
void beginRun(edm::Run const &run, edm::EventSetup const &context)
BeginRun.
LocalPoint toLocal(const GlobalPoint &gp) const
Conversion to the R.F. of the GeomDet.
int firstChannel() const
Returns the wire number of the first wire.
int lastChannel() const
Returns the wire number of the last wire.
const DTTopology & specificTopology() const
void bookWheelHistos(int wheel, std::string hTag, std::string folder="")
Book the new MEs (for each wheel)
void bookSectorHistos(int wheel, int sector, std::string hTag, std::string folder="")
Book the new MEs (for each sector)
const Surface::PositionType & position() const
The position (origin of the R.F.)
EventID const & min(EventID const &lh, EventID const &rh)
void endRun(edm::Run const &run, edm::EventSetup const &context)
Perform client diagnostic in offline.
std::pair< float, float > phiRange(const DTChamberId &id)
Calculate phi range for histograms.
void analyze(const edm::Event &e, const edm::EventSetup &c)
Analyze.
std::string getMEName(std::string histoTag, std::string subfolder, const DTChamberId &chambid)
Get the ME name (by chamber)
void endLuminosityBlock(edm::LuminosityBlock const &lumiSeg, edm::EventSetup const &context)
Perform client diagnostic in online.
void setConfig(const edm::ParameterSet &ps, std::string name)
Set configuration variables.
int station() const
Return the station number.
int wheel() const
Return the wheel number.
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
std::string fullName(std::string htype)
Create fullname from histo partial name.
EventID const & max(EventID const &lh, EventID const &rh)