38 edm::LogInfo(
"SiStripDaqInfo") <<
"SiStripDaqInfo::Deleting SiStripDaqInfo ";
46 edm::LogInfo(
"SiStripDaqInfo") <<
"SiStripDaqInfo::Deleting SiStripDaqInfo ";
74 std::vector<std::string> det_type;
75 det_type.push_back(
"TIB");
76 det_type.push_back(
"TOB");
77 det_type.push_back(
"TIDF");
78 det_type.push_back(
"TIDB");
79 det_type.push_back(
"TECF");
80 det_type.push_back(
"TECB");
82 for ( std::vector<std::string>::iterator it = det_type.begin(); it != det_type.end(); it++) {
87 me_name =
"SiStrip_" + det;
103 it->second.DaqFractionME->Reset();
104 it->second.DaqFractionME->Fill(-1.0);
114 edm::LogInfo (
"SiStripDaqInfo") <<
"SiStripDaqInfo:: Begining of Run";
128 edm::LogInfo (
"SiStripDaqInfo") <<
" SiStripDaqInfo::No FEDs Connected!!!";
132 float nFEDConnected = 0.0;
137 if( eSetup.
find( recordKey ) != 0) {
143 std::vector<int> FedsInIds= sumFED->m_fed_in;
144 for(
unsigned int it = 0; it < FedsInIds.size(); ++it) {
145 int fedID = FedsInIds[it];
147 if(fedID>=siStripFedIdMin && fedID<=siStripFedIdMax) ++nFEDConnected;
150 <<
" Connected FEDs " << nFEDConnected;
151 if (nFEDConnected > 0) {
169 edm::LogInfo(
"SiStripDaqInfo") <<
"SiStripDaqInfo::endLuminosityBlock";
175 edm::LogInfo (
"SiStripDaqInfo") <<
"SiStripDaqInfo::EndRun";
190 for(std::vector<unsigned short>::const_iterator ifed =
feds.begin(); ifed !=
feds.end(); ifed++){
191 auto fedChannels =
fedCabling_->fedConnections( *ifed );
192 for (
auto iconn = fedChannels.begin(); iconn < fedChannels.end(); iconn++){
193 if (!iconn->isConnected())
continue;
194 uint32_t detId = iconn->detId();
195 if (detId == 0 || detId == 0xFFFFFFFF)
continue;
220 std::map<std::string, SubDetMEs>::iterator iPos =
SubDetMEsMap.find(name);
222 iPos->second.ConnectedFeds = 0;
230 std::vector<unsigned short> subdetIds = it->second;
231 std::map<std::string, SubDetMEs>::iterator iPos =
SubDetMEsMap.find(name);
233 iPos->second.ConnectedFeds = 0;
234 for (std::vector<unsigned short>::iterator iv = subdetIds.begin();
235 iv != subdetIds.end(); iv++) {
236 bool fedid_found =
false;
237 for(
unsigned int it = 0; it < fed_ids.size(); ++it) {
238 unsigned short fedID = fed_ids[it];
239 if(fedID < siStripFedIdMin || fedID > siStripFedIdMax)
continue;
240 if ((*iv) == fedID) {
242 iPos->second.ConnectedFeds++;
248 int nFedsConnected = iPos->second.ConnectedFeds;
249 int nFedSubDet = subdetIds.size();
250 if (nFedSubDet > 0) {
251 iPos->second.DaqFractionME->Reset();
252 iPos->second.DaqFractionME->Fill(nFedsConnected*1.0/nFedSubDet);
266 auto fedChannels =
fedCabling_->fedConnections(fed_id);
270 for (std::vector<FedChannelConnection>::const_iterator iconn = fedChannels.begin();
271 iconn < fedChannels.end(); iconn++){
272 if (!iconn->isConnected())
continue;
273 uint32_t detId = iconn->detId();
274 if (detId == 0 || detId == 0xFFFFFFFF)
continue;
282 subdet_folder = mechanical_dir + subdet_folder.substr(subdet_folder.find(mdir)+mdir.size());
284 bad_module_folder = subdet_folder +
"/" +
"BadModuleList";
287 std::ostringstream detid_str;
289 std::string full_path = bad_module_folder +
"/" + detid_str.str();
static void setBadModuleFlag(std::string &hname, uint16_t &flg)
void getSubDetFolder(const uint32_t &detid, const TrackerTopology *tTopo, std::string &folder_name)
void readFedIds(const edm::ESHandle< SiStripFedCabling > &fedcabling, edm::EventSetup const &iSetup)
void endLuminosityBlock(edm::LuminosityBlock const &lumiSeg, edm::EventSetup const &iSetup)
End Of Luminosity.
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.
virtual ~SiStripDaqInfo()
Destructor.
void findExcludedModule(unsigned short fed_id, const TrackerTopology *tTopo)
MonitorElement * bookFloat(const char *name)
Book float.
const eventsetup::EventSetupRecord * find(const eventsetup::EventSetupRecordKey &) const
edm::ESHandle< SiStripFedCabling > fedCabling_
const std::string subdet_tag("SubDet")
SiStripDaqInfo(const edm::ParameterSet &ps)
Constructor.
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. "my/long/dir/my_histo")
void analyze(edm::Event const &, edm::EventSetup const &)
Analyze.
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
std::map< std::string, SubDetMEs > SubDetMEsMap
bool dirExists(const std::string &path) const
true if directory exists
std::map< std::string, std::vector< unsigned short > > subDetFedMap
int64_t getIntValue(void) const
MonitorElement * DaqFractionME
T const * product() const
void readSubdetFedFractions(std::vector< int > &fed_ids, edm::EventSetup const &iSetup)
void beginRun(edm::Run const &run, edm::EventSetup const &eSetup)
Begin Run.
static void getSubDetectorTag(uint32_t det_id, std::string &subdet_tag, const TrackerTopology *tTopo)
MonitorElement * DaqFraction_
MonitorElement * bookInt(const char *name)
Book int.
unsigned long long m_cacheID_
void Reset(void)
reset ME (ie. contents, errors, etc)
static bool goToDir(DQMStore *dqm_store, std::string name)
static void getTopFolderPath(DQMStore *dqm_store, std::string top_dir, std::string &path)
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
const std::string & pwd(void) const