CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Static Public Member Functions | Private Attributes
L1TGlobalProducer Class Reference

#include <L1TGlobalProducer.h>

Inheritance diagram for L1TGlobalProducer:
edm::stream::EDProducer<> edm::stream::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 L1TGlobalProducer (const edm::ParameterSet &)
 
virtual void produce (edm::Event &, const edm::EventSetup &) override
 
 ~L1TGlobalProducer ()
 
- Public Member Functions inherited from edm::stream::EDProducer<>
 EDProducer ()=default
 
- Public Member Functions inherited from edm::stream::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDProducerBase ()
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector
< edm::ProductResolverIndex >
const & 
indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription
const &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, std::unordered_multimap< std::string, edm::ProductResolverIndex > const &iIndicies, std::string const &moduleLabel)
 
virtual ~ProducerBase () noexcept(false)
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector
< ProductResolverIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::stream::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Attributes

uint16_t m_activeBoardsGtDaq
 active boards in L1 GT DAQ record More...
 
bool m_algorithmTriggersUnmasked
 
bool m_algorithmTriggersUnprescaled
 
unsigned int m_alternativeNrBxBoardDaq
 
unsigned int m_bstLengthBytes
 length of BST record (in bytes) from event setup More...
 
edm::InputTag m_egInputTag
 input tag for calorimeter collections from GCT More...
 
edm::EDGetTokenT< BXVector
< l1t::EGamma > > 
m_egInputToken
 
int m_emulateBxInEvent
 
edm::InputTag m_extInputTag
 input tag for external conditions More...
 
edm::EDGetTokenT< BXVector
< GlobalExtBlk > > 
m_extInputToken
 
int m_ifCaloEtaNumberBits
 
int m_ifMuEtaNumberBits
 
std::vector< std::vector< int > > m_initialPrescaleFactorsAlgoTrig
 
std::vector< unsigned int > m_initialTriggerMaskAlgoTrig
 
std::vector< int > m_initialTriggerMaskVetoAlgoTrig
 
bool m_isDebugEnabled
 
edm::InputTag m_jetInputTag
 
edm::EDGetTokenT< BXVector
< l1t::Jet > > 
m_jetInputToken
 
int m_L1DataBxInEvent
 Bx expected in Data coming to GT. More...
 
const L1GtBoardMapsm_l1GtBM
 board maps - cache only the record More...
 
unsigned long long m_l1GtBMCacheID
 
std::unique_ptr< TriggerMenum_l1GtMenu
 
unsigned long long m_l1GtMenuCacheID
 
unsigned long long m_l1GtParCacheID
 
unsigned long long m_l1GtPfAlgoCacheID
 
const l1t::PrescalesVetosHelperm_l1GtPrescalesVetoes
 prescale factors More...
 
const L1TGlobalParametersm_l1GtStablePar
 cached stuff More...
 
const L1GtTriggerMaskm_l1GtTmAlgo
 trigger masks & veto masks More...
 
unsigned long long m_l1GtTmAlgoCacheID
 
const L1GtTriggerMaskm_l1GtTmVetoAlgo
 
unsigned long long m_l1GtTmVetoAlgoCacheID
 
edm::InputTag m_muInputTag
 input tag for muon collection from GMT More...
 
edm::EDGetTokenT< BXVector
< l1t::Muon > > 
m_muInputToken
 
int m_nrL1EG
 
int m_nrL1Jet
 
int m_nrL1Mu
 
int m_nrL1Tau
 
unsigned int m_numberDaqPartitions
 
unsigned int m_numberPhysTriggers
 
const std::vector< std::vector
< int > > * 
m_prescaleFactorsAlgoTrig
 
unsigned int m_prescaleSet
 prescale set used More...
 
std::string m_prescalesFile
 CSV file for prescales. More...
 
bool m_printL1Menu
 
bool m_produceL1GtDaqRecord
 logical flag to produce the L1 GT DAQ readout record More...
 
bool m_produceL1GtObjectMapRecord
 logical flag to produce the L1 GT object map record More...
 
int m_psBstLengthBytes
 length of BST record (in bytes) from parameter set More...
 
edm::InputTag m_sumInputTag
 
edm::EDGetTokenT< BXVector
< l1t::EtSum > > 
m_sumInputToken
 
edm::InputTag m_tauInputTag
 
edm::EDGetTokenT< BXVector
< l1t::Tau > > 
m_tauInputToken
 
int m_totalBxInEvent
 total number of Bx's in the event coming from EventSetup More...
 
const std::vector< unsigned int > * m_triggerMaskAlgoTrig
 
const std::vector< int > * m_triggerMaskVetoAlgoTrig
 
std::unique_ptr< l1t::GlobalBoardm_uGtBrd
 
int m_verbosity
 verbosity level More...
 
bool m_writePsbL1GtDaqRecord
 logical flag to write the PSB content in the L1 GT DAQ record More...
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDProducer<>
typedef CacheContexts< T...> CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T...> HasAbility
 
typedef
CacheTypes::LuminosityBlockCache 
LuminosityBlockCache
 
typedef
LuminosityBlockContextT
< LuminosityBlockCache,
RunCache, GlobalCache
LuminosityBlockContext
 
typedef
CacheTypes::LuminosityBlockSummaryCache 
LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache,
GlobalCache
RunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDProducerBase
typedef EDProducerAdaptorBase ModuleType
 
- Public Types inherited from edm::ProducerBase
typedef
ProductRegistryHelper::TypeLabelList 
TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Definition at line 38 of file L1TGlobalProducer.h.

Constructor & Destructor Documentation

L1TGlobalProducer::L1TGlobalProducer ( const edm::ParameterSet parSet)
explicit

Definition at line 75 of file L1TGlobalProducer.cc.

References LogTrace, m_activeBoardsGtDaq, m_algorithmTriggersUnmasked, m_algorithmTriggersUnprescaled, m_alternativeNrBxBoardDaq, m_bstLengthBytes, m_egInputTag, m_egInputToken, m_emulateBxInEvent, m_extInputTag, m_extInputToken, m_ifCaloEtaNumberBits, m_ifMuEtaNumberBits, m_initialPrescaleFactorsAlgoTrig, m_jetInputTag, m_jetInputToken, m_L1DataBxInEvent, m_l1GtBMCacheID, m_l1GtMenuCacheID, m_l1GtParCacheID, m_l1GtPfAlgoCacheID, m_l1GtTmAlgoCacheID, m_l1GtTmVetoAlgoCacheID, m_muInputTag, m_muInputToken, m_nrL1EG, m_nrL1Jet, m_nrL1Mu, m_nrL1Tau, m_numberDaqPartitions, m_numberPhysTriggers, m_produceL1GtDaqRecord, m_produceL1GtObjectMapRecord, m_sumInputTag, m_sumInputToken, m_tauInputTag, m_tauInputToken, m_totalBxInEvent, m_uGtBrd, and m_verbosity.

75  :
76  m_muInputTag(parSet.getParameter<edm::InputTag> ("MuonInputTag")),
77  m_egInputTag(parSet.getParameter<edm::InputTag> ("EGammaInputTag")),
78  m_tauInputTag(parSet.getParameter<edm::InputTag> ("TauInputTag")),
79  m_jetInputTag(parSet.getParameter<edm::InputTag> ("JetInputTag")),
80  m_sumInputTag(parSet.getParameter<edm::InputTag> ("EtSumInputTag")),
81  m_extInputTag(parSet.getParameter<edm::InputTag> ("ExtInputTag")),
82 
83  m_produceL1GtDaqRecord(parSet.getParameter<bool> ("ProduceL1GtDaqRecord")),
84  m_produceL1GtObjectMapRecord(parSet.getParameter<bool> ("ProduceL1GtObjectMapRecord")),
85 
86  m_emulateBxInEvent(parSet.getParameter<int> ("EmulateBxInEvent")),
87  m_L1DataBxInEvent(parSet.getParameter<int> ("L1DataBxInEvent")),
88 
89  m_alternativeNrBxBoardDaq(parSet.getParameter<unsigned int> ("AlternativeNrBxBoardDaq")),
90  m_psBstLengthBytes(parSet.getParameter<int> ("BstLengthBytes")),
91 
92  m_prescaleSet(parSet.getParameter<unsigned int> ("PrescaleSet")),
93 
94  m_algorithmTriggersUnprescaled(parSet.getParameter<bool> ("AlgorithmTriggersUnprescaled")),
95  m_algorithmTriggersUnmasked(parSet.getParameter<bool> ("AlgorithmTriggersUnmasked")),
96 
97  m_verbosity(parSet.getUntrackedParameter<int>("Verbosity")),
98  m_printL1Menu(parSet.getUntrackedParameter<bool>("PrintL1Menu")),
100 {
101 
102  m_egInputToken = consumes <BXVector<EGamma> > (m_egInputTag);
103  m_tauInputToken = consumes <BXVector<Tau> > (m_tauInputTag);
104  m_jetInputToken = consumes <BXVector<Jet> > (m_jetInputTag);
105  m_sumInputToken = consumes <BXVector<EtSum> > (m_sumInputTag);
106  m_muInputToken = consumes <BXVector<Muon> > (m_muInputTag);
107  m_extInputToken = consumes <BXVector<GlobalExtBlk> > (m_extInputTag);
108 
109  if (m_verbosity) {
110 
111 
112  LogTrace("L1TGlobalProducer")
113  << "\nInput tag for muon collection from uGMT: " << m_muInputTag
114  << "\nInput tag for calorimeter jet collections from Cal: " << m_jetInputTag
115  << "\nInput tag for external conditions : " << m_extInputTag
116  << std::endl;
117 
118 
119  LogTrace("L1TGlobalProducer")
120  << "\nProduce the L1 uGT DAQ readout record: " << m_produceL1GtDaqRecord
121  << "\nProduce the L1 uGT Object Map record: " << m_produceL1GtObjectMapRecord
122  << " \n"
123  << "\nNumber of BxInEvent to be emulated: " << m_emulateBxInEvent
124  << " \n"
125  << "\nAlternative for number of BX in GT DAQ record: 0x" << std::hex
127  << " \n"
128  << "\nRun algorithm triggers unprescaled: " << m_algorithmTriggersUnprescaled
129  << "\nRun algorithm triggers unmasked (all enabled): " << m_algorithmTriggersUnmasked
130  << "\n"
131  << std::endl;
132  }
133 
134 
135  if ( ( m_emulateBxInEvent > 0 ) && ( ( m_emulateBxInEvent % 2 ) == 0 )) {
137 
138  if (m_verbosity) {
139  edm::LogWarning("L1TGlobalProducer")
140  << "\nWARNING: Number of bunch crossing to be emulated rounded to: "
141  << m_emulateBxInEvent << "\n The number must be an odd number!\n"
142  << std::endl;
143  }
144  }
145 
146 
147  if ( ( m_L1DataBxInEvent > 0 ) && ( ( m_L1DataBxInEvent % 2 ) == 0 )) {
149 
150  if (m_verbosity) {
151  edm::LogWarning("L1TGlobalProducer")
152  << "\nWARNING: Number of bunch crossing for incoming L1 Data rounded to: "
153  << m_L1DataBxInEvent << "\n The number must be an odd number!\n"
154  << std::endl;
155  }
156  } else if( m_L1DataBxInEvent<0) {
157  m_L1DataBxInEvent = 1;
158 
159  if (m_verbosity) {
160  edm::LogWarning("L1TGlobalProducer")
161  << "\nWARNING: Number of bunch crossing for incoming L1 Data was changed to: "
162  << m_L1DataBxInEvent << "\n The number must be an odd positive number!\n"
163  << std::endl;
164  }
165  }
166 
167 
168 
169 
170  // register products
172  produces<GlobalAlgBlkBxCollection>();
173  //blwEXT produces<GlobalExtBlkBxCollection>();
174  }
175 
176 
178  produces<GlobalObjectMapRecord>();
179  }
180 
181 
182  // create new uGt Board
183  m_uGtBrd = std::make_unique<GlobalBoard>();
184  m_uGtBrd->setVerbosity(m_verbosity);
185 
186  // initialize cached IDs
187 
188  //
189  m_l1GtParCacheID = 0ULL;
190  m_l1GtMenuCacheID = 0ULL;
191 
194 
195  m_nrL1Mu = 0;
196  m_nrL1EG = 0;
197  m_nrL1Tau = 0;
198 
199  m_nrL1Jet = 0;
200 
201 
202 
205 
206  //
207  m_l1GtParCacheID = 0ULL;
208 
209  m_totalBxInEvent = 0;
210 
212  m_bstLengthBytes = 0;
213 
214  //
215  m_l1GtBMCacheID = 0ULL;
216 
217  //
218  m_l1GtPfAlgoCacheID = 0ULL;
219 
220  m_l1GtTmAlgoCacheID = 0ULL;
221 
223 
224 
225  // Set default, initial, dummy prescale factor table
226  std::vector<std::vector<int> > temp_prescaleTable;
227 
228  temp_prescaleTable.push_back(std::vector<int>());
229  m_initialPrescaleFactorsAlgoTrig = temp_prescaleTable;
230 }
T getParameter(std::string const &) const
bool isDebugEnabled()
T getUntrackedParameter(std::string const &, T const &) const
edm::InputTag m_jetInputTag
unsigned int m_numberDaqPartitions
unsigned long long m_l1GtParCacheID
unsigned long long m_l1GtTmVetoAlgoCacheID
int m_verbosity
verbosity level
uint16_t m_activeBoardsGtDaq
active boards in L1 GT DAQ record
edm::InputTag m_egInputTag
input tag for calorimeter collections from GCT
edm::EDGetTokenT< BXVector< l1t::Tau > > m_tauInputToken
int m_psBstLengthBytes
length of BST record (in bytes) from parameter set
bool m_produceL1GtObjectMapRecord
logical flag to produce the L1 GT object map record
int m_totalBxInEvent
total number of Bx&#39;s in the event coming from EventSetup
unsigned int m_numberPhysTriggers
edm::EDGetTokenT< BXVector< GlobalExtBlk > > m_extInputToken
unsigned long long m_l1GtTmAlgoCacheID
unsigned int m_alternativeNrBxBoardDaq
edm::InputTag m_sumInputTag
edm::InputTag m_muInputTag
input tag for muon collection from GMT
edm::InputTag m_extInputTag
input tag for external conditions
unsigned long long m_l1GtMenuCacheID
edm::InputTag m_tauInputTag
std::vector< std::vector< int > > m_initialPrescaleFactorsAlgoTrig
bool m_produceL1GtDaqRecord
logical flag to produce the L1 GT DAQ readout record
edm::EDGetTokenT< BXVector< l1t::Muon > > m_muInputToken
#define LogTrace(id)
unsigned int m_prescaleSet
prescale set used
edm::EDGetTokenT< BXVector< l1t::EtSum > > m_sumInputToken
int m_L1DataBxInEvent
Bx expected in Data coming to GT.
unsigned long long m_l1GtBMCacheID
unsigned int m_bstLengthBytes
length of BST record (in bytes) from event setup
unsigned long long m_l1GtPfAlgoCacheID
std::unique_ptr< l1t::GlobalBoard > m_uGtBrd
edm::EDGetTokenT< BXVector< l1t::Jet > > m_jetInputToken
edm::EDGetTokenT< BXVector< l1t::EGamma > > m_egInputToken
L1TGlobalProducer::~L1TGlobalProducer ( )

Definition at line 233 of file L1TGlobalProducer.cc.

234 {
235 }

Member Function Documentation

void L1TGlobalProducer::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 44 of file L1TGlobalProducer.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), edm::ParameterSetDescription::addUntracked(), HLT_FULL_cff::InputTag, and AlCaHLTBitMon_QueryRunRegistry::string.

44  {
46  // These parameters are part of the L1T/HLT interface, avoid changing if possible::
47  desc.add<edm::InputTag> ("MuonInputTag", edm::InputTag(""))->setComment("InputTag for Global Muon Trigger (required parameter: default value is invalid)");
48  desc.add<edm::InputTag> ("EGammaInputTag", edm::InputTag(""))->setComment("InputTag for Calo Trigger EGamma (required parameter: default value is invalid)");
49  desc.add<edm::InputTag> ("TauInputTag", edm::InputTag(""))->setComment("InputTag for Calo Trigger Tau (required parameter: default value is invalid)");
50  desc.add<edm::InputTag> ("JetInputTag", edm::InputTag(""))->setComment("InputTag for Calo Trigger Jet (required parameter: default value is invalid)");
51  desc.add<edm::InputTag> ("EtSumInputTag", edm::InputTag(""))->setComment("InputTag for Calo Trigger EtSum (required parameter: default value is invalid)");
52  desc.add<edm::InputTag> ("ExtInputTag", edm::InputTag(""))->setComment("InputTag for external conditions (not required, but recommend to specify explicitly in config)");
53  desc.add<bool> ("AlgorithmTriggersUnprescaled", false)->setComment("not required, but recommend to specify explicitly in config");
54  desc.add<bool> ("AlgorithmTriggersUnmasked", false)->setComment("not required, but recommend to specify explicitly in config");
55  // These parameters have well defined default values and are not currently
56  // part of the L1T/HLT interface. They can be cleaned up or updated at will:
57  desc.add<bool> ("ProduceL1GtDaqRecord",true);
58  desc.add<bool> ("ProduceL1GtObjectMapRecord",true);
59  desc.add<int> ("EmulateBxInEvent",1);
60  desc.add<int> ("L1DataBxInEvent",5);
61  desc.add<unsigned int> ("AlternativeNrBxBoardDaq",0);
62  desc.add<int> ("BstLengthBytes",-1);
63  desc.add<unsigned int> ("PrescaleSet",1);
64  desc.addUntracked<int>("Verbosity",0);
65  desc.addUntracked<bool> ("PrintL1Menu",false);
66  desc.add<std::string>("TriggerMenuLuminosity","startup");
67  desc.add<std::string>("PrescaleCSVFile","prescale_L1TGlobal.csv");
68  descriptions.add("L1TGlobalProducer", desc);
69 }
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
void L1TGlobalProducer::produce ( edm::Event iEvent,
const edm::EventSetup evSetup 
)
overridevirtual

Needs error checking that something exists at this bx.

Implements edm::stream::EDProducerBase.

Definition at line 240 of file L1TGlobalProducer.cc.

References edm::EventBase::bunchCrossing(), l1t::TriggerMenuParser::corCaloTemplate(), l1t::TriggerMenuParser::corEnergySumTemplate(), l1t::TriggerMenuParser::corMuonTemplate(), gather_cfg::cout, data, TauDecayModes::dec, edm::EventSetup::get(), l1t::TriggerMenuParser::gtAlgorithmAliasMap(), l1t::TriggerMenuParser::gtAlgorithmMap(), l1t::TriggerMenuParser::gtScaleDbKey(), l1t::TriggerMenuParser::gtScales(), l1t::TriggerMenuParser::gtTriggerMenuImplementation(), l1t::TriggerMenuParser::gtTriggerMenuInterface(), l1t::TriggerMenuParser::gtTriggerMenuName(), l1t::TriggerMenuParser::gtTriggerMenuUUID(), LogDebug, LogTrace, m_algorithmTriggersUnmasked, m_algorithmTriggersUnprescaled, m_egInputToken, m_emulateBxInEvent, m_extInputToken, m_initialPrescaleFactorsAlgoTrig, m_initialTriggerMaskAlgoTrig, m_initialTriggerMaskVetoAlgoTrig, m_isDebugEnabled, m_jetInputToken, m_L1DataBxInEvent, m_l1GtMenu, m_l1GtMenuCacheID, m_l1GtParCacheID, m_l1GtPfAlgoCacheID, m_l1GtPrescalesVetoes, m_l1GtStablePar, m_muInputToken, m_nrL1EG, m_nrL1Jet, m_nrL1Mu, m_nrL1Tau, m_numberPhysTriggers, m_prescaleFactorsAlgoTrig, m_prescaleSet, m_printL1Menu, m_produceL1GtDaqRecord, m_produceL1GtObjectMapRecord, m_sumInputToken, m_tauInputToken, m_totalBxInEvent, m_triggerMaskAlgoTrig, m_triggerMaskVetoAlgoTrig, m_uGtBrd, m_verbosity, eostools::move(), l1t::GlobalParamsHelper::numberChips(), l1t::GlobalParamsHelper::numberL1EG(), l1t::GlobalParamsHelper::numberL1Jet(), l1t::GlobalParamsHelper::numberL1Mu(), l1t::GlobalParamsHelper::numberL1Tau(), l1t::GlobalParamsHelper::numberPhysTriggers(), l1t::GlobalParamsHelper::orderOfChip(), l1t::TriggerMenuParser::parseCondFormats(), l1t::GlobalParamsHelper::pinsOnChip(), l1t::PrescalesVetosHelper::prescaleTable(), reco::print(), edm::ESHandle< class >::product(), edm::Event::put(), l1t::TriggerMenuParser::setGtNumberConditionChips(), l1t::TriggerMenuParser::setGtNumberPhysTriggers(), l1t::TriggerMenuParser::setGtOrderConditionChip(), l1t::TriggerMenuParser::setGtPinsOnConditionChip(), l1t::GlobalParamsHelper::totalBxInEvent(), l1t::PrescalesVetosHelper::triggerMaskVeto(), relativeConstraints::value, l1t::TriggerMenuParser::vecCaloTemplate(), l1t::TriggerMenuParser::vecCorrelationTemplate(), l1t::TriggerMenuParser::vecEnergySumTemplate(), l1t::TriggerMenuParser::vecExternalTemplate(), and l1t::TriggerMenuParser::vecMuonTemplate().

241 {
242 
243 
244 
245 
246 
247  // process event iEvent
248  // get / update the stable parameters from the EventSetup
249  // local cache & check on cacheIdentifier
250 
251  unsigned long long l1GtParCacheID =
252  evSetup.get<L1TGlobalParametersRcd>().cacheIdentifier();
253 
254  if (m_l1GtParCacheID != l1GtParCacheID) {
255 
257  evSetup.get< L1TGlobalParametersRcd >().get( l1GtStablePar );
258  m_l1GtStablePar = l1GtStablePar.product();
259  const GlobalParamsHelper * data = GlobalParamsHelper::readFromEventSetup(m_l1GtStablePar);
260 
261  // number of bx
263 
264  // number of physics triggers
266 
267  // number of objects of each type
268  m_nrL1Mu = data->numberL1Mu();
269 
270  // EG
271  m_nrL1EG = data->numberL1EG();
272 
273  // jets
274  m_nrL1Jet = data->numberL1Jet();
275 
276  // taus
277  m_nrL1Tau= data->numberL1Tau();
278 
280  int minL1DataBxInEvent = (m_L1DataBxInEvent + 1)/2 - m_L1DataBxInEvent;
281  int maxL1DataBxInEvent = (m_L1DataBxInEvent + 1)/2 - 1;
282 
283  // Initialize Board
284  m_uGtBrd->init(m_numberPhysTriggers, m_nrL1Mu, m_nrL1EG, m_nrL1Tau, m_nrL1Jet, minL1DataBxInEvent, maxL1DataBxInEvent );
285 
286  //
287  m_l1GtParCacheID = l1GtParCacheID;
288 
289  }
290 
291  if (m_emulateBxInEvent < 0) {
293  }
294 
296  int minEmulBxInEvent = (m_emulateBxInEvent + 1)/2 - m_emulateBxInEvent;
297  int maxEmulBxInEvent = (m_emulateBxInEvent + 1)/2 - 1;
298 
299  // get / update the trigger menu from the EventSetup
300  // local cache & check on cacheIdentifier
301  unsigned long long l1GtMenuCacheID = evSetup.get<L1TUtmTriggerMenuRcd>().cacheIdentifier();
302 
303  if (m_l1GtMenuCacheID != l1GtMenuCacheID) {
304  const GlobalParamsHelper * data = GlobalParamsHelper::readFromEventSetup(m_l1GtStablePar);
305 
307  evSetup.get< L1TUtmTriggerMenuRcd>().get(l1GtMenu) ;
308  const L1TUtmTriggerMenu* utml1GtMenu = l1GtMenu.product();
309 
310  // Instantiate Parser
311  TriggerMenuParser gtParser = TriggerMenuParser();
312 
313  gtParser.setGtNumberConditionChips(data->numberChips());
314  gtParser.setGtPinsOnConditionChip(data->pinsOnChip());
315  gtParser.setGtOrderConditionChip(data->orderOfChip());
317 
318  //Parse menu into emulator classes
319  gtParser.parseCondFormats(utml1GtMenu);
320 
321  // transfer the condition map and algorithm map from parser to L1uGtTriggerMenu
322  m_l1GtMenu = std::make_unique<TriggerMenu>(gtParser.gtTriggerMenuName(), data->numberChips(),
323  gtParser.vecMuonTemplate(),
324  gtParser.vecCaloTemplate(),
325  gtParser.vecEnergySumTemplate(),
326  gtParser.vecExternalTemplate(),
327  gtParser.vecCorrelationTemplate(),
328  gtParser.corMuonTemplate(),
329  gtParser.corCaloTemplate(),
330  gtParser.corEnergySumTemplate()) ;
331 
332 
333  m_l1GtMenu->setGtTriggerMenuInterface(gtParser.gtTriggerMenuInterface());
334  m_l1GtMenu->setGtTriggerMenuImplementation(gtParser.gtTriggerMenuImplementation());
335  m_l1GtMenu->setGtScaleDbKey(gtParser.gtScaleDbKey());
336  m_l1GtMenu->setGtScales(gtParser.gtScales());
337  m_l1GtMenu->setGtTriggerMenuUUID(gtParser.gtTriggerMenuUUID());
338 
339  m_l1GtMenu->setGtAlgorithmMap(gtParser.gtAlgorithmMap());
340  m_l1GtMenu->setGtAlgorithmAliasMap(gtParser.gtAlgorithmAliasMap());
341 
342  m_l1GtMenu->buildGtConditionMap();
343 
344  int printV = 2;
345  if(m_printL1Menu) m_l1GtMenu->print(std::cout, printV);
346 
347  m_l1GtMenuCacheID = l1GtMenuCacheID;
348  }
349 
350 
351 
352 
353 
354  // get / update the board maps from the EventSetup
355  // local cache & check on cacheIdentifier
356 
357 /* *** Drop L1GtBoard Maps for now
358  typedef std::vector<L1GtBoard>::const_iterator CItBoardMaps;
359 
360  unsigned long long l1GtBMCacheID = evSetup.get<L1GtBoardMapsRcd>().cacheIdentifier();
361 */
362 
363 /* ** Drop board mapping for now
364  if (m_l1GtBMCacheID != l1GtBMCacheID) {
365 
366  edm::ESHandle< L1GtBoardMaps > l1GtBM;
367  evSetup.get< L1GtBoardMapsRcd >().get( l1GtBM );
368  m_l1GtBM = l1GtBM.product();
369 
370  m_l1GtBMCacheID = l1GtBMCacheID;
371 
372  }
373 
374 
375  // TODO need changes in CondFormats to cache the maps
376  const std::vector<L1GtBoard>& boardMaps = m_l1GtBM->gtBoardMaps();
377 */
378  // get / update the prescale factors from the EventSetup
379  // local cache & check on cacheIdentifier
380 
381  // Only get event record if not unprescaled and not unmasked
383  unsigned long long l1GtPfAlgoCacheID = evSetup.get<L1TGlobalPrescalesVetosRcd>().cacheIdentifier();
384 
385  if (m_l1GtPfAlgoCacheID != l1GtPfAlgoCacheID) {
386 
387  edm::ESHandle< L1TGlobalPrescalesVetos > l1GtPrescalesVetoes;
388  evSetup.get< L1TGlobalPrescalesVetosRcd >().get( l1GtPrescalesVetoes );
389  const L1TGlobalPrescalesVetos * es = l1GtPrescalesVetoes.product();
390  m_l1GtPrescalesVetoes = PrescalesVetosHelper::readFromEventSetup(es);
391 
394 
395  m_l1GtPfAlgoCacheID = l1GtPfAlgoCacheID;
396  }
397  }
398  else{
399  // Set Prescale factors to initial dummy values
400  m_prescaleSet = 1;
404  }
405 
406 
407  // get / update the trigger mask from the EventSetup
408  // local cache & check on cacheIdentifier
409 
410 
411 /* **** For now Leave out Masks *****
412  unsigned long long l1GtTmAlgoCacheID =
413  evSetup.get<L1GtTriggerMaskAlgoTrigRcd>().cacheIdentifier();
414 
415  if (m_l1GtTmAlgoCacheID != l1GtTmAlgoCacheID) {
416 
417  edm::ESHandle< L1GtTriggerMask > l1GtTmAlgo;
418  evSetup.get< L1GtTriggerMaskAlgoTrigRcd >().get( l1GtTmAlgo );
419  m_l1GtTmAlgo = l1GtTmAlgo.product();
420 
421  m_triggerMaskAlgoTrig = m_l1GtTmAlgo->gtTriggerMask();
422 
423  m_l1GtTmAlgoCacheID = l1GtTmAlgoCacheID;
424 
425  }
426 */
427 
428 
429 
430 /* **** For now Leave out Veto Masks *****
431  unsigned long long l1GtTmVetoAlgoCacheID =
432  evSetup.get<L1GtTriggerMaskVetoAlgoTrigRcd>().cacheIdentifier();
433 
434  if (m_l1GtTmVetoAlgoCacheID != l1GtTmVetoAlgoCacheID) {
435 
436  edm::ESHandle< L1GtTriggerMask > l1GtTmVetoAlgo;
437  evSetup.get< L1GtTriggerMaskVetoAlgoTrigRcd >().get( l1GtTmVetoAlgo );
438  m_l1GtTmVetoAlgo = l1GtTmVetoAlgo.product();
439 
440  m_triggerMaskVetoAlgoTrig = m_l1GtTmVetoAlgo->gtTriggerMask();
441 
442  m_l1GtTmVetoAlgoCacheID = l1GtTmVetoAlgoCacheID;
443 
444  }
445 */
446 
447 
448 
449 // ****** Board Maps Need to be redone....hard code for now ******
450  // loop over blocks in the GT DAQ record receiving data, count them if they are active
451  // all board type are defined in CondFormats/L1TObjects/L1GtFwd
452  // &
453  // set the active flag for each object type received from GMT and GCT
454  // all objects in the GT system
455 
456  //
457  bool receiveMu = true;
458  bool receiveEG = true;
459  bool receiveTau = true;
460  bool receiveJet = true;
461  bool receiveEtSums = true;
462  bool receiveExt = true;
463 
464 /* *** Boards need redefining *****
465  for (CItBoardMaps
466  itBoard = boardMaps.begin();
467  itBoard != boardMaps.end(); ++itBoard) {
468 
469  int iPosition = itBoard->gtPositionDaqRecord();
470  if (iPosition > 0) {
471 
472  int iActiveBit = itBoard->gtBitDaqActiveBoards();
473  bool activeBoard = false;
474 
475  if (iActiveBit >= 0) {
476  activeBoard = m_activeBoardsGtDaq & (1 << iActiveBit);
477  }
478 
479  // use board if: in the record, but not in ActiveBoardsMap (iActiveBit < 0)
480  // in the record and ActiveBoardsMap, and active
481  if ((iActiveBit < 0) || activeBoard) {
482 
483 // ****** Decide what board manipulation (if any we want here)
484 
485  }
486  }
487 
488  }
489 */
490 
491 
492 
493  // Produce the Output Records for the GT
494  std::unique_ptr<GlobalAlgBlkBxCollection> uGtAlgRecord( new GlobalAlgBlkBxCollection(0,minEmulBxInEvent,maxEmulBxInEvent));
495 
496  // * produce the GlobalObjectMapRecord
497  std::unique_ptr<GlobalObjectMapRecord> gtObjectMapRecord(
498  new GlobalObjectMapRecord() );
499 
500 
501  // fill the boards not depending on the BxInEvent in the L1 GT DAQ record
502  // GMT, PSB and FDL depend on BxInEvent
503 
504  // fill in emulator the same bunch crossing (12 bits - hardwired number of bits...)
505  // and the same local bunch crossing for all boards
506  int bxCross = iEvent.bunchCrossing();
507  boost::uint16_t bxCrossHw = 0;
508  if ((bxCross & 0xFFF) == bxCross) {
509  bxCrossHw = static_cast<boost::uint16_t> (bxCross);
510  }
511  else {
512  bxCrossHw = 0; // Bx number too large, set to 0!
513  if (m_verbosity) {
514 
515  LogDebug("L1TGlobalProducer")
516  << "\nBunch cross number [hex] = " << std::hex << bxCross
517  << "\n larger than 12 bits. Set to 0! \n" << std::dec
518  << std::endl;
519  }
520  }
521  LogDebug("L1TGlobalProducer") << "HW BxCross " << bxCrossHw << std::endl;
522 
523 
524  // get the prescale factor from the configuration for now
525  // Prescale set indexed by zero internally, but externally indexed by 1
526  unsigned int pfAlgoSetIndex = m_prescaleSet-1;
527 
528  // Require that prescale set be positive
529  if( m_prescaleSet<=0 ) pfAlgoSetIndex = 0;
530 
531  if( pfAlgoSetIndex > (*m_prescaleFactorsAlgoTrig).size()-1 ){
532  LogTrace("L1TGlobalProducer")
533  << "\nAttempting to access prescale algo set: " << m_prescaleSet
534  << "\nNumber of prescale algo sets available: " << (*m_prescaleFactorsAlgoTrig).size()
535  << "Setting former to latter."
536  << std::endl;
537 
538  pfAlgoSetIndex = (*m_prescaleFactorsAlgoTrig).size()-1;
539  }
540 
541  const std::vector<int>& prescaleFactorsAlgoTrig = (*m_prescaleFactorsAlgoTrig).at(pfAlgoSetIndex);
542 
543  // For now, set masks according to prescale value of 0
545  for( unsigned int iAlgo=0; iAlgo < prescaleFactorsAlgoTrig.size(); iAlgo++ ){
546  unsigned int value = prescaleFactorsAlgoTrig[iAlgo];
547  value = ( value==0 ) ? 0 : 1;
548  m_initialTriggerMaskAlgoTrig.push_back(value);
549  }
551 
552  const std::vector<unsigned int>& triggerMaskAlgoTrig = *m_triggerMaskAlgoTrig;
553  const std::vector<int>& triggerMaskVetoAlgoTrig = *m_triggerMaskVetoAlgoTrig;
554 
555  LogDebug("L1TGlobalProducer") << "Size of prescale vector" << prescaleFactorsAlgoTrig.size() << std::endl;
556 
557 
558 // Load the calorimeter input onto the uGt Board
559  m_uGtBrd->receiveCaloObjectData(iEvent,
564  receiveEG, m_nrL1EG,
565  receiveTau, m_nrL1Tau,
566  receiveJet, m_nrL1Jet,
567  receiveEtSums );
568 
569  m_uGtBrd->receiveMuonObjectData(iEvent, m_muInputToken,
570  receiveMu, m_nrL1Mu );
571 
572  m_uGtBrd->receiveExternalData(iEvent, m_extInputToken,
573  receiveExt );
574 
575 
576  // loop over BxInEvent
577  for (int iBxInEvent = minEmulBxInEvent; iBxInEvent <= maxEmulBxInEvent;
578  ++iBxInEvent) {
579 
580  // run GTL
581  LogDebug("L1TGlobalProducer")
582  << "\nL1TGlobalProducer : running GTL for bx = " << iBxInEvent << "\n"
583  << std::endl;
584 
585 
586 // Run the GTL for this BX
587  m_uGtBrd->runGTL(iEvent, evSetup, m_l1GtMenu.get(),
588  m_produceL1GtObjectMapRecord, iBxInEvent, gtObjectMapRecord,
590  m_nrL1Mu,
591  m_nrL1EG,
592  m_nrL1Tau,
593  m_nrL1Jet
594  );
595 
596 
597  // run FDL
598  LogDebug("L1TGlobalProducer")
599  << "\nL1TGlobalProducer : running FDL for bx = " << iBxInEvent << "\n"
600  << std::endl;
601 
602 
603 // Run the Final Decision Logic for this BX
604  m_uGtBrd->runFDL(iEvent,
605  iBxInEvent,
607  m_numberPhysTriggers,
608  prescaleFactorsAlgoTrig,
609  triggerMaskAlgoTrig,
610  triggerMaskVetoAlgoTrig,
613  );
614 
615 
616 
617 // Fill in the DAQ Records
619  m_uGtBrd->fillAlgRecord(iBxInEvent, uGtAlgRecord, m_prescaleSet, m_l1GtMenu->gtTriggerMenuUUID(), m_l1GtMenu->gtTriggerMenuImplementation());
620  }
621 
622 
623 
624  } //End Loop over Bx
625 
626 
627  // Add explicit reset of Board
628  m_uGtBrd->reset();
629 
630 
631 
632  if ( m_verbosity && m_isDebugEnabled ) {
633 
634  std::ostringstream myCoutStream;
635 
636  for(int bx=minEmulBxInEvent; bx<maxEmulBxInEvent; bx++) {
637 
639  (uGtAlgRecord->at(bx,0)).print(myCoutStream);
640 
641  }
642 
643  LogTrace("L1TGlobalProducer")
644  << "\n The following L1 GT DAQ readout record was produced:\n"
645  << myCoutStream.str() << "\n"
646  << std::endl;
647 
648  myCoutStream.str("");
649  myCoutStream.clear();
650 
651  const std::vector<GlobalObjectMap> objMapVec =
652  gtObjectMapRecord->gtObjectMap();
653 
654  for (std::vector<GlobalObjectMap>::const_iterator
655  it = objMapVec.begin(); it != objMapVec.end(); ++it) {
656 
657  (*it).print(myCoutStream);
658 
659  }
660 
661 
662  LogDebug("L1TGlobalProducer")
663  << "Test gtObjectMapRecord in L1TGlobalProducer \n\n" << myCoutStream.str() << "\n\n"
664  << std::endl;
665 
666  myCoutStream.str("");
667  myCoutStream.clear();
668  }
669 
670 
671 
672 
673  // register products
675  iEvent.put(std::move(uGtAlgRecord));
676  }
677 
678 
680  iEvent.put(std::move(gtObjectMapRecord));
681  }
682 
683 
684 }
#define LogDebug(id)
unsigned long long m_l1GtParCacheID
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:122
unsigned int numberL1Jet() const
get / set the number of L1 jets received by GT
const std::vector< std::vector< int > > & prescaleTable() const
const std::vector< std::vector< EnergySumTemplate > > & vecEnergySumTemplate() const
void setGtOrderConditionChip(const std::vector< int > &)
const std::vector< unsigned int > * m_triggerMaskAlgoTrig
int m_verbosity
verbosity level
const AlgorithmMap & gtAlgorithmAliasMap() const
get / set the algorithm map (by alias)
unsigned int numberL1EG() const
get / set the number of L1 e/gamma objects received by GT
edm::EDGetTokenT< BXVector< l1t::Tau > > m_tauInputToken
bool m_produceL1GtObjectMapRecord
logical flag to produce the L1 GT object map record
int m_totalBxInEvent
total number of Bx&#39;s in the event coming from EventSetup
std::string print(const Track &, edm::Verbosity=edm::Concise)
Track print utility.
Definition: print.cc:10
unsigned int numberPhysTriggers() const
get / set the number of physics trigger algorithms
int bunchCrossing() const
Definition: EventBase.h:64
const std::vector< std::vector< ExternalTemplate > > & vecExternalTemplate() const
unsigned int m_numberPhysTriggers
const L1TGlobalParameters * m_l1GtStablePar
cached stuff
edm::EDGetTokenT< BXVector< GlobalExtBlk > > m_extInputToken
BXVector< GlobalAlgBlk > GlobalAlgBlkBxCollection
Definition: GlobalAlgBlk.h:31
std::vector< unsigned int > m_initialTriggerMaskAlgoTrig
const std::vector< int > * m_triggerMaskVetoAlgoTrig
void setGtPinsOnConditionChip(const unsigned int &)
unsigned long long m_l1GtMenuCacheID
const std::vector< int > & orderOfChip() const
const std::vector< int > & triggerMaskVeto() const
void parseCondFormats(const L1TUtmTriggerMenu *utmMenu)
std::unique_ptr< TriggerMenu > m_l1GtMenu
std::vector< std::vector< int > > m_initialPrescaleFactorsAlgoTrig
std::vector< int > m_initialTriggerMaskVetoAlgoTrig
const std::string & gtTriggerMenuName() const
def move
Definition: eostools.py:510
const std::vector< std::vector< CaloTemplate > > & corCaloTemplate() const
bool m_produceL1GtDaqRecord
logical flag to produce the L1 GT DAQ readout record
edm::EDGetTokenT< BXVector< l1t::Muon > > m_muInputToken
const std::vector< std::vector< MuonTemplate > > & corMuonTemplate() const
unsigned int numberL1Tau() const
get / set the number of L1 tau received by GT
const std::vector< std::vector< MuonTemplate > > & vecMuonTemplate() const
get / set the vectors containing the conditions
const std::vector< std::vector< EnergySumTemplate > > & corEnergySumTemplate() const
#define LogTrace(id)
unsigned int m_prescaleSet
prescale set used
const std::vector< std::vector< CorrelationTemplate > > & vecCorrelationTemplate() const
edm::EDGetTokenT< BXVector< l1t::EtSum > > m_sumInputToken
int m_L1DataBxInEvent
Bx expected in Data coming to GT.
const GlobalScales & gtScales() const
menu associated scales
const int gtTriggerMenuUUID() const
const AlgorithmMap & gtAlgorithmMap() const
get / set the algorithm map (by name)
void setGtNumberConditionChips(const unsigned int &)
const T & get() const
Definition: EventSetup.h:56
T const * product() const
Definition: ESHandle.h:86
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
int totalBxInEvent() const
get / set the number of bx in hardware
const l1t::PrescalesVetosHelper * m_l1GtPrescalesVetoes
prescale factors
tuple cout
Definition: gather_cfg.py:145
const std::vector< std::vector< CaloTemplate > > & vecCaloTemplate() const
const std::vector< std::vector< int > > * m_prescaleFactorsAlgoTrig
unsigned long long m_l1GtPfAlgoCacheID
const std::string & gtTriggerMenuInterface() const
get / set the trigger menu names
std::unique_ptr< l1t::GlobalBoard > m_uGtBrd
unsigned int numberL1Mu() const
get / set the number of L1 muons received by GT
const std::string & gtScaleDbKey() const
menu associated scale key
unsigned int pinsOnChip() const
get / set the number of pins on the GTL condition chips
const unsigned long gtTriggerMenuImplementation() const
edm::EDGetTokenT< BXVector< l1t::Jet > > m_jetInputToken
unsigned int numberChips() const
get / set the number of condition chips in GTL
edm::EDGetTokenT< BXVector< l1t::EGamma > > m_egInputToken
void setGtNumberPhysTriggers(const unsigned int &)

Member Data Documentation

uint16_t L1TGlobalProducer::m_activeBoardsGtDaq
private

active boards in L1 GT DAQ record

Definition at line 83 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer().

bool L1TGlobalProducer::m_algorithmTriggersUnmasked
private

if true, unmasked - all enabled (all trigger masks set to 0) will overwrite the event setup

Definition at line 170 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

bool L1TGlobalProducer::m_algorithmTriggersUnprescaled
private

run algorithm triggers if true, unprescaled (all prescale factors 1) will overwrite the event setup

Definition at line 166 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

unsigned int L1TGlobalProducer::m_alternativeNrBxBoardDaq
private

alternative for number of BX per active board in GT DAQ record: 0 or 1 the position is identical with the active board bit

Definition at line 155 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer().

unsigned int L1TGlobalProducer::m_bstLengthBytes
private

length of BST record (in bytes) from event setup

Definition at line 86 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer().

edm::InputTag L1TGlobalProducer::m_egInputTag
private

input tag for calorimeter collections from GCT

Definition at line 122 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer().

edm::EDGetTokenT<BXVector<l1t::EGamma> > L1TGlobalProducer::m_egInputToken
private

Definition at line 126 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

int L1TGlobalProducer::m_emulateBxInEvent
private

number of "bunch crossing in the event" (BxInEvent) to be emulated symmetric around L1Accept (BxInEvent = 0): 1 (BxInEvent = 0); 3 (F 0 1) (standard record); 5 (E F 0 1 2) (debug record) even numbers (except 0) "rounded" to the nearest lower odd number

Definition at line 148 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

edm::InputTag L1TGlobalProducer::m_extInputTag
private

input tag for external conditions

Definition at line 132 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer().

edm::EDGetTokenT<BXVector<GlobalExtBlk> > L1TGlobalProducer::m_extInputToken
private

Definition at line 133 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

int L1TGlobalProducer::m_ifCaloEtaNumberBits
private

Definition at line 77 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer().

int L1TGlobalProducer::m_ifMuEtaNumberBits
private

Definition at line 76 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer().

std::vector<std::vector<int> > L1TGlobalProducer::m_initialPrescaleFactorsAlgoTrig
private

Definition at line 97 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

std::vector<unsigned int> L1TGlobalProducer::m_initialTriggerMaskAlgoTrig
private

Definition at line 110 of file L1TGlobalProducer.h.

Referenced by produce().

std::vector<int> L1TGlobalProducer::m_initialTriggerMaskVetoAlgoTrig
private

Definition at line 113 of file L1TGlobalProducer.h.

Referenced by produce().

bool L1TGlobalProducer::m_isDebugEnabled
private

Definition at line 175 of file L1TGlobalProducer.h.

Referenced by produce().

edm::InputTag L1TGlobalProducer::m_jetInputTag
private

Definition at line 124 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer().

edm::EDGetTokenT<BXVector<l1t::Jet> > L1TGlobalProducer::m_jetInputToken
private

Definition at line 128 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

int L1TGlobalProducer::m_L1DataBxInEvent
private

Bx expected in Data coming to GT.

Definition at line 151 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

const L1GtBoardMaps* L1TGlobalProducer::m_l1GtBM
private

board maps - cache only the record

Definition at line 89 of file L1TGlobalProducer.h.

unsigned long long L1TGlobalProducer::m_l1GtBMCacheID
private

Definition at line 90 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer().

std::unique_ptr<TriggerMenu> L1TGlobalProducer::m_l1GtMenu
private

Definition at line 59 of file L1TGlobalProducer.h.

Referenced by produce().

unsigned long long L1TGlobalProducer::m_l1GtMenuCacheID
private

Definition at line 60 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

unsigned long long L1TGlobalProducer::m_l1GtParCacheID
private

Definition at line 56 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

unsigned long long L1TGlobalProducer::m_l1GtPfAlgoCacheID
private

Definition at line 94 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

const l1t::PrescalesVetosHelper* L1TGlobalProducer::m_l1GtPrescalesVetoes
private

prescale factors

Definition at line 93 of file L1TGlobalProducer.h.

Referenced by produce().

const L1TGlobalParameters* L1TGlobalProducer::m_l1GtStablePar
private

cached stuff

stable parameters

Definition at line 55 of file L1TGlobalProducer.h.

Referenced by produce().

const L1GtTriggerMask* L1TGlobalProducer::m_l1GtTmAlgo
private

trigger masks & veto masks

Definition at line 103 of file L1TGlobalProducer.h.

unsigned long long L1TGlobalProducer::m_l1GtTmAlgoCacheID
private

Definition at line 104 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer().

const L1GtTriggerMask* L1TGlobalProducer::m_l1GtTmVetoAlgo
private

Definition at line 106 of file L1TGlobalProducer.h.

unsigned long long L1TGlobalProducer::m_l1GtTmVetoAlgoCacheID
private

Definition at line 107 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer().

edm::InputTag L1TGlobalProducer::m_muInputTag
private

input tag for muon collection from GMT

Definition at line 118 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer().

edm::EDGetTokenT<BXVector<l1t::Muon> > L1TGlobalProducer::m_muInputToken
private

Definition at line 119 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

int L1TGlobalProducer::m_nrL1EG
private

Definition at line 70 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

int L1TGlobalProducer::m_nrL1Jet
private

Definition at line 73 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

int L1TGlobalProducer::m_nrL1Mu
private

Definition at line 69 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

int L1TGlobalProducer::m_nrL1Tau
private

Definition at line 71 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

unsigned int L1TGlobalProducer::m_numberDaqPartitions
private

Definition at line 66 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer().

unsigned int L1TGlobalProducer::m_numberPhysTriggers
private

Definition at line 63 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

const std::vector<std::vector<int> >* L1TGlobalProducer::m_prescaleFactorsAlgoTrig
private

Definition at line 96 of file L1TGlobalProducer.h.

Referenced by produce().

unsigned int L1TGlobalProducer::m_prescaleSet
private

prescale set used

Definition at line 161 of file L1TGlobalProducer.h.

Referenced by produce().

std::string L1TGlobalProducer::m_prescalesFile
private

CSV file for prescales.

Definition at line 100 of file L1TGlobalProducer.h.

bool L1TGlobalProducer::m_printL1Menu
private

Definition at line 174 of file L1TGlobalProducer.h.

Referenced by produce().

bool L1TGlobalProducer::m_produceL1GtDaqRecord
private

logical flag to produce the L1 GT DAQ readout record

Definition at line 136 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

bool L1TGlobalProducer::m_produceL1GtObjectMapRecord
private

logical flag to produce the L1 GT object map record

Definition at line 139 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

int L1TGlobalProducer::m_psBstLengthBytes
private

length of BST record (in bytes) from parameter set

Definition at line 158 of file L1TGlobalProducer.h.

edm::InputTag L1TGlobalProducer::m_sumInputTag
private

Definition at line 125 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer().

edm::EDGetTokenT<BXVector<l1t::EtSum> > L1TGlobalProducer::m_sumInputToken
private

Definition at line 129 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

edm::InputTag L1TGlobalProducer::m_tauInputTag
private

Definition at line 123 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer().

edm::EDGetTokenT<BXVector<l1t::Tau> > L1TGlobalProducer::m_tauInputToken
private

Definition at line 127 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

int L1TGlobalProducer::m_totalBxInEvent
private

total number of Bx's in the event coming from EventSetup

Definition at line 80 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

const std::vector<unsigned int>* L1TGlobalProducer::m_triggerMaskAlgoTrig
private

Definition at line 109 of file L1TGlobalProducer.h.

Referenced by produce().

const std::vector<int>* L1TGlobalProducer::m_triggerMaskVetoAlgoTrig
private

Definition at line 112 of file L1TGlobalProducer.h.

Referenced by produce().

std::unique_ptr<l1t::GlobalBoard> L1TGlobalProducer::m_uGtBrd
private

Definition at line 115 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

int L1TGlobalProducer::m_verbosity
private

verbosity level

Definition at line 173 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), and produce().

bool L1TGlobalProducer::m_writePsbL1GtDaqRecord
private

logical flag to write the PSB content in the L1 GT DAQ record

Definition at line 142 of file L1TGlobalProducer.h.