58 if (!runOnline)
return;
60 LogVerbatim(
"DTDQM|DTMonitorClient|DTLocalTriggerTest") <<
"[" << testName <<
"Test]: End of LS transition, performing the DQM client operation";
66 LogVerbatim(
"DTDQM|DTMonitorClient|DTLocalTriggerTest") <<
"[" << testName <<
"Test]: "<<nLumiSegs<<
" updates";
68 runClientDiagnostic(ibooker, igetter);
78 LogVerbatim(
category()) <<
"[" << testName <<
"Test] Client called in offline mode, performing client operations";
79 runClientDiagnostic(ibooker,igetter);
104 trigSources.push_back(
"");
120 return hwSource +
"_" + htype + trigSource;
126 stringstream wheel; wheel << chambid.
wheel();
128 stringstream sector; sector << chambid.
sector();
130 string folderName = topFolder(hwSource==
"DCC") +
"Wheel" + wheel.str() +
131 "/Sector" + sector.str() +
"/Station" + station.str() +
"/" ;
132 if (subfolder!=
"") { folderName += subfolder +
"/"; }
134 string histoname = sourceFolder + folderName
137 +
"_Sec" + sector.str()
138 +
"_St" + station.str();
146 stringstream wheel; wheel << wh;
148 string folderName = topFolder(hwSource==
"DCC") +
"Wheel" + wheel.str() +
"/";
149 if (subfolder!=
"") { folderName += subfolder +
"/"; }
151 string histoname = sourceFolder + folderName
152 +
fullName(histoTag) +
"_W" + wheel.str();
159 int wheel,
int sector,
string hTag,
string folder) {
161 stringstream wh; wh << wheel;
162 stringstream sc; sc << sector;
163 int sectorid = (wheel+3) + (sector-1)*5;
164 bool isDCC = hwSource==
"DCC" ;
165 string basedir = topFolder(isDCC)+
"Wheel"+wh.str()+
"/Sector"+sc.str()+
"/";
167 basedir += folder +
"/";
173 string hname = fullTag +
"_W" + wh.str()+
"_Sec" +sc.str();
174 LogTrace(
category()) <<
"[" << testName <<
"Test]: booking " << basedir << hname;
175 if (hTag.find(
"BXDistribPhi") != string::npos){
182 secME[sectorid][fullTag] = me;
185 else if (hTag.find(
"QualDistribPhi") != string::npos){
198 secME[sectorid][fullTag] = me;
201 else if (hTag.find(
"Phi") != string::npos ||
202 hTag.find(
"TkvsTrig") != string::npos ){
208 secME[sectorid][fullTag] = me;
212 if (hTag.find(
"Theta") != string::npos){
217 secME[sectorid][fullTag] = me;
224 string hTag,
string folder,
bool isGlb) {
226 bool isDCC = hwSource ==
"DCC";
227 string basedir = topFolder(isDCC);
229 basedir += folder +
"/" ;
234 string hname = isGlb ? hTag :
fullName(hTag);
235 LogTrace(
category()) <<
"[" << testName <<
"Test]: booking " << basedir << hname;
246 stringstream wh; wh << wheel;
248 bool isDCC = hwSource==
"DCC" ;
249 if (hTag.find(
"Summary") != string::npos) {
250 basedir = topFolder(isDCC);
252 basedir = topFolder(isDCC) +
"Wheel" + wh.str() +
"/" ;
256 basedir += folder +
"/" ;
262 string hname = fullTag+
"_W" + wh.str();
264 LogTrace(
category()) <<
"[" << testName <<
"Test]: booking "<< basedir << hname;
266 if (hTag.find(
"Phi")!= string::npos ||
267 hTag.find(
"Summary") != string::npos ){
277 whME[wheel][fullTag] = me;
281 if (hTag.find(
"Theta") != string::npos){
291 whME[wheel][fullTag] = me;
300 int station =
id.station();
301 int sector =
id.sector();
302 int wheel =
id.wheel();
315 layer2 = muonGeom->layer(
DTLayerId(wheel,station,13,1,1));
318 else if (sector == 10){
319 layer2 = muonGeom->layer(
DTLayerId(wheel,station,14,1,1));
323 return make_pair(min,max);
338 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 dqmEndLuminosityBlock(DQMStore::IBooker &, DQMStore::IGetter &, edm::LuminosityBlock const &, edm::EventSetup const &)
Perform client diagnostic in online.
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
const Surface::PositionType & position() const
The position (origin of the R.F.)
MonitorElement * book1D(Args &&...args)
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 dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &)
void setCurrentFolder(const std::string &fullpath)
MonitorElement * book2D(Args &&...args)
std::string getMEName(std::string histoTag, std::string subfolder, const DTChamberId &chambid)
Get the ME name (by chamber)
void bookSectorHistos(DQMStore::IBooker &, int wheel, int sector, std::string hTag, std::string folder="")
Book the new MEs (for each sector)
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)
void bookWheelHistos(DQMStore::IBooker &, int wheel, std::string hTag, std::string folder="")
Book the new MEs (for each wheel)
std::string fullName(std::string htype)
Create fullname from histo partial name.
EventID const & max(EventID const &lh, EventID const &rh)
void bookCmsHistos(DQMStore::IBooker &, std::string hTag, std::string folder="", bool isGlb=false)
Book the new MEs (CMS summary)