14 : rpctpgSource_( ps.getParameter<
InputTag >(
"rpctpgSource") ),
16 rpctfSource_( ps.getParameter<
InputTag >(
"rpctfSource") ),
23 if(
verbose_)
cout <<
"L1TRPCTPG: constructor...." << endl;
27 cout <<
"L1T Monitoring histograms will be saved to " <<
outputFile_.c_str() << endl;
61 "RPC digis bx - all events", 9, -4.5, 4.5 ) ;
64 "RPCTPG nDigi bx 0", 100, -0.5, 99.5 ) ;
66 "RPCTPG nDigi bx +1", 100, -0.5, 99.5 ) ;
68 "RPCTPG nDigi bx -1", 100, -0.5, 99.5 ) ;
73 "RPC digis bx - RPC, !DT", 9, -4.5, 4.5 ) ;
76 "RPC digis bx - RPC, !CSC", 9, -4.5, 4.5 ) ;
79 "RPC digis bx - !RPC, DT", 9, -4.5, 4.5 ) ;
82 "RPC digis bx - !RPC, CSC", 9, -4.5, 4.5 ) ;
96 edm::LogInfo(
"DataNotFound") <<
"can't find RPCGeometry" << endl;
117 edm::LogInfo(
"DataNotFound") <<
"can't find L1MuGMTReadoutCollection with label "
123 vector<L1MuGMTReadoutRecord> gmt_records = gmtrc->
getRecords();
124 vector<L1MuGMTReadoutRecord>::const_iterator RRItr;
126 int nRPCTrackBarrel, nRPCTrackEndcap , nDTTrack, nCSCTrack;
132 for( RRItr = gmt_records.begin() ;
133 RRItr != gmt_records.end() ;
137 vector<L1MuRegionalCand> DTCands = RRItr->getDTBXCands();
138 for( vector<L1MuRegionalCand>::const_iterator
139 ECItr = DTCands.begin() ;
140 ECItr != DTCands.end() ;
143 if (!ECItr->empty()) { ++nDTTrack; }
146 vector<L1MuRegionalCand> CSCCands = RRItr->getCSCCands();
147 for( vector<L1MuRegionalCand>::const_iterator
148 ECItr = CSCCands.begin() ;
149 ECItr != CSCCands.end() ;
152 if (!ECItr->empty()) { ++nCSCTrack; }
156 vector<L1MuRegionalCand> RPCBCands = RRItr->getBrlRPCCands();
157 for( vector<L1MuRegionalCand>::const_iterator
158 ECItr = RPCBCands.begin() ;
159 ECItr != RPCBCands.end() ;
162 if (!ECItr->empty()) { ++nRPCTrackBarrel; }
166 vector<L1MuRegionalCand> RPCECands = RRItr->getFwdRPCCands();
167 for( vector<L1MuRegionalCand>::const_iterator
168 ECItr = RPCECands.begin() ;
169 ECItr != RPCECands.end() ;
172 if (!ECItr->empty()) { ++nRPCTrackEndcap; }
176 int numberofDigi[3] = {0,0,0};
180 for(collectionItr=rpcdigis->begin(); collectionItr!=rpcdigis->end(); ++collectionItr){
183 for (digiItr = ((*collectionItr ).second).first;
184 digiItr!=((*collectionItr).second).
second; ++digiItr){
189 int bx=(*digiItr).bx();
193 if ( nRPCTrackBarrel == 0 && nDTTrack != 0) {
195 }
else if ( nRPCTrackBarrel != 0 && nDTTrack == 0) {
199 if ( nRPCTrackEndcap == 0 && nCSCTrack != 0) {
201 }
else if ( nRPCTrackEndcap != 0 && nCSCTrack == 0) {
238 LogInfo(
"EndJob") <<
"analyzed " <<
nev_ <<
" events";
edm::EDGetTokenT< RPCDigiCollection > rpctpgSource_token_
T getUntrackedParameter(std::string const &, T const &) const
void analyze(const edm::Event &e, const edm::EventSetup &c)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
MonitorElement * bookInt(Args &&...args)
MonitorElement * m_digiBxCSC
U second(std::pair< T, U > const &p)
virtual void bookHistograms(DQMStore::IBooker &ibooker, edm::Run const &, edm::EventSetup const &) override
L1TRPCTPG(const edm::ParameterSet &ps)
MonitorElement * book1D(Args &&...args)
MonitorElement * rpctpgndigi[3]
virtual void dqmBeginRun(edm::Run const &, edm::EventSetup const &)
void setCurrentFolder(const std::string &fullpath)
T const * product() const
edm::EDGetTokenT< L1MuGMTReadoutCollection > rpctfSource_token_
std::vector< RPCDigi >::const_iterator const_iterator
edm::InputTag rpctpgSource_
MonitorElement * m_digiBxRPCBar
virtual void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)
MonitorElement * m_digiBxRPCEnd
MonitorElement * lumisecId_
std::vector< L1MuGMTReadoutRecord > const & getRecords() const
edm::InputTag rpctfSource_
MonitorElement * rpctpgbx
MonitorElement * m_digiBxDT