#include <DTDCSByLumiTask.h>
Public Member Functions | |
DTDCSByLumiTask (const edm::ParameterSet &ps) | |
Constructor. | |
virtual | ~DTDCSByLumiTask () |
Destructor. | |
Protected Member Functions | |
void | analyze (const edm::Event &e, const edm::EventSetup &c) |
Analyze. | |
void | beginJob () |
BeginJob. | |
void | beginLuminosityBlock (edm::LuminosityBlock const &lumiSeg, edm::EventSetup const &context) |
By Lumi DCS DB Operation. | |
void | beginRun (const edm::Run &, const edm::EventSetup &) |
Begin Run. | |
void | bookHistos () |
Book Monitor Elements. | |
void | endJob () |
Endjob. | |
void | endLuminosityBlock (const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &setup) |
By Lumi DCS DB Operation. | |
Private Member Functions | |
std::string | topFolder () const |
Private Attributes | |
bool | DTHVRecordFound |
std::vector< MonitorElement * > | hActiveUnits |
edm::ESHandle< DTHVStatus > | hvStatus |
DQMStore * | theDQMStore |
edm::ESHandle< DTGeometry > | theDTGeom |
int | theEvents |
int | theLumis |
Definition at line 32 of file DTDCSByLumiTask.h.
DTDCSByLumiTask::DTDCSByLumiTask | ( | const edm::ParameterSet & | ps | ) |
Constructor.
Definition at line 39 of file DTDCSByLumiTask.cc.
References LogTrace, cmsCodeRules::cppFunctionSkipper::operator, and theDQMStore.
: theEvents(0) , theLumis(0) { theDQMStore = Service<DQMStore>().operator->(); LogTrace("DTDQM|DTMonitorModule|DTDCSByLumiTask") << "[DTDCSByLumiTask]: Constructor" << endl; // If needed put getParameter here // dtDCSByLumiLabel = ps.getParameter<InputTag>("dtDCSByLumiLabel"); }
DTDCSByLumiTask::~DTDCSByLumiTask | ( | ) | [virtual] |
void DTDCSByLumiTask::analyze | ( | const edm::Event & | e, |
const edm::EventSetup & | c | ||
) | [protected, virtual] |
Analyze.
Implements edm::EDAnalyzer.
Definition at line 188 of file DTDCSByLumiTask.cc.
References theEvents.
{ theEvents++; }
void DTDCSByLumiTask::beginJob | ( | void | ) | [protected, virtual] |
BeginJob.
Reimplemented from edm::EDAnalyzer.
Definition at line 68 of file DTDCSByLumiTask.cc.
References LogTrace.
{ LogTrace("DTDQM|DTMonitorModule|DTDCSByLumiTask") <<"[DTDCSByLumiTask]: BeginJob"<<endl; }
void DTDCSByLumiTask::beginLuminosityBlock | ( | edm::LuminosityBlock const & | lumiSeg, |
edm::EventSetup const & | context | ||
) | [protected, virtual] |
By Lumi DCS DB Operation.
Reimplemented from edm::EDAnalyzer.
Definition at line 102 of file DTDCSByLumiTask.cc.
References hActiveUnits, edm::LuminosityBlockBase::id(), LogTrace, edm::LuminosityBlockID::luminosityBlock(), and theLumis.
{ theLumis++; LogTrace("DTDQM|DTMonitorModule|DTDCSByLumiTask") << "[DTDCSByLumiTask]: Begin of processed lumi # " << lumiSeg.id().luminosityBlock() << " " << theLumis << " lumi processed by this job" << endl; for(int wheel=0; wheel <5; wheel++) { hActiveUnits[wheel]->Reset(); // Cb by lumi histo need to be resetted in between lumi boundaries } }
void DTDCSByLumiTask::beginRun | ( | const edm::Run & | run, |
const edm::EventSetup & | context | ||
) | [protected, virtual] |
Begin Run.
Reimplemented from edm::EDAnalyzer.
Definition at line 75 of file DTDCSByLumiTask.cc.
References bookHistos(), DTHVRecordFound, edm::EventSetup::fillAvailableRecordKeys(), spr::find(), edm::typelookup::findType(), edm::EventSetup::get(), LogTrace, and theDTGeom.
{ LogTrace("DTDQM|DTMonitorModule|DTDCSByLumiTask") << "[DTDCSByLumiTask]: begin run" << endl; bookHistos(); context.get<MuonGeometryRecord>().get(theDTGeom); DTHVRecordFound=true; eventsetup::EventSetupRecordKey recordKey(eventsetup::EventSetupRecordKey::TypeTag::findType("DTHVStatusRcd")); std::vector<eventsetup::EventSetupRecordKey> recordKeys; context.fillAvailableRecordKeys(recordKeys); vector<eventsetup::EventSetupRecordKey>::iterator it = find(recordKeys.begin(),recordKeys.end(),recordKey); if( it == recordKeys.end() ) { //record not found LogTrace("DTDQM|DTMonitorModule|DTDCSByLumiTask")<<"Record DTHVStatusRcd does not exist "<<std::endl; DTHVRecordFound=false; } }
void DTDCSByLumiTask::bookHistos | ( | ) | [protected] |
Book Monitor Elements.
Definition at line 171 of file DTDCSByLumiTask.cc.
References DQMStore::book1D(), hActiveUnits, DQMStore::setCurrentFolder(), MonitorElement::setLumiFlag(), theDQMStore, and topFolder().
Referenced by beginRun().
{ // Book bylumi histo (# of bins as reduced as possible) theDQMStore->setCurrentFolder(topFolder()); for(int wheel=-2; wheel <=2; wheel++) { stringstream wheel_str; wheel_str << wheel; MonitorElement* ME = theDQMStore->book1D("hActiveUnits"+wheel_str.str(),"Active Untis x LS Wh"+wheel_str.str(),2,0.5,2.5); ME->setLumiFlag();// Set LumiFlag in order to save histo every LS hActiveUnits.push_back(ME); } }
void DTDCSByLumiTask::endJob | ( | void | ) | [protected, virtual] |
Endjob.
Reimplemented from edm::EDAnalyzer.
Definition at line 60 of file DTDCSByLumiTask.cc.
References LogTrace.
{ LogTrace("DTDQM|DTMonitorModule|DTDCSByLumiTask") <<"[DTDCSByLumiTask] endjob called!"<<endl; }
void DTDCSByLumiTask::endLuminosityBlock | ( | const edm::LuminosityBlock & | lumiSeg, |
const edm::EventSetup & | setup | ||
) | [protected, virtual] |
By Lumi DCS DB Operation.
Reimplemented from edm::EDAnalyzer.
Definition at line 117 of file DTDCSByLumiTask.cc.
References DTHVRecordFound, first, edm::EventSetup::get(), hActiveUnits, hvStatus, prof2calltree::last, and theDTGeom.
{ if(DTHVRecordFound) context.get<DTHVStatusRcd>().get(hvStatus); vector<DTLayer*>::const_iterator layersIt = theDTGeom->layers().begin(); vector<DTLayer*>::const_iterator layersEnd = theDTGeom->layers().end(); for(; layersIt!=layersEnd; ++layersIt) { int wheel = (*layersIt)->id().wheel(); int nWiresLayer = (*layersIt)->specificTopology().channels(); hActiveUnits[wheel+2]->Fill(1,nWiresLayer); // CB first bin is # of layers int nActiveWires = nWiresLayer; int flagA = -100; int flagC = -100; int flagS = -100; int first = -100; int last = -100; // CB info is not stored if HV is ON -> in this case get returns 1 // process all other cases and removed wires with "BAD HV" from active // wires list if( DTHVRecordFound ) { if ( !hvStatus->get((*layersIt)->id(),0,first,last,flagA,flagC,flagS) && (flagA || flagC || flagS) ) { nActiveWires -= (last - first + 1); } if ( !hvStatus->get((*layersIt)->id(),1,first,last,flagA,flagC,flagS) && (flagA || flagC || flagS) ) { nActiveWires -= (last - first + 1); } } else { nActiveWires=-1.; } hActiveUnits[wheel+2]->Fill(2,nActiveWires); // CB 2nd bin is the list of wires wit HV ON } /* LogTrace("DTDQM|DTMonitorModule|DTDCSByLumiTask") << "[DTDCSByLumiTask]: processed lumi # : " << lumiSeg.id().luminosityBlock() << "\t# of wires " << hActiveUnits->getBinContent(1) << "\t# of Active wires (anodes && cathodes && strips ON) : " << hActiveUnits->getBinContent(2) << endl; */ }
string DTDCSByLumiTask::topFolder | ( | ) | const [private] |
Definition at line 195 of file DTDCSByLumiTask.cc.
Referenced by bookHistos().
{ return string("DT/EventInfo/DCSContents"); }
bool DTDCSByLumiTask::DTHVRecordFound [private] |
Definition at line 72 of file DTDCSByLumiTask.h.
Referenced by beginRun(), and endLuminosityBlock().
std::vector<MonitorElement*> DTDCSByLumiTask::hActiveUnits [private] |
Definition at line 79 of file DTDCSByLumiTask.h.
Referenced by beginLuminosityBlock(), bookHistos(), and endLuminosityBlock().
edm::ESHandle<DTHVStatus> DTDCSByLumiTask::hvStatus [private] |
Definition at line 77 of file DTDCSByLumiTask.h.
Referenced by endLuminosityBlock().
DQMStore* DTDCSByLumiTask::theDQMStore [private] |
Definition at line 74 of file DTDCSByLumiTask.h.
Referenced by bookHistos(), and DTDCSByLumiTask().
edm::ESHandle<DTGeometry> DTDCSByLumiTask::theDTGeom [private] |
Definition at line 75 of file DTDCSByLumiTask.h.
Referenced by beginRun(), and endLuminosityBlock().
int DTDCSByLumiTask::theEvents [private] |
Definition at line 69 of file DTDCSByLumiTask.h.
Referenced by analyze(), and ~DTDCSByLumiTask().
int DTDCSByLumiTask::theLumis [private] |
Definition at line 70 of file DTDCSByLumiTask.h.
Referenced by beginLuminosityBlock(), and ~DTDCSByLumiTask().