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);
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);
const int lastChannel() const
Returns the wire number of the last wire.
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 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.
const int firstChannel() const
Returns the wire number of the first wire.
void bookCmsHistos(std::string hTag, std::string folder="")
Book the new MEs (CMS summary)
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)
static const std::string category("Muon|RecoMuon|L3MuonCandidateProducerFromMuons")
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)