12 #include <boost/shared_ptr.hpp> 82 bxFirst_ (iConfig.getParameter<
int>(
"bxFirst")),
83 bxLast_ (iConfig.getParameter<
int>(
"bxLast")),
87 produces<GlobalExtBlkBxCollection>();
108 LogDebug(
"L1TExtCondLegacyToStage2") <<
"L1TExtCondLegacyToStage2::produce function called...\n";
123 std::map<std::string, unsigned int> extBitMap = gtParser.
getExternalSignals(utml1GtMenu);
134 unsigned int bitBptxAND =
m_extBitMap[
"BPTX_plus_AND_minus.v0"];
135 unsigned int bitBptxPlus =
m_extBitMap[
"BPTX_plus.v0"];
136 unsigned int bitBptxMinus =
m_extBitMap[
"BPTX_minus.v0"];
137 unsigned int bitBptxOR =
m_extBitMap[
"BPTX_plus_OR_minus.v0"];
150 if( gtReadoutRecord.
isValid() ){
166 for(
int ibx = 0; ibx < 5; ibx++ ){
168 if( useBx<bxFirst_ || useBx>
bxLast_ )
continue;
175 TechnicalTriggerWord::const_iterator GTtbitItr;
176 bool passBptxAND =
false;
177 bool passBptxPlus =
false;
178 bool passBptxMinus =
false;
179 bool passBptxOR =
false;
180 for(GTtbitItr = gtTTWord.begin(); GTtbitItr != gtTTWord.end(); GTtbitItr++) {
181 int pass_l1t_tech = 0;
182 if (*GTtbitItr) pass_l1t_tech = 1;
184 if( pass_l1t_tech==1 ){
185 if( tbitNumber==0 ) passBptxAND =
true;
186 else if( tbitNumber==1 ) passBptxPlus =
true;
187 else if( tbitNumber==2 ) passBptxMinus =
true;
188 else if( tbitNumber==3 ) passBptxOR =
true;
197 if( passBptxMinus && foundBptxMinus ) extCond_bx_m2.
setExternalDecision(bitBptxMinus,
true);
200 else if( useBx==-1 ){
203 if( passBptxMinus && foundBptxMinus ) extCond_bx_m1.
setExternalDecision(bitBptxMinus,
true);
215 if( passBptxMinus && foundBptxMinus ) extCond_bx_p1.
setExternalDecision(bitBptxMinus,
true);
221 if( passBptxMinus && foundBptxMinus ) extCond_bx_p2.
setExternalDecision(bitBptxMinus,
true);
227 LogWarning(
"MissingProduct") <<
"Input L1GlobalTriggerReadoutRecord collection not found\n";
234 if( -2>=
bxFirst_ && -2<=
bxLast_ ) extCond->push_back(-2, extCond_bx_m2);
235 if( -1>=
bxFirst_ && -1<=
bxLast_ ) extCond->push_back(-1, extCond_bx_m1);
250 desc.
add<
int>(
"bxFirst", -2);
251 desc.
add<
int>(
"bxLast", 2);
253 descriptions.
add(
"l1GtExtCondLegacyToStage2", desc);
BXVector< GlobalExtBlk > GlobalExtBlkBxCollection
unsigned long long m_l1GtMenuCacheID
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
const TechnicalTriggerWord & technicalTriggerWord(int bxInEventValue) const
bool getByToken(EDGetToken token, Handle< PROD > &result) const
std::map< std::string, unsigned int > m_extBitMap
static void fillDescriptions(ConfigurationDescriptions &descriptions)
L1TExtCondLegacyToStage2(const ParameterSet &)
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > gtReadoutRecordToken
void produce(edm::Event &, const edm::EventSetup &) override
#define DEFINE_FWK_MODULE(type)
~L1TExtCondLegacyToStage2() override
std::vector< bool > TechnicalTriggerWord
technical trigger bits (64 bits)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void setExternalDecision(unsigned int bit, bool val)
Set decision bits.
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
T const * product() const