37 : l1GTReadoutRecTag_(iConfig.getUntrackedParameter<
std::
string>(
"L1GlobalReadoutRecord",
"gtDigis")) {
56 if (!(gmtrc_handle.
isValid())) {
57 LogWarning(
"EcalExclusiveTrigFilter") <<
"l1MuGMTReadoutCollection" 65 bool isEcalL1 =
false;
66 const unsigned int sizeOfDecisionWord(L1GTRR->
decisionWord().size());
70 }
else if (sizeOfDecisionWord < 128) {
72 <<
"size of L1 decisionword is " << sizeOfDecisionWord <<
"; L1 Ecal triggering bits not available";
76 for (
unsigned int i = 0;
i != sizeOfDecisionWord; ++
i) {
80 for (
unsigned int i = 0;
i != sizeOfDecisionWord; ++
i) {
97 bool isHCALL1 =
false;
99 std::vector<L1MuGMTReadoutRecord> gmt_records = gmtrc->
getRecords();
100 std::vector<L1MuGMTReadoutRecord>::const_iterator igmtrr;
102 for (igmtrr = gmt_records.begin(); igmtrr != gmt_records.end(); igmtrr++) {
103 std::vector<L1MuRegionalCand>::const_iterator iter1;
104 std::vector<L1MuRegionalCand> rmc;
108 rmc = igmtrr->getDTBXCands();
109 for (iter1 = rmc.begin(); iter1 != rmc.end(); iter1++) {
110 if (!(*iter1).empty()) {
117 if (igmtrr->getBxInEvent() == 0 && idt > 0)
122 rmc = igmtrr->getBrlRPCCands();
123 for (iter1 = rmc.begin(); iter1 != rmc.end(); iter1++) {
124 if (!(*iter1).empty()) {
131 if (igmtrr->getBxInEvent() == 0 && irpcb > 0)
136 rmc = igmtrr->getCSCCands();
137 for (iter1 = rmc.begin(); iter1 != rmc.end(); iter1++) {
138 if (!(*iter1).empty()) {
144 if (igmtrr->getBxInEvent() == 0 && icsc > 0)
150 for (
int ibx = -1; ibx <= 1; ibx++) {
151 bool hcal_top =
false;
152 bool hcal_bot =
false;
154 std::vector<int> valid_phi;
155 if ((psb.
aData(4) & 0x3f) >= 1) {
156 valid_phi.push_back((psb.
aData(4) >> 10) & 0x1f);
158 if ((psb.
bData(4) & 0x3f) >= 1) {
159 valid_phi.push_back((psb.
bData(4) >> 10) & 0x1f);
161 if ((psb.
aData(5) & 0x3f) >= 1) {
162 valid_phi.push_back((psb.
aData(5) >> 10) & 0x1f);
164 if ((psb.
bData(5) & 0x3f) >= 1) {
165 valid_phi.push_back((psb.
bData(5) >> 10) & 0x1f);
167 std::vector<int>::const_iterator iphi;
168 for (iphi = valid_phi.begin(); iphi != valid_phi.end(); iphi++) {
175 if (ibx == 0 && hcal_top && hcal_bot)
179 std::cout <<
"**** Trigger Source ****" << std::endl;
185 cout <<
"CSC" << endl;
190 std::cout <<
"************************" << std::endl;
192 return (isEcalL1 && !isDTL1 && !isRPCL1 && !isCSCL1 && !isHCALL1);
const cms_uint16_t bData(int iB) const
get/set B_DATA_CH_IB
const cms_uint16_t aData(int iA) const
get/set A_DATA_CH_IA
bool filter(edm::Event &, const edm::EventSetup &) override
~EcalExclusiveTrigFilter() override
edm::InputTag l1GTReadoutRecTag_
const L1GtPsbWord gtPsbWord(cms_uint16_t boardIdValue, int bxInEventValue) const
get / set PSB word (record) in the GT readout record
EcalExclusiveTrigFilter(const edm::ParameterSet &)
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
const DecisionWord & decisionWord(int bxInEventValue) const
std::vector< int > l1Accepts_
Namespace of DDCMS conversion namespace.
T const * product() const
std::vector< std::string > l1Names_
std::vector< L1MuGMTReadoutRecord > const & getRecords() const