45 verbose_(ps.getUntrackedParameter < bool > (
"verbose",
false)),
46 l1GtDataSource_( ps.getParameter< edm::
InputTag >(
"l1GtData")),
47 denomIsTech_(ps.getUntrackedParameter <bool> (
"denomIsTech",
true)),
48 denomBit_(ps.getUntrackedParameter <unsigned int> (
"denomBit", 40)),
49 tfIsTech_(ps.getUntrackedParameter <bool> (
"tfIsTech",
true)),
50 tfBit_(ps.getUntrackedParameter <unsigned int> (
"tfBit", 41)),
51 algoSelected_(ps.getUntrackedParameter<std::vector<unsigned int> >(
"algoMonitorBits", std::vector<unsigned int>())),
52 techSelected_(ps.getUntrackedParameter<std::vector<unsigned int> >(
"techMonitorBits", std::vector<unsigned int>())),
53 folderName_( ps.getUntrackedParameter< std::string>(
"dqmFolder",
54 std::string(
"L1T/L1Scalers_EvF"))),
68 fedStart_(ps.getUntrackedParameter<unsigned int>(
"firstFED", 0)),
69 fedStop_(ps.getUntrackedParameter<unsigned int>(
"lastFED", 931)),
72 fedRawCollection_(ps.getParameter<edm::
InputTag>(
"fedRawData")),
73 maskedList_(ps.getUntrackedParameter<std::vector<int> >(
"maskedChannels", std::vector<int>())),
74 HcalRecHitCollection_(ps.getParameter<edm::
InputTag>(
"HFRecHitCollection"))
76 LogDebug(
"Status") <<
"constructor" ;
84 LogDebug(
"Status") <<
"L1Scalers::beginJob()...";
106 "Bits vs Bunch Number",
107 3600, -0.5, 3599.5, 64, -0.5, 63.5);
131 std::stringstream sdenom;
133 else sdenom <<
"algo" ;
141 std::stringstream ss;
148 std::stringstream ss;
156 std::stringstream ss1;
188 LogDebug(
"Status") <<
"L1Scalers::analyze event " <<
nev_ ;
197 LogDebug(
"Product") <<
"can't find L1GlobalTriggerReadoutRecord "
207 int gtfeBx = gtfeWord.
bxNr();
211 bool tfBitGood =
false;
215 for(
int iebx=0; iebx<=4; iebx++) {
218 DecisionWord gtDecisionWord = gtRecord->decisionWord(iebx-2);
220 if ( ! gtDecisionWord.empty() ) {
222 for ( uint
i = 0;
i < gtDecisionWord.size(); ++
i ) {
223 if ( gtDecisionWord[
i] ) {
230 for ( uint
i = 0;
i < gtDecisionWord.size(); ++
i ) {
231 if ( gtDecisionWord[
i] ) {
234 for ( uint
j = i + 1;
j < gtDecisionWord.size(); ++
j ) {
235 if ( gtDecisionWord[
j] ) {
249 if ( ! tw.empty() ) {
251 for ( uint
i = 0;
i < tw.size(); ++
i ) {
258 for ( uint
i = 0;
i < tw.size(); ++
i ) {
269 if( tw[
tfBit_] ) tfBitGood =
true;
289 if (!gmtCollection.
isValid()) {
290 edm::LogInfo(
"DataNotFound") <<
"can't find L1MuGMTReadoutCollection with label "
295 int bx1st[4] = {9, 9, 9, 9};
299 for(
int iebx=0; iebx<=4; iebx++) {
301 DecisionWord gtDecisionWord = gtRecord->decisionWord(iebx-2);
303 bool denomBitGood =
false;
307 if ( ! tw.empty() ) {
315 if ( ! gtDecisionWord.empty() ) {
326 if ( ! tw.empty() ) {
335 if(!gtDecisionWord.empty()){
354 std::vector<L1MuGMTReadoutRecord> gmt_records = gmtrc->
getRecords();
356 std::vector<L1MuGMTReadoutRecord>::const_iterator RRItr;
358 for( RRItr = gmt_records.begin(); RRItr != gmt_records.end(); RRItr++ ) {
359 std::vector<L1MuRegionalCand> INPCands[4] = {
360 RRItr->getDTBXCands(),
361 RRItr->getBrlRPCCands(),
362 RRItr->getCSCCands(),
363 RRItr->getFwdRPCCands()
365 std::vector<L1MuRegionalCand>::const_iterator INPItr;
366 int BxInEvent = RRItr->getBxInEvent();
369 for(
int i=0;
i<4;
i++) {
370 for( INPItr = INPCands[
i].
begin(); INPItr != INPCands[
i].end(); ++INPItr ) {
371 if(!INPItr->empty()) {
372 if(bx1st[
i]==9) bx1st[
i]=BxInEvent+2;
LuminosityBlockID id() const
MonitorElement * l1scalers_
edm::InputTag l1GtDataSource_
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
MonitorElement * rpcfBxDiffLumi_
L1Scalers(const edm::ParameterSet &ps)
Constructors.
edm::LuminosityBlockNumber_t luminosityBlock() const
void endRun(const edm::Run &run, const edm::EventSetup &c)
EndRun.
MonitorElement * rpcbBxDiffLumi_
MonitorElement * dtBxDiffLumi_
void endLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
std::vector< int > earliestTech_
std::vector< MonitorElement * > algoBxDiff_
void analyze(const edm::Event &e, const edm::EventSetup &c)
MonitorElement * cscBxDiff_
MonitorElement * l1techScalers_
std::vector< bool > DecisionWord
typedefs
MonitorElement * l1scalersBx_
MonitorElement * l1TtCounter_
std::vector< bool > TechnicalTriggerWord
technical trigger bits (64 bits)
void setVerbose(unsigned level)
std::vector< MonitorElement * > techBxDiff_
std::vector< MonitorElement * > techBxDiffLumi_
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
std::vector< unsigned int > algoSelected_
const cms_uint16_t bxNr() const
get/set bunch cross number as counted in the GTFE board
MonitorElement * l1Correlations_
std::vector< unsigned int > techSelected_
MonitorElement * rpcbBxDiff_
MonitorElement * dtBxDiff_
unsigned int rateAlgoCounter_
std::vector< int > earliestAlgo_
MonitorElement * nLumiBlock_
void beginJob(void)
BeginJob.
LuminosityBlockNumber_t luminosityBlock() const
T const * product() const
MonitorElement * l1techScalersBx_
std::vector< MonitorElement * > algoBxDiffLumi_
std::vector< L1MuGMTReadoutRecord > const & getRecords() const
MonitorElement * l1AlgoCounter_
MonitorElement * bookInt(const char *name)
Book int.
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
void setCurrentFolder(const std::string &fullpath)
MonitorElement * rpcfBxDiff_
void beginRun(const edm::Run &run, const edm::EventSetup &c)
BeginRun.
unsigned int rateTtCounter_
MonitorElement * cscBxDiffLumi_