test
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)
 
 ProducerBase ()
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription
const &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
virtual ~ProducerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (std::string const &iProcessName, std::string const &iModuleLabel, bool iPrint, std::vector< char const * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

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
 
const 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
 
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, m_verbosity, and l1t::GlobalBoard::setVerbosity().

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 = new GlobalBoard();
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
void setVerbosity(const int verbosity)
Definition: GlobalBoard.h:210
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.
l1t::GlobalBoard * m_uGtBrd
unsigned long long m_l1GtBMCacheID
unsigned int m_bstLengthBytes
length of BST record (in bytes) from event setup
unsigned long long m_l1GtPfAlgoCacheID
edm::EDGetTokenT< BXVector< l1t::Jet > > m_jetInputToken
edm::EDGetTokenT< BXVector< l1t::EGamma > > m_egInputToken
L1TGlobalProducer::~L1TGlobalProducer ( )

Definition at line 233 of file L1TGlobalProducer.cc.

References m_uGtBrd.

234 {
235 
236  delete m_uGtBrd;
237 
238 }
l1t::GlobalBoard * m_uGtBrd

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_25ns10e33_v2_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 243 of file L1TGlobalProducer.cc.

References edm::EventBase::bunchCrossing(), l1t::TriggerMenuParser::corCaloTemplate(), l1t::TriggerMenuParser::corEnergySumTemplate(), l1t::TriggerMenuParser::corMuonTemplate(), gather_cfg::cout, data, TauDecayModes::dec, l1t::GlobalBoard::fillAlgRecord(), edm::EventSetup::get(), l1t::TriggerMenuParser::gtAlgorithmAliasMap(), l1t::TriggerMenuParser::gtAlgorithmMap(), l1t::TriggerMenuParser::gtScaleDbKey(), l1t::TriggerMenuParser::gtScales(), TriggerMenu::gtTriggerMenuImplementation(), l1t::TriggerMenuParser::gtTriggerMenuImplementation(), l1t::TriggerMenuParser::gtTriggerMenuInterface(), l1t::TriggerMenuParser::gtTriggerMenuName(), TriggerMenu::gtTriggerMenuUUID(), l1t::TriggerMenuParser::gtTriggerMenuUUID(), l1t::GlobalBoard::init(), 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, 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(), TriggerMenu::print(), edm::ESHandle< class >::product(), edm::Event::put(), l1t::GlobalBoard::receiveCaloObjectData(), l1t::GlobalBoard::receiveExternalData(), l1t::GlobalBoard::receiveMuonObjectData(), l1t::GlobalBoard::reset(), l1t::GlobalBoard::runFDL(), l1t::GlobalBoard::runGTL(), l1t::TriggerMenuParser::setGtNumberConditionChips(), l1t::TriggerMenuParser::setGtNumberPhysTriggers(), l1t::TriggerMenuParser::setGtOrderConditionChip(), l1t::TriggerMenuParser::setGtPinsOnConditionChip(), l1t::GlobalParamsHelper::totalBxInEvent(), l1t::PrescalesVetosHelper::triggerMaskVeto(), TriggerMenu_cff::TriggerMenu, relativeConstraints::value, l1t::TriggerMenuParser::vecCaloTemplate(), l1t::TriggerMenuParser::vecCorrelationTemplate(), l1t::TriggerMenuParser::vecEnergySumTemplate(), l1t::TriggerMenuParser::vecExternalTemplate(), and l1t::TriggerMenuParser::vecMuonTemplate().

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

const 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().

l1t::GlobalBoard* L1TGlobalProducer::m_uGtBrd
private

Definition at line 115 of file L1TGlobalProducer.h.

Referenced by L1TGlobalProducer(), produce(), and ~L1TGlobalProducer().

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.