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==
"TM") +
"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==
"TM") +
"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 isTM = hwSource==
"TM" ;
165 string basedir = topFolder(isTM)+
"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 isTM = hwSource ==
"TM";
227 string basedir = topFolder(isTM);
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 isTM = hwSource==
"TM" ;
249 if (hTag.find(
"Summary") != string::npos) {
250 basedir = topFolder(isTM);
252 basedir = topFolder(isTM) +
"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.
T x() const
Cartesian x coordinate.
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.
tuple folder
Histograms Source for live online DQM in P5
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)