35 , trackingCertificationBooked_(
false)
36 , trackingLSCertificationBooked_(
false)
38 , allPixelFEDConnected_(
true)
41 edm::LogInfo(
"TrackingCertificationInfo") <<
"TrackingCertificationInfo::Deleting TrackingCertificationInfo ";
55 tracking_mes.TrackingFlag = 0;
56 TrackingMEsMap.insert(std::pair<std::string, TrackingMEs>(QTname, tracking_mes));
59 std::vector<edm::ParameterSet> TrackingGlobalQualityMEs =
pSet_.
getParameter< std::vector<edm::ParameterSet> >(
"TrackingGlobalQualityPSets" );
60 for (
auto meQTset : TrackingGlobalQualityMEs ) {
63 tracking_mes.TrackingFlag = 0;
66 TrackingMEsMap.insert(std::pair<std::string, TrackingMEs>(QTname, tracking_mes));
71 std::vector<edm::ParameterSet> TrackingLSQualityMEs =
pSet_.
getParameter< std::vector<edm::ParameterSet> >(
"TrackingLSQualityMEs" );
72 for (
auto meQTset : TrackingLSQualityMEs ) {
78 TrackingLSMEsMap.insert(std::pair<std::string, TrackingLSMEs>(QTname, tracking_ls_mes));
89 edm::LogInfo(
"TrackingCertificationInfo") <<
"TrackingCertificationInfo::Deleting TrackingCertificationInfo ";
105 edm::LogInfo (
"TrackingCertificationInfo") <<
"TrackingCertificationInfo:: Begining of Run";
113 int nPixelFEDConnected_ = 0;
118 const int siPixelFeds = (siPixelFedIdMax-siPixelFedIdMin+1);
121 if( eSetup.
find( recordKey ) != 0) {
128 std::vector<int> FedsInIds= sumFED->m_fed_in;
129 for (
auto fedID : FedsInIds ) {
130 if ( fedID >= siPixelFedIdMin && fedID <= siPixelFedIdMax ) {
132 ++nPixelFEDConnected_;
134 else if ( fedID >= siStripFedIdMin && fedID <= siStripFedIdMax )
170 hname =
"CertificationReportMap";
171 htitle =
"Tracking Certification Summary Map";
186 for (std::map<std::string, TrackingMEs>::iterator it = TrackingMEsMap.begin();
187 it != TrackingMEsMap.end(); it++) {
222 for (std::map<std::string, TrackingLSMEs>::iterator it =
TrackingLSMEsMap.begin();
245 edm::LogInfo(
"TrackingDaqInfo") <<
"TrackingDaqInfo::endLuminosityBlock";
258 edm::LogInfo (
"TrackingCertificationInfo") <<
"TrackingCertificationInfo:: End Run";
279 std::vector<MonitorElement*> all_mes =
dqmStore_->
getContents(tracking_dir+
"/EventInfo/reportSummaryContents");
288 for (std::map<std::string, TrackingMEs>::const_iterator it =
TrackingMEsMap.begin();
291 if ( type ==
"pixel" ) {
292 it->second.TrackingFlag->Fill(val);
294 std::cout <<
"[TrackingCertificationInfo::fillTrackingCertificationMEs] xbin: " << xbin <<
" val: " << val << std::endl;
295 th2d->SetBinContent(xbin+1,1,val);
299 fval = fminf(fval,val);
303 for (std::vector<MonitorElement *>::const_iterator ime = all_mes.begin();
304 ime!= all_mes.end(); ime++) {
312 for (std::map<std::string, TrackingMEs>::const_iterator it =
TrackingMEsMap.begin();
318 if (name.find(type) != std::string::npos) {
320 it->second.TrackingFlag->Fill(val);
321 std::cout <<
"[TrackingCertificationInfo::fillTrackingCertificationMEs] xbin: " << xbin <<
" val: " << val << std::endl;
323 th2d->SetBinContent(xbin+1,1,val);
330 fval = fminf(fval,val);
343 for (std::map<std::string, TrackingMEs>::const_iterator it =
TrackingMEsMap.begin();
345 it->second.TrackingFlag->Reset();
355 for (std::map<std::string, TrackingLSMEs>::const_iterator it =
TrackingLSMEsMap.begin();
357 it->second.TrackingFlag->Reset();
368 for (std::map<std::string, TrackingMEs>::const_iterator it =
TrackingMEsMap.begin();
370 it->second.TrackingFlag->Fill(-1.0);
388 for (std::map<std::string, TrackingLSMEs>::const_iterator it =
TrackingLSMEsMap.begin();
390 it->second.TrackingFlag->Fill(-1.0);
413 std::vector<MonitorElement*> all_mes =
dqmStore_->
getContents(tracking_dir+
"/EventInfo/reportSummaryContents");
417 for (std::vector<MonitorElement *>::const_iterator ime = all_mes.begin();
418 ime!= all_mes.end(); ime++) {
427 for (std::map<std::string, TrackingLSMEs>::const_iterator it =
TrackingLSMEsMap.begin();
434 if (name.find(type) != std::string::npos) {
436 it->second.TrackingFlag->Fill(val);
444 float global_dqm_flag = 1.0;
445 std::string full_path = tracking_dir +
"/EventInfo/reportSummary";
std::map< std::string, TrackingLSMEs > TrackingLSMEsMap
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
const std::string & getName(void) const
get name of ME
void beginRun(edm::Run const &run, edm::EventSetup const &eSetup)
Begin Run.
void fillDummyTrackingCertification()
void cd(void)
go to top directory (ie. root)
#define DEFINE_FWK_MODULE(type)
void endRun(edm::Run const &run, edm::EventSetup const &eSetup)
EndRun.
std::map< std::string, TrackingMEs > TrackingMEsMap
void fillTrackingCertificationMEs(edm::EventSetup const &eSetup)
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 fillTrackingCertificationMEsAtLumi()
TrackingCertificationInfo(const edm::ParameterSet &ps)
Constructor.
std::vector< std::string > SubDetFolder
static void getTopFolderPath(DQMStore *dqm_store, std::string top_dir, std::string &path)
edm::ESHandle< SiStripDetCabling > detCabling_
MonitorElement * bookFloat(const char *name)
Book float.
unsigned long long m_cacheID_
const eventsetup::EventSetupRecord * find(const eventsetup::EventSetupRecordKey &) const
int getNbinsY(void) const
get # of bins in Y-axis
void fillDummyTrackingCertificationAtLumi()
void resetTrackingCertificationMEs()
MonitorElement * TrackingCertificationSummaryMap
MonitorElement * TrackingLSCertification
void analyze(edm::Event const &, edm::EventSetup const &)
Analyze.
bool trackingLSCertificationBooked_
double getFloatValue(void) const
void endLuminosityBlock(edm::LuminosityBlock const &lumiSeg, edm::EventSetup const &iSetup)
End Of Luminosity.
Kind kind(void) const
Get the type of the monitor element.
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. "my/long/dir/my_histo")
void bookTrackingCertificationMEs()
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
MonitorElement * TrackingCertification
std::vector< MonitorElement * > getContents(const std::string &path) const
bool allPixelFEDConnected_
MonitorElement * TrackingFlag
bool trackingCertificationBooked_
int getNbinsX(void) const
get # of bins in X-axis
std::string TopFolderName_
virtual ~TrackingCertificationInfo()
Destructor.
void bookTrackingCertificationMEsAtLumi()
volatile std::atomic< bool > shutdown_flag false
TH2F * getTH2F(void) const
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void Reset(void)
reset ME (ie. contents, errors, etc)
void resetTrackingCertificationMEsAtLumi()
void setCurrentFolder(const std::string &fullpath)
static HCTypeTag findType(char const *iTypeName)
find a type based on the types name, if not found will return default HCTypeTag