77 if (!runOnline)
return;
79 LogVerbatim(
"DTDQM|DTMonitorClient|DTLocalTriggerTest") <<
"[" << testName <<
"Test]: End of LS transition, performing the DQM client operation";
85 LogVerbatim(
"DTDQM|DTMonitorClient|DTLocalTriggerTest") <<
"[" << testName <<
"Test]: "<<nLumiSegs<<
" updates";
86 runClientDiagnostic();
103 LogVerbatim(
category()) <<
"[" << testName <<
"Test] Client called in offline mode, performing client operations";
104 runClientDiagnostic();
121 trigSources.push_back(
"");
138 return hwSource +
"_" + htype + trigSource;
144 stringstream wheel; wheel << chambid.
wheel();
146 stringstream sector; sector << chambid.
sector();
148 string folderName = topFolder(hwSource==
"DCC") +
"Wheel" + wheel.str() +
149 "/Sector" + sector.str() +
"/Station" + station.str() +
"/" ;
150 if (subfolder!=
"") { folderName += subfolder +
"/"; }
152 string histoname = sourceFolder + folderName
155 +
"_Sec" + sector.str()
156 +
"_St" + station.str();
164 stringstream wheel; wheel << wh;
166 string folderName = topFolder(hwSource==
"DCC") +
"Wheel" + wheel.str() +
"/";
167 if (subfolder!=
"") { folderName += subfolder +
"/"; }
169 string histoname = sourceFolder + folderName
170 +
fullName(histoTag) +
"_W" + wheel.str();
202 stringstream wh; wh << wheel;
203 stringstream sc; sc << sector;
204 int sectorid = (wheel+3) + (sector-1)*5;
205 bool isDCC = hwSource==
"DCC" ;
206 string basedir = topFolder(isDCC)+
"Wheel"+wh.str()+
"/Sector"+sc.str()+
"/";
208 basedir += folder +
"/";
210 dbe->setCurrentFolder(basedir);
213 string hname = fullTag +
"_W" + wh.str()+
"_Sec" +sc.str();
214 LogTrace(
category()) <<
"[" << testName <<
"Test]: booking " << basedir << hname;
215 if (hTag.find(
"BXDistribPhi") != string::npos){
216 MonitorElement* me = dbe->book2D(hname.c_str(),hname.c_str(),25,-4.5,20.5,4,0.5,4.5);
221 secME[sectorid][fullTag] = me;
224 else if (hTag.find(
"QualDistribPhi") != string::npos){
225 MonitorElement* me = dbe->book2D(hname.c_str(),hname.c_str(),7,-0.5,6.5,4,0.5,4.5);
237 secME[sectorid][fullTag] = me;
240 else if (hTag.find(
"Phi") != string::npos ||
241 hTag.find(
"TkvsTrig") != string::npos ){
242 MonitorElement* me = dbe->book1D(hname.c_str(),hname.c_str(),4,0.5,4.5);
247 secME[sectorid][fullTag] = me;
251 if (hTag.find(
"Theta") != string::npos){
252 MonitorElement* me =dbe->book1D(hname.c_str(),hname.c_str(),3,0.5,3.5);
256 secME[sectorid][fullTag] = me;
264 bool isDCC = hwSource ==
"DCC";
265 string basedir = topFolder(isDCC);
267 basedir += folder +
"/" ;
269 dbe->setCurrentFolder(basedir);
271 string hname = isGlb ? hTag :
fullName(hTag);
272 LogTrace(
category()) <<
"[" << testName <<
"Test]: booking " << basedir << hname;
275 MonitorElement* me = dbe->book2D(hname.c_str(),hname.c_str(),12,1,13,5,-2,3);
284 stringstream wh; wh << wheel;
286 bool isDCC = hwSource==
"DCC" ;
287 if (hTag.find(
"Summary") != string::npos) {
288 basedir = topFolder(isDCC);
290 basedir = topFolder(isDCC) +
"Wheel" + wh.str() +
"/" ;
294 basedir += folder +
"/" ;
296 dbe->setCurrentFolder(basedir);
299 string hname = fullTag+
"_W" + wh.str();
301 LogTrace(
category()) <<
"[" << testName <<
"Test]: booking "<< basedir << hname;
303 if (hTag.find(
"Phi")!= string::npos ||
304 hTag.find(
"Summary") != string::npos ){
305 MonitorElement* me = dbe->book2D(hname.c_str(),hname.c_str(),12,1,13,4,1,5);
314 whME[wheel][fullTag] = me;
318 if (hTag.find(
"Theta") != string::npos){
319 MonitorElement* me =dbe->book2D(hname.c_str(),hname.c_str(),12,1,13,3,1,4);
327 whME[wheel][fullTag] = me;
336 int station =
id.station();
337 int sector =
id.sector();
338 int wheel =
id.wheel();
351 layer2 = muonGeom->layer(
DTLayerId(wheel,station,13,1,1));
354 else if (sector == 10){
355 layer2 = muonGeom->layer(
DTLayerId(wheel,station,14,1,1));
359 return make_pair(min,max);
374 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)