CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
L1DummyProducer Class Reference

#include <L1DummyProducer.h>

Inheritance diagram for L1DummyProducer:
edm::EDProducer edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 L1DummyProducer (const edm::ParameterSet &)
 
template<>
void SimpleDigi (CLHEP::HepRandomEngine *, std::unique_ptr< LTCDigiCollection > &data, int type)
 
template<class T >
void SimpleDigi (CLHEP::HepRandomEngine *, std::unique_ptr< T > &data, int type=0)
 
template<>
void SimpleDigi (CLHEP::HepRandomEngine *engine, std::unique_ptr< CSCCorrelatedLCTDigiCollection > &data, int type)
 
template<>
void SimpleDigi (CLHEP::HepRandomEngine *engine, std::unique_ptr< EcalTrigPrimDigiCollection > &data, int type)
 
template<>
void SimpleDigi (CLHEP::HepRandomEngine *engine, std::unique_ptr< HcalTrigPrimDigiCollection > &data, int type)
 
template<>
void SimpleDigi (CLHEP::HepRandomEngine *engine, std::unique_ptr< L1CaloEmCollection > &data, int type)
 
template<>
void SimpleDigi (CLHEP::HepRandomEngine *engine, std::unique_ptr< L1CaloRegionCollection > &data, int type)
 
template<>
void SimpleDigi (CLHEP::HepRandomEngine *engine, std::unique_ptr< L1CSCTrackCollection > &data, int type)
 
template<>
void SimpleDigi (CLHEP::HepRandomEngine *engine, std::unique_ptr< L1GctEmCandCollection > &data, int type)
 
template<>
void SimpleDigi (CLHEP::HepRandomEngine *engine, std::unique_ptr< L1GctJetCandCollection > &data, int type)
 
template<>
void SimpleDigi (CLHEP::HepRandomEngine *engine, std::unique_ptr< L1MuDTChambPhContainer > &data, int type)
 
template<>
void SimpleDigi (CLHEP::HepRandomEngine *engine, std::unique_ptr< L1MuDTChambThContainer > &data, int type)
 
template<>
void SimpleDigi (CLHEP::HepRandomEngine *engine, std::unique_ptr< L1MuDTTrackContainer > &data, int type)
 
template<>
void SimpleDigi (CLHEP::HepRandomEngine *engine, std::unique_ptr< L1MuGMTCandCollection > &data, int type)
 
template<>
void SimpleDigi (CLHEP::HepRandomEngine *engine, std::unique_ptr< L1MuGMTReadoutCollection > &data, int type)
 
template<>
void SimpleDigi (CLHEP::HepRandomEngine *engine, std::unique_ptr< L1MuRegionalCandCollection > &data, int type)
 
 ~L1DummyProducer () override
 
- Public Member Functions inherited from edm::EDProducer
 EDProducer ()
 
SerialTaskQueueglobalLuminosityBlocksQueue ()
 
SerialTaskQueueglobalRunsQueue ()
 
ModuleDescription const & moduleDescription () const
 
 ~EDProducer () override
 
- 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 ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
std::vector< bool > const & recordProvenanceList () const
 
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, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
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 & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const * > *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

void beginJob (void) override
 
void endJob () override
 
void produce (edm::Event &, const edm::EventSetup &) override
 
int verbose ()
 

Private Attributes

double EBase_
 
double ESigm_
 
std::string instName [dedefs::DEnsys][5]
 
bool m_doSys [dedefs::DEnsys]
 
int nevt_
 
int verbose_
 

Additional Inherited Members

- Public Types inherited from edm::EDProducer
typedef EDProducer ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > >
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::EDProducer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
static bool wantsGlobalLuminosityBlocks ()
 
static bool wantsGlobalRuns ()
 
static bool wantsInputProcessBlocks ()
 
static bool wantsProcessBlocks ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 
- Protected Member Functions inherited from edm::ProducerBase
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 declare what type of product will make and with which optional label More...
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
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 ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 

Detailed Description

Definition at line 39 of file L1DummyProducer.h.

Constructor & Destructor Documentation

◆ L1DummyProducer()

L1DummyProducer::L1DummyProducer ( const edm::ParameterSet iConfig)
explicit

assertions/temporary

list of collections to be produced

rnd # settings

Definition at line 9 of file L1DummyProducer.cc.

9  {
10  verbose_ = iConfig.getUntrackedParameter<int>("VerboseFlag", 0);
11 
12  if (verbose())
13  std::cout << "L1DummyProducer::L1DummyProducer...\n" << std::flush;
14 
15  std::vector<unsigned int> compColls = iConfig.getUntrackedParameter<std::vector<unsigned int> >("DO_SYSTEM");
16 
17  for (int i = 0; i < DEnsys; i++)
18  m_doSys[i] = compColls[i];
19 
20  if (verbose()) {
21  std::cout << "[L1DummyProducer] do sys? ";
22  for (int i = 0; i < DEnsys; i++)
23  std::cout << m_doSys[i];
24  std::cout << std::endl;
25  for (int i = 0; i < DEnsys; i++)
26  if (m_doSys[i])
27  std::cout << SystLabel[i] << " ";
28  std::cout << std::endl;
29  }
30 
31  std::string CollInstName[DEnsys][5];
32  for (int i = 0; i < DEnsys; i++)
33  for (int j = 0; j < 5; j++)
34  CollInstName[i][j] = std::string("");
35 
36  CollInstName[GCT][0] += "isoEm";
37  CollInstName[GCT][1] += "nonIsoEm";
38  CollInstName[GCT][2] += "cenJets";
39  CollInstName[GCT][3] += "forJets";
40  CollInstName[GCT][4] += "tauJets";
41  CollInstName[DTF][0] += "DT";
42  CollInstName[DTF][1] += "DTTF";
43  CollInstName[CTF][0] += "CSC";
44  CollInstName[CTF][1] += "";
45  CollInstName[RPC][0] += "RPCb";
46  CollInstName[RPC][1] += "RPCf";
47 
48  for (int i = 0; i < DEnsys; i++)
49  for (int j = 0; j < 5; j++)
50  instName[i][j] = CollInstName[i][j];
51 
52  if (verbose()) {
53  std::cout << "[L1DummyProducer] instName:\n";
54  for (int i = 0; i < DEnsys; i++)
55  for (int j = 0; j < 5; j++)
56  if (!instName[i][j].empty())
57  std::cout << i << " " << SystLabel[i] << " " << j << " " << instName[i][j] << std::endl;
58  std::cout << std::flush;
59  }
60 
62  assert(ETP == 0);
63  assert(HTP == 1);
64  assert(RCT == 2);
65  assert(GCT == 3);
66  assert(DTP == 4);
67  assert(DTF == 5);
68  assert(CTP == 6);
69  assert(CTF == 7);
70  assert(RPC == 8);
71  assert(LTC == 9);
72  assert(GMT == 10);
73  assert(GLT == 11);
74 
76  if (m_doSys[ETP])
77  produces<EcalTrigPrimDigiCollection>(instName[ETP][0]);
78  if (m_doSys[HTP])
79  produces<HcalTrigPrimDigiCollection>(instName[HTP][0]);
80  if (m_doSys[RCT])
81  produces<L1CaloEmCollection>(instName[RCT][0]);
82  if (m_doSys[RCT])
83  produces<L1CaloRegionCollection>(instName[RCT][0]);
84  if (m_doSys[GCT])
85  produces<L1GctEmCandCollection>(instName[GCT][0]);
86  if (m_doSys[GCT])
87  produces<L1GctEmCandCollection>(instName[GCT][1]);
88  if (m_doSys[GCT])
89  produces<L1GctJetCandCollection>(instName[GCT][2]);
90  if (m_doSys[GCT])
91  produces<L1GctJetCandCollection>(instName[GCT][3]);
92  if (m_doSys[GCT])
93  produces<L1GctJetCandCollection>(instName[GCT][4]);
94  if (m_doSys[DTP])
95  produces<L1MuDTChambPhContainer>(instName[DTP][0]);
96  if (m_doSys[DTP])
97  produces<L1MuDTChambThContainer>(instName[DTP][0]);
98  if (m_doSys[DTF])
99  produces<L1MuRegionalCandCollection>(instName[DTF][0]);
100  if (m_doSys[DTF])
101  produces<L1MuDTTrackContainer>(instName[DTF][1]);
102  if (m_doSys[CTP])
103  produces<CSCCorrelatedLCTDigiCollection>(instName[CTP][0]);
104  if (m_doSys[CTF])
105  produces<L1MuRegionalCandCollection>(instName[CTF][0]);
106  if (m_doSys[CTF])
107  produces<L1CSCTrackCollection>(instName[CTF][1]);
108  if (m_doSys[RPC])
109  produces<L1MuRegionalCandCollection>(instName[RPC][0]);
110  if (m_doSys[RPC])
111  produces<L1MuRegionalCandCollection>(instName[RPC][1]);
112  if (m_doSys[LTC])
113  produces<LTCDigiCollection>(instName[LTC][0]);
114  if (m_doSys[GMT])
115  produces<L1MuGMTCandCollection>(instName[GMT][0]);
116  if (m_doSys[GMT])
117  produces<L1MuGMTReadoutCollection>(instName[GMT][0]);
118  if (m_doSys[GLT])
119  produces<L1GlobalTriggerReadoutRecord>(instName[GLT][0]);
120  if (m_doSys[GLT])
121  produces<L1GlobalTriggerEvmReadoutRecord>(instName[GLT][0]);
122  if (m_doSys[GLT])
123  produces<L1GlobalTriggerObjectMapRecord>(instName[GLT][0]);
124 
127  if (!rng.isAvailable()) {
128  throw cms::Exception("Configuration")
129  << "L1DummyProducer requires the RandomNumberGeneratorService\n"
130  "which is not present in the configuration file. You must add the service\n"
131  "in the configuration file or remove the modules that require it.";
132  }
133  EBase_ = iConfig.getUntrackedParameter<double>("EnergyBase", 100.);
134  ESigm_ = iConfig.getUntrackedParameter<double>("EnergySigm", 10.);
135 
136  nevt_ = 0;
137 }

References cms::cuda::assert(), gather_cfg::cout, dedefs::CTF, dedefs::CTP, dedefs::DEnsys, dedefs::DTF, dedefs::DTP, relativeConstraints::empty, dedefs::ETP, Exception, dedefs::GCT, edm::ParameterSet::getUntrackedParameter(), dedefs::GLT, dedefs::GMT, dedefs::HTP, mps_fire::i, edm::Service< T >::isAvailable(), dqmiolumiharvest::j, dedefs::LTC, dedefs::RCT, dedefs::RPC, AlCaHLTBitMon_QueryRunRegistry::string, dedefs::SystLabel, and verbose.

◆ ~L1DummyProducer()

L1DummyProducer::~L1DummyProducer ( )
override

Definition at line 139 of file L1DummyProducer.cc.

139 {}

Member Function Documentation

◆ beginJob()

void L1DummyProducer::beginJob ( void  )
inlineoverrideprivatevirtual

Reimplemented from edm::EDProducer.

Definition at line 45 of file L1DummyProducer.h.

45 {};

◆ endJob()

void L1DummyProducer::endJob ( void  )
inlineoverrideprivatevirtual

Reimplemented from edm::EDProducer.

Definition at line 48 of file L1DummyProducer.h.

48 {};

◆ produce()

void L1DummyProducer::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

define the data collections

fill candidate collections

put collection

Implements edm::EDProducer.

Definition at line 141 of file L1DummyProducer.cc.

141  {
143  CLHEP::HepRandomEngine* engine = &rng->getEngine(iEvent.streamID());
144 
145  if (verbose())
146  std::cout << "L1DummyProducer::produce...\n" << std::flush;
147 
149  std::unique_ptr<EcalTrigPrimDigiCollection> ecal_tp_data(new EcalTrigPrimDigiCollection);
150  std::unique_ptr<HcalTrigPrimDigiCollection> hcal_tp_data(new HcalTrigPrimDigiCollection);
151  std::unique_ptr<L1CaloEmCollection> rct_em_data(new L1CaloEmCollection);
152  std::unique_ptr<L1CaloRegionCollection> rct_rgn_data(new L1CaloRegionCollection);
153  std::unique_ptr<L1GctEmCandCollection> gct_isolaem_data(new L1GctEmCandCollection);
154  std::unique_ptr<L1GctEmCandCollection> gct_noisoem_data(new L1GctEmCandCollection);
155  std::unique_ptr<L1GctJetCandCollection> gct_cenjets_data(new L1GctJetCandCollection);
156  std::unique_ptr<L1GctJetCandCollection> gct_forjets_data(new L1GctJetCandCollection);
157  std::unique_ptr<L1GctJetCandCollection> gct_taujets_data(new L1GctJetCandCollection);
158  std::unique_ptr<L1MuDTChambPhContainer> dtp_ph_data(new L1MuDTChambPhContainer);
159  std::unique_ptr<L1MuDTChambThContainer> dtp_th_data(new L1MuDTChambThContainer);
160  std::unique_ptr<L1MuRegionalCandCollection> dtf_data(new L1MuRegionalCandCollection);
161  std::unique_ptr<L1MuDTTrackContainer> dtf_trk_data(new L1MuDTTrackContainer);
162  std::unique_ptr<CSCCorrelatedLCTDigiCollection> ctp_data(new CSCCorrelatedLCTDigiCollection);
163  std::unique_ptr<L1MuRegionalCandCollection> ctf_data(new L1MuRegionalCandCollection);
164  std::unique_ptr<L1CSCTrackCollection> ctf_trk_data(new L1CSCTrackCollection);
165  std::unique_ptr<L1MuRegionalCandCollection> rpc_cen_data(new L1MuRegionalCandCollection);
166  std::unique_ptr<L1MuRegionalCandCollection> rpc_for_data(new L1MuRegionalCandCollection);
167  std::unique_ptr<LTCDigiCollection> ltc_data(new LTCDigiCollection);
168  std::unique_ptr<L1MuGMTCandCollection> gmt_data(new L1MuGMTCandCollection);
169  std::unique_ptr<L1MuGMTReadoutCollection> gmt_rdt_data(new L1MuGMTReadoutCollection);
170  std::unique_ptr<L1GlobalTriggerReadoutRecord> glt_rdt_data(new L1GlobalTriggerReadoutRecord);
171  std::unique_ptr<L1GlobalTriggerEvmReadoutRecord> glt_evm_data(new L1GlobalTriggerEvmReadoutRecord);
172  std::unique_ptr<L1GlobalTriggerObjectMapRecord> glt_obj_data(new L1GlobalTriggerObjectMapRecord);
173 
175  if (m_doSys[ETP])
176  SimpleDigi(engine, ecal_tp_data);
177  if (m_doSys[HTP])
178  SimpleDigi(engine, hcal_tp_data);
179  if (m_doSys[RCT])
180  SimpleDigi(engine, rct_em_data);
181  if (m_doSys[RCT])
182  SimpleDigi(engine, rct_rgn_data);
183  if (m_doSys[GCT])
184  SimpleDigi(engine, gct_isolaem_data, 0);
185  if (m_doSys[GCT])
186  SimpleDigi(engine, gct_noisoem_data, 1);
187  if (m_doSys[GCT])
188  SimpleDigi(engine, gct_cenjets_data, 0);
189  if (m_doSys[GCT])
190  SimpleDigi(engine, gct_forjets_data, 1);
191  if (m_doSys[GCT])
192  SimpleDigi(engine, gct_taujets_data, 2);
193  if (m_doSys[DTP])
194  SimpleDigi(engine, dtp_ph_data);
195  if (m_doSys[DTP])
196  SimpleDigi(engine, dtp_th_data);
197  if (m_doSys[DTF])
198  SimpleDigi(engine, dtf_data, 0);
199  if (m_doSys[DTF])
200  SimpleDigi(engine, dtf_trk_data);
201  if (m_doSys[CTP])
202  SimpleDigi(engine, ctp_data);
203  if (m_doSys[CTF])
204  SimpleDigi(engine, ctf_data, 2);
205  if (m_doSys[CTF])
206  SimpleDigi(engine, ctf_trk_data);
207  if (m_doSys[RPC])
208  SimpleDigi(engine, rpc_cen_data, 1);
209  if (m_doSys[RPC])
210  SimpleDigi(engine, rpc_for_data, 3);
211  if (m_doSys[LTC])
212  SimpleDigi(engine, ltc_data);
213  if (m_doSys[GMT])
214  SimpleDigi(engine, gmt_data);
215  if (m_doSys[GMT])
216  SimpleDigi(engine, gmt_rdt_data);
217  if (m_doSys[GLT])
218  SimpleDigi(engine, glt_rdt_data);
219  if (m_doSys[GLT])
220  SimpleDigi(engine, glt_evm_data);
221  if (m_doSys[GLT])
222  SimpleDigi(engine, glt_obj_data);
223 
225  if (m_doSys[ETP])
226  iEvent.put(std::move(ecal_tp_data), instName[ETP][0]);
227  if (m_doSys[HTP])
228  iEvent.put(std::move(hcal_tp_data), instName[HTP][0]);
229  if (m_doSys[RCT])
230  iEvent.put(std::move(rct_em_data), instName[RCT][0]);
231  if (m_doSys[RCT])
232  iEvent.put(std::move(rct_rgn_data), instName[RCT][0]);
233  if (m_doSys[GCT])
234  iEvent.put(std::move(gct_isolaem_data), instName[GCT][0]);
235  if (m_doSys[GCT])
236  iEvent.put(std::move(gct_noisoem_data), instName[GCT][1]);
237  if (m_doSys[GCT])
238  iEvent.put(std::move(gct_cenjets_data), instName[GCT][2]);
239  if (m_doSys[GCT])
240  iEvent.put(std::move(gct_forjets_data), instName[GCT][3]);
241  if (m_doSys[GCT])
242  iEvent.put(std::move(gct_taujets_data), instName[GCT][4]);
243  if (m_doSys[DTP])
244  iEvent.put(std::move(dtp_ph_data), instName[DTP][0]);
245  if (m_doSys[DTP])
246  iEvent.put(std::move(dtp_th_data), instName[DTP][0]);
247  if (m_doSys[DTF])
248  iEvent.put(std::move(dtf_data), instName[DTF][0]);
249  if (m_doSys[DTF])
250  iEvent.put(std::move(dtf_trk_data), instName[DTF][1]);
251  if (m_doSys[CTP])
252  iEvent.put(std::move(ctp_data), instName[CTP][0]);
253  if (m_doSys[CTF])
254  iEvent.put(std::move(ctf_data), instName[CTF][0]);
255  if (m_doSys[CTF])
256  iEvent.put(std::move(ctf_trk_data), instName[CTF][1]);
257  if (m_doSys[RPC])
258  iEvent.put(std::move(rpc_cen_data), instName[RPC][0]);
259  if (m_doSys[RPC])
260  iEvent.put(std::move(rpc_for_data), instName[RPC][1]);
261  if (m_doSys[LTC])
262  iEvent.put(std::move(ltc_data), instName[LTC][0]);
263  if (m_doSys[GMT])
264  iEvent.put(std::move(gmt_data), instName[GMT][0]);
265  if (m_doSys[GMT])
266  iEvent.put(std::move(gmt_rdt_data), instName[GMT][0]);
267  if (m_doSys[GLT])
268  iEvent.put(std::move(glt_rdt_data), instName[GLT][0]);
269  if (m_doSys[GLT])
270  iEvent.put(std::move(glt_evm_data), instName[GLT][0]);
271  if (m_doSys[GLT])
272  iEvent.put(std::move(glt_obj_data), instName[GLT][0]);
273 
274  nevt_++;
275 
276  if (verbose())
277  std::cout << "L1DummyProducer::produce end.\n" << std::flush;
278 }

References gather_cfg::cout, dedefs::CTF, dedefs::CTP, dedefs::DTF, dedefs::DTP, dedefs::ETP, dedefs::GCT, edm::RandomNumberGenerator::getEngine(), dedefs::GLT, dedefs::GMT, dedefs::HTP, iEvent, dedefs::LTC, eostools::move(), dedefs::RCT, dedefs::RPC, and verbose.

◆ SimpleDigi() [1/16]

template<>
void L1DummyProducer::SimpleDigi ( CLHEP::HepRandomEngine *  ,
std::unique_ptr< LTCDigiCollection > &  data,
int  type 
)
inline

Definition at line 447 of file L1DummyProducer.h.

447  {
448  if (verbose())
449  std::cout << "L1DummyProducer::SimpleDigi<LTCDigiCollection>....\n" << std::flush;
450  //LTCs are FED id 816-823
451  /*
452  6 64-bit words
453  uint64_t *ld = (uint64_t*)data;
454 
455  word0: 59:56 4 bit ld[0]>>56 & 0xf trigType
456  55:32 24 bit ld[0]>>32 & 0x00ffffff eventID
457  31:20 12 bit ld[0]>>20 & 0xfff bunchNumber
458  19: 8 12 bit ld[0]>> 8 & 0x00000fff sourceID (816-823?)
459 
460  word1: 63:32 32 bit ld[1]>>32 & 0xffffffff orbitNumber
461  31:24 8 bit ld[1]>>24 & 0xff versionNumber
462  3: 0 4 bit ld[1 & 0xf daqPartition
463 
464  word2: 63:32 32 bit ld[0]>>32 & 0xffffffff runNumber
465  31: 0 32 bit ld[0] & 0xffffffff eventNumber
466 
467  word3: 63:32 32 bit ld[3]>>32 & 0xffffffff trigInhibitNumber
468  31: 0 32 bit ld[3] & 0xffffffff trigInputStat
469 
470  word4: 63:0 64 bit ld[4] bstGpsTime
471 
472  word5: (empty)
473  */
474  //need to make up something meaningfull to produce here..
475  //LTCDigi(const unsigned char* data);
476  if (verbose())
477  std::cout << "L1DummyProducer::SimpleDigi<LTCDigiCollection> end.\n" << std::flush;
478 }

References gather_cfg::cout, and verbose().

◆ SimpleDigi() [2/16]

template<class T >
void L1DummyProducer::SimpleDigi ( CLHEP::HepRandomEngine *  ,
std::unique_ptr< T > &  data,
int  type = 0 
)

Definition at line 67 of file L1DummyProducer.h.

67  {
68  /*collections generated in specializations below*/
69 }

Referenced by SimpleDigi().

◆ SimpleDigi() [3/16]

template<>
void L1DummyProducer::SimpleDigi ( CLHEP::HepRandomEngine *  engine,
std::unique_ptr< CSCCorrelatedLCTDigiCollection > &  data,
int  type 
)
inline

Definition at line 481 of file L1DummyProducer.h.

483  {
484  if (verbose())
485  std::cout << "L1DummyProducer::SimpleDigi<CSCCorrelatedLCTDigiCollection>....\n" << std::flush;
486  //typedef MuonDigiCollection<CSCDetId,CSCCorrelatedLCTDigi> CSCCorrelatedLCTDigiCollection;
487  //CSCCorrelatedLCTDigi(const int trknmb, const int valid, const int quality, const int keywire, const int strip, const int clct_pattern, const int bend, const int bx, const int& mpclink = 0, const uint16_t & bx0=0, const uint16_t & syncErr = 0, const uint16_t & cscID=0);
489  //tbd: set non-trivial random values
490  dg.clear(); // set contents to zero
491  //CSCDetId( int iendcap, int istation, int iring, int ichamber, int ilayer = 0 );
492  enum eMinNum { MIN_ENDCAP = 1, MIN_STATION = 1, MIN_RING = 1, MIN_CHAMBER = 1, MIN_LAYER = 1 };
493  enum eMaxNum { MAX_ENDCAP = 2, MAX_STATION = 4, MAX_RING = 4, MAX_CHAMBER = 36, MAX_LAYER = 6 };
494  float rnd = engine->flat();
495  int ec = (int)(MIN_ENDCAP + (MAX_ENDCAP - MIN_ENDCAP) * rnd + 1);
496  int st = (int)(MIN_STATION + (MAX_STATION - MIN_STATION) * rnd + 1);
497  int rg = (int)(MIN_RING + (MAX_RING - MIN_RING) * rnd + 1);
498  int ch = (int)(MIN_CHAMBER + (MAX_CHAMBER - MIN_CHAMBER) * rnd + 1);
499  int lr = (int)(MIN_LAYER + (MAX_LAYER - MIN_LAYER) * rnd + 1);
500  CSCDetId did = CSCDetId(ec, st, rg, ch, lr);
501  //CSCDetId did = CSCDetId(); //DetId(DetId::Muon, MuonSubdetId::CSC)
502  //MuonDigiCollection::insertDigi(const IndexType& index, const DigiType& digi)
503  data->insertDigi(did, dg);
504  if (verbose())
505  std::cout << "L1DummyProducer::SimpleDigi<CSCCorrelatedLCTDigiCollection> end.\n" << std::flush;
506 }

References CSCCorrelatedLCTDigi::clear(), gather_cfg::cout, data, createfilelist::int, emtf::MAX_ENDCAP, emtf::MIN_ENDCAP, and verbose().

◆ SimpleDigi() [4/16]

template<>
void L1DummyProducer::SimpleDigi ( CLHEP::HepRandomEngine *  engine,
std::unique_ptr< EcalTrigPrimDigiCollection > &  data,
int  type 
)
inline

Definition at line 72 of file L1DummyProducer.h.

74  {
75  if (verbose())
76  std::cout << "L1DummyProducer::SimpleDigi<EcalTrigPrimDigiCollection>....\n" << std::flush;
77  int side = (engine->flat() > 0.5) ? -1 : 1;
78  int ieta = (int)(1 + 17 * engine->flat()); //1-17
79  int iphi = (int)(1 + 72 * engine->flat()); //1-72
80  const EcalTrigTowerDetId e_id(side, EcalBarrel, ieta, iphi, 0);
81  EcalTriggerPrimitiveDigi e_digi(e_id);
82  int energy = (int)(EBase_ + ESigm_ * CLHEP::RandGaussQ::shoot(engine));
83  bool fg = (engine->flat() > 0.5);
84  int ttf = (int)(8 * engine->flat()); //0-7
85  EcalTriggerPrimitiveSample e_sample(energy, fg, ttf);
86  e_digi.setSize(1); //set sampleOfInterest to 0
87  e_digi.setSample(0, e_sample);
88  data->push_back(e_digi);
89  //EcalTriggerPrimitiveSample(int encodedEt, bool finegrain, int triggerFlag);
90  //const EcalTrigTowerDetId e_id( zside , EcalBarrel, etaTT, phiTT, 0);
91  if (verbose())
92  std::cout << "L1DummyProducer::SimpleDigi<EcalTrigPrimDigiCollection> end.\n" << std::flush;
93 }

References gather_cfg::cout, data, EBase_, EcalBarrel, HCALHighEnergyHPDFilter_cfi::energy, ESigm_, LEDCalibrationChannels::ieta, createfilelist::int, LEDCalibrationChannels::iphi, EcalTriggerPrimitiveDigi::setSample(), EcalTriggerPrimitiveDigi::setSize(), and verbose().

◆ SimpleDigi() [5/16]

template<>
void L1DummyProducer::SimpleDigi ( CLHEP::HepRandomEngine *  engine,
std::unique_ptr< HcalTrigPrimDigiCollection > &  data,
int  type 
)
inline

Definition at line 96 of file L1DummyProducer.h.

98  {
99  if (verbose())
100  std::cout << "L1DummyProducer::SimpleDigi<HcalTrigPrimDigiCollection>....\n" << std::flush;
101  int side = (engine->flat() > 0.5) ? -1 : 1;
102  int ieta = (int)(1 + 17 * engine->flat());
103  int iphi = (int)(1 + 72 * engine->flat());
104  const HcalTrigTowerDetId h_id(side * ieta, iphi);
105  HcalTriggerPrimitiveDigi h_digi(h_id);
106  int energy = (int)(EBase_ + ESigm_ * CLHEP::RandGaussQ::shoot(engine));
107  HcalTriggerPrimitiveSample h_sample(energy, false, 0, 0);
108  h_digi.setSize(1); //set sampleOfInterest to 0
109  h_digi.setSample(0, h_sample);
110  data->push_back(h_digi);
111  //HcalTriggerPrimitiveSample(int encodedEt, bool finegrain, int slb, int slbchan);
112  //HcalTrigTowerDetId(int ieta, int iphi);
113  if (verbose())
114  std::cout << "L1DummyProducer::SimpleDigi<HcalTrigPrimDigiCollection> end.\n" << std::flush;
115 }

References gather_cfg::cout, data, EBase_, HCALHighEnergyHPDFilter_cfi::energy, ESigm_, LEDCalibrationChannels::ieta, createfilelist::int, LEDCalibrationChannels::iphi, HcalTriggerPrimitiveDigi::setSample(), HcalTriggerPrimitiveDigi::setSize(), and verbose().

◆ SimpleDigi() [6/16]

template<>
void L1DummyProducer::SimpleDigi ( CLHEP::HepRandomEngine *  engine,
std::unique_ptr< L1CaloEmCollection > &  data,
int  type 
)
inline

Definition at line 118 of file L1DummyProducer.h.

120  {
121  if (verbose())
122  std::cout << "L1DummyProducer::SimpleDigi<L1CaloEmCollection>....\n" << std::flush;
123  int energy = (int)(EBase_ + ESigm_ * CLHEP::RandGaussQ::shoot(engine));
124  unsigned rank = energy & 0x3f;
125  unsigned region = (engine->flat() > 0.5 ? 0 : 1);
126  unsigned card = (unsigned)(7 * engine->flat());
127  unsigned crate = (unsigned)(18 * engine->flat());
128  bool iso = (engine->flat() > 0.4);
129  uint16_t index = (unsigned)(4 * engine->flat());
130  int16_t bx = nevt_;
131  L1CaloEmCand cand(rank, region, card, crate, iso, index, bx);
132  data->push_back(cand);
133  //L1CaloEmCand(unsigned rank, unsigned region, unsigned card, unsigned crate, bool iso, uint16_t index, int16_t bx);
134  if (verbose())
135  std::cout << "L1DummyProducer::SimpleDigi<L1CaloEmCollection> end.\n" << std::flush;
136 }

References l1GtPatternGenerator_cfi::bx, gather_cfg::cout, data, EBase_, HCALHighEnergyHPDFilter_cfi::energy, ESigm_, createfilelist::int, nevt_, HLT_FULL_cff::region, and verbose().

◆ SimpleDigi() [7/16]

template<>
void L1DummyProducer::SimpleDigi ( CLHEP::HepRandomEngine *  engine,
std::unique_ptr< L1CaloRegionCollection > &  data,
int  type 
)
inline

Definition at line 139 of file L1DummyProducer.h.

141  {
142  if (verbose())
143  std::cout << "L1DummyProducer::SimpleDigi<L1CaloRegionCollection>....\n" << std::flush;
144  int energy = (int)(EBase_ + ESigm_ * CLHEP::RandGaussQ::shoot(engine));
145  unsigned et = energy & 0x3ff;
146  bool overFlow = false; //(engine->flat()>0.4);
147  bool tauVeto = false; //(engine->flat()>0.3);
148  bool mip = false; //(engine->flat()>0.1);
149  bool quiet = false; //(engine->flat()>0.6);
150  unsigned crate = (unsigned)(18 * engine->flat());
151  unsigned card = (unsigned)(7 * engine->flat());
152  unsigned rgn = crate % 2; //(engine->flat()>0.5?0:1);
153  L1CaloRegion cand(et, overFlow, tauVeto, mip, quiet, crate, card, rgn);
154  data->push_back(cand);
155  //L1CaloRegion(unsigned et, bool overFlow, bool tauVeto, bool mip, bool quiet, unsigned crate, unsigned card, unsigned rgn);
156  if (verbose())
157  std::cout << "L1DummyProducer::SimpleDigi<L1CaloRegionCollection> end.\n" << std::flush;
158 }

References gather_cfg::cout, data, EBase_, HCALHighEnergyHPDFilter_cfi::energy, ESigm_, EgHLTOffHistBins_cfi::et, createfilelist::int, and verbose().

◆ SimpleDigi() [8/16]

template<>
void L1DummyProducer::SimpleDigi ( CLHEP::HepRandomEngine *  engine,
std::unique_ptr< L1CSCTrackCollection > &  data,
int  type 
)
inline

Definition at line 509 of file L1DummyProducer.h.

511  {
512  if (verbose())
513  std::cout << "L1DummyProducer::SimpleDigi<L1CSCTrackCollection>...\n" << std::flush;
514  std::unique_ptr<CSCCorrelatedLCTDigiCollection> dgcoll(new CSCCorrelatedLCTDigiCollection);
515  SimpleDigi(engine, dgcoll, 0);
516  csc::L1Track l1trk = csc::L1Track();
517  std::unique_ptr<L1MuRegionalCandCollection> regcoll(new L1MuRegionalCandCollection);
518  SimpleDigi(engine, regcoll, 2);
519  L1MuRegionalCand regcand = *(regcoll->begin());
520  l1trk.setDataWord(regcand.getDataWord());
521  l1trk.setBx(regcand.bx());
522  l1trk.setPhiValue(regcand.phiValue());
523  l1trk.setEtaValue(regcand.etaValue());
524  l1trk.setPtValue(regcand.ptValue());
525  L1CSCTrack l1csctrk = std::make_pair(l1trk, *dgcoll);
526  data->push_back(l1csctrk);
527  //typedef std::vector<L1CSCTrack> L1CSCTrackCollection;
528  //typedef std::pair<csc::L1Track,CSCCorrelatedLCTDigiCollection> L1CSCTrack;
529  //L1Track() : L1MuRegionalCand(), m_name("csc::L1Track") { setType(2); setPtPacked(0); }
530  //L1MuRegionalCand(unsigned dataword = 0, int bx = 0);
531  if (verbose())
532  std::cout << "L1DummyProducer::SimpleDigi<L1CSCTrackCollection> end.\n" << std::flush;
533 }

References L1MuRegionalCand::bx(), gather_cfg::cout, data, L1MuRegionalCand::etaValue(), L1MuRegionalCand::getDataWord(), L1MuRegionalCand::phiValue(), L1MuRegionalCand::ptValue(), L1MuRegionalCand::setBx(), L1MuRegionalCand::setDataWord(), L1MuRegionalCand::setEtaValue(), L1MuRegionalCand::setPhiValue(), L1MuRegionalCand::setPtValue(), SimpleDigi(), and verbose().

◆ SimpleDigi() [9/16]

template<>
void L1DummyProducer::SimpleDigi ( CLHEP::HepRandomEngine *  engine,
std::unique_ptr< L1GctEmCandCollection > &  data,
int  type 
)
inline

Definition at line 161 of file L1DummyProducer.h.

163  {
164  if (verbose())
165  std::cout << "L1DummyProducer::SimpleDigi<L1GctEmCandCollection>....\n" << std::flush;
166  bool iso; //= type==0;
167  switch (type) { // 0 iso, 1 noniso
168  case 0:
169  iso = true;
170  break;
171  case 1:
172  iso = false;
173  break;
174  default:
175  throw cms::Exception("L1DummyProducerInvalidType")
176  << "L1DummyProducer::SimpleDigi production of L1GctEmCandCollection "
177  << " invalid type: " << type << std::endl;
178  }
179  int energy = (int)(EBase_ + ESigm_ * CLHEP::RandGaussQ::shoot(engine));
180  unsigned rank = energy & 0x3f;
181  unsigned phi = (unsigned)(18 * engine->flat());
182  unsigned eta = (unsigned)(7 * engine->flat());
183  if (engine->flat() > 0.5) //-z (eta sign)
184  eta = (eta & 0x7) + (0x1 << 3);
185  L1GctEmCand cand(rank, phi, eta, iso);
186  data->push_back(cand);
187  // eta = -6 to -0, +0 to +6. Sign is bit 3, 1 means -ve Z, 0 means +ve Z
188  //L1GctEmCand(unsigned rank, unsigned phi, unsigned eta, bool iso);
189  if (verbose())
190  std::cout << "L1DummyProducer::SimpleDigi<L1GctEmCandCollection> end.\n" << std::flush;
191 }

References gather_cfg::cout, data, EBase_, HCALHighEnergyHPDFilter_cfi::energy, ESigm_, PVValHelper::eta, Exception, createfilelist::int, phi, verbose(), and testProducerWithPsetDescEmpty_cfi::x1.

◆ SimpleDigi() [10/16]

template<>
void L1DummyProducer::SimpleDigi ( CLHEP::HepRandomEngine *  engine,
std::unique_ptr< L1GctJetCandCollection > &  data,
int  type 
)
inline

Definition at line 194 of file L1DummyProducer.h.

196  {
197  if (verbose())
198  std::cout << "L1DummyProducer::SimpleDigi<L1GctJetCandCollection>....\n" << std::flush;
199  bool isFor, isTau;
200  switch (type) { // 0 cen, 1 for, 2 tau
201  case 0:
202  isFor = false;
203  isTau = false;
204  break;
205  case 1:
206  isFor = true;
207  isTau = false;
208  break;
209  case 2:
210  isFor = false;
211  isTau = true;
212  break;
213  default:
214  throw cms::Exception("L1DummyProducerInvalidType")
215  << "L1DummyProducer::SimpleDigi production of L1GctJetCandCollection "
216  << " invalid type: " << type << std::endl;
217  }
218 
219  int energy = (int)(EBase_ + ESigm_ * CLHEP::RandGaussQ::shoot(engine));
220  unsigned rank = energy & 0x3f;
221  unsigned phi = (unsigned)(18 * engine->flat());
222  unsigned eta = (unsigned)(7 * engine->flat());
223  if (engine->flat() > 0.5) //-z (eta sign)
224  eta = (eta & 0x7) + (0x1 << 3);
225  L1GctJetCand cand(rank, phi, eta, isTau, isFor);
226  data->push_back(cand);
227  //L1GctJetCand(unsigned rank, unsigned phi, unsigned eta, bool isTau, bool isFor);
228  if (verbose())
229  std::cout << "L1DummyProducer::SimpleDigi<L1GctJetCandCollection> end.\n" << std::flush;
230 }

References gather_cfg::cout, data, EBase_, HCALHighEnergyHPDFilter_cfi::energy, ESigm_, PVValHelper::eta, Exception, createfilelist::int, reco::isTau(), phi, verbose(), and testProducerWithPsetDescEmpty_cfi::x1.

◆ SimpleDigi() [11/16]

template<>
void L1DummyProducer::SimpleDigi ( CLHEP::HepRandomEngine *  engine,
std::unique_ptr< L1MuDTChambPhContainer > &  data,
int  type 
)
inline

Definition at line 295 of file L1DummyProducer.h.

297  {
298  if (verbose())
299  std::cout << "L1DummyProducer::SimpleDigi<L1MuDTChambPhContainer>....\n" << std::flush;
300  typedef std::vector<L1MuDTChambPhDigi> Phi_Container;
301  int ntrk = 4;
302  Phi_Container tracks(ntrk);
303  int ubx, uwh, usc, ust, uphr, uphb, uqua, utag, ucnt;
304  for (int i = 0; i < ntrk; i++) {
305  ubx = 0; //bxNum() - bx
306  uwh = 0; //whNum() - wheel
307  usc = 0; //scNum() - sector
308  ust = 0; //stNum() - station
309  uphr = 0; //phi() - radialAngle
310  uphb = 0; //phiB() - bendingAngle
311  uqua = 0; //code() - qualityCode
312  utag = 0; //Ts2Tag() - Ts2TagCode
313  ucnt = 0; //BxCnt() - BxCntCode
314  uwh = (int)(-2 + 5 * engine->flat());
315  usc = (int)(12 * engine->flat());
316  ust = (int)(1. + 4 * engine->flat());
317  uqua = (int)(8 * engine->flat());
318  L1MuDTChambPhDigi cand(ubx, uwh, usc, ust, uphr, uphb, uqua, utag, ucnt);
319  tracks.push_back(cand);
320  }
321  data->setContainer(tracks);
322  //L1MuDTChambPhDigi( int ubx, int uwh, int usc, int ust,
323  // int uphr, int uphb, int uqua, int utag, int ucnt );
324  if (verbose())
325  std::cout << "L1DummyProducer::SimpleDigi<L1MuDTChambPhContainer> end.\n" << std::flush;
326 }

References gather_cfg::cout, data, mps_fire::i, createfilelist::int, tracks, and verbose().

◆ SimpleDigi() [12/16]

template<>
void L1DummyProducer::SimpleDigi ( CLHEP::HepRandomEngine *  engine,
std::unique_ptr< L1MuDTChambThContainer > &  data,
int  type 
)
inline

Definition at line 329 of file L1DummyProducer.h.

331  {
332  if (verbose())
333  std::cout << "L1DummyProducer::SimpleDigi<L1MuDTChambThContainer>....\n" << std::flush;
334  typedef std::vector<L1MuDTChambThDigi> The_Container;
335  int ntrk = 4;
336  The_Container tracks(ntrk);
337  int ubx, uwh, usc, ust, uos[7], uqa[7];
338  for (int i = 0; i < ntrk; i++) {
339  ubx = 0;
340  uwh = (int)(-2 + 5 * engine->flat());
341  usc = (int)(12 * engine->flat());
342  ust = (int)(1. + 4 * engine->flat());
343  for (int j = 0; j < 7; j++) {
344  uos[j] = (engine->flat() > 0.5 ? 0 : 1);
345  uqa[j] = (engine->flat() > 0.5 ? 0 : 1);
346  }
347  L1MuDTChambThDigi cand(ubx, uwh, usc, ust, uos, uqa);
348  tracks.push_back(cand);
349  }
350  data->setContainer(tracks);
351  //L1MuDTChambThDigi( int ubx, int uwh, int usc, int ust,
352  // int* uos, [int* uqual] );
353  //"DataFormats/L1DTTrackFinder/interface/L1MuDTChambThContainer.h"
354  if (verbose())
355  std::cout << "L1DummyProducer::SimpleDigi<L1MuDTChambThContainer> end.\n" << std::flush;
356 }

References gather_cfg::cout, data, mps_fire::i, createfilelist::int, dqmiolumiharvest::j, tracks, and verbose().

◆ SimpleDigi() [13/16]

template<>
void L1DummyProducer::SimpleDigi ( CLHEP::HepRandomEngine *  engine,
std::unique_ptr< L1MuDTTrackContainer > &  data,
int  type 
)
inline

Definition at line 269 of file L1DummyProducer.h.

271  {
272  assert(type == 0);
273  int type_idx = type; //choose data type: 0 DT, 1 bRPC, 2 CSC, 3 fRPC
274  if (verbose())
275  std::cout << "L1DummyProducer::SimpleDigi<L1MuDTTrackContainer>....\n" << std::flush;
276  std::unique_ptr<L1MuRegionalCandCollection> tracks(new L1MuRegionalCandCollection());
277  SimpleDigi(engine, tracks, type_idx);
278  typedef std::vector<L1MuDTTrackCand> L1MuDTTrackCandCollection;
279  std::unique_ptr<L1MuDTTrackCandCollection> tracksd(new L1MuDTTrackCandCollection());
280  for (L1MuRegionalCandCollection::const_iterator it = tracks->begin(); it != tracks->end(); it++) {
281  L1MuDTTrackCand* cnd = new L1MuDTTrackCand();
282  cnd->setDataWord(it->getDataWord());
283  cnd->setBx(it->bx());
284  tracksd->push_back(L1MuDTTrackCand());
285  tracksd->push_back(*cnd);
286  }
287  data->setContainer(*tracksd);
288  if (verbose())
289  std::cout << "L1DummyProducer::SimpleDigi<L1MuDTTrackContainer> end.\n" << std::flush;
290  //L1MuDTTrackCand( unsigned dataword, int bx, int uwh, int usc, int utag,
291  // int adr1, int adr2, int adr3, int adr4, int utc );
292 }

References cms::cuda::assert(), gather_cfg::cout, data, L1MuRegionalCand::setBx(), L1MuRegionalCand::setDataWord(), SimpleDigi(), tracks, and verbose().

◆ SimpleDigi() [14/16]

template<>
void L1DummyProducer::SimpleDigi ( CLHEP::HepRandomEngine *  engine,
std::unique_ptr< L1MuGMTCandCollection > &  data,
int  type 
)
inline

Definition at line 359 of file L1DummyProducer.h.

361  {
362  if (verbose())
363  std::cout << "L1DummyProducer::SimpleDigi<L1MuGMTCandCollection>....\n" << std::flush;
364  //typedef std::vector<L1MuGMTCand> L1MuGMTCandCollection;
365  L1MuGMTCand cand(0, nevt_);
366  //cand.setPhiPacked();//8bits
367  //cand.setPtPacked ();//5bits
368  //cand.setQuality ();//3bits
369  //cand.setEtaPacked();//6bits
370  //cand.setIsolation();//1bit
371  //cand.setMIP ();//1bit
372  //cand.setChargePacked();//0:+, 1:-, 2:undef, 3:sync
373  //cand.setBx (nevt_);
374  //set physical values
375  double eng = EBase_ + ESigm_ * CLHEP::RandGaussQ::shoot(engine);
376  double phi = 2 * TMath::Pi() * engine->flat();
377  double eta = 2.5 * (-1 + 2 * engine->flat());
378  cand.setPtValue(eng);
379  cand.setPhiValue(phi);
380  cand.setEtaValue(eta);
381  unsigned engp = (unsigned)(EBase_ + ESigm_ * CLHEP::RandGaussQ::shoot(engine));
382  unsigned phip = (unsigned)(255 * engine->flat());
383  unsigned etap = (unsigned)(63 * engine->flat());
384  cand.setPtPacked(engp & 0x1f);
385  cand.setPhiPacked(phip & 0x7f);
386  cand.setEtaPacked(etap & 0x3f);
387  double r = engine->flat();
388  cand.setIsolation(r > 0.2);
389  cand.setMIP(r > 0.7);
390  cand.setChargePacked(r > 0.5 ? 0 : 1);
391  cand.setBx(0);
392  data->push_back(cand);
393  if (verbose())
394  std::cout << "L1DummyProducer::SimpleDigi<L1MuGMTCandCollection> end.\n" << std::flush;
395 }

References gather_cfg::cout, data, EBase_, ESigm_, PVValHelper::eta, nevt_, phi, Pi, alignCSCRings::r, and verbose().

◆ SimpleDigi() [15/16]

template<>
void L1DummyProducer::SimpleDigi ( CLHEP::HepRandomEngine *  engine,
std::unique_ptr< L1MuGMTReadoutCollection > &  data,
int  type 
)
inline

tbd: add GMT extended cand(!)

Definition at line 398 of file L1DummyProducer.h.

400  {
401  if (verbose())
402  std::cout << "L1DummyProducer::SimpleDigi<L1MuGMTReadoutCollection>....\n" << std::flush;
403  L1MuGMTReadoutRecord rec(0);
404  int bxn = nevt_;
405  rec.setBxNr(bxn);
406  rec.setEvNr(bxn);
407  rec.setBxInEvent(0);
408  std::unique_ptr<L1MuRegionalCandCollection> trks_dttf(new L1MuRegionalCandCollection);
409  std::unique_ptr<L1MuRegionalCandCollection> trks_rpcb(new L1MuRegionalCandCollection);
410  std::unique_ptr<L1MuRegionalCandCollection> trks_csc(new L1MuRegionalCandCollection);
411  std::unique_ptr<L1MuRegionalCandCollection> trks_rpcf(new L1MuRegionalCandCollection);
412  SimpleDigi(engine, trks_dttf, 0);
413  SimpleDigi(engine, trks_rpcb, 1);
414  SimpleDigi(engine, trks_csc, 2);
415  SimpleDigi(engine, trks_rpcf, 3);
416  for (int i = 0; i < 4; i++) {
417  rec.setInputCand(i, trks_dttf->at(i)); //dt : 0..3
418  rec.setInputCand(i + 4, trks_rpcb->at(i)); //rpcb: 4..7
419  rec.setInputCand(i + 8, trks_csc->at(i)); //csc : 8..11
420  rec.setInputCand(i + 12, trks_rpcf->at(i)); //rpcf:12..15
421  }
422  for (int nr = 0; nr < 4; nr++) {
423  int eng = (int)(EBase_ + ESigm_ * CLHEP::RandGaussQ::shoot(engine));
424  rec.setGMTBrlCand(nr, eng & 0x11, eng & 0x11); //set GMT barrel candidate
425  rec.setGMTFwdCand(nr, eng & 0x11, eng & 0x11); //set GMT forward candidate
426  rec.setGMTCand(nr, eng & 0x11); //set GMT candidate (does not store rank)
427  int eta = (int)(14 * engine->flat()); //0..13
428  int phi = (int)(18 * engine->flat()); //0..17
429  rec.setMIPbit(eta, phi);
430  rec.setQuietbit(eta, phi);
431  }
432  data->addRecord(rec);
434  //rec.setBCERR(int bcerr);
435  //rec.setGMTBrlCand(int nr, L1MuGMTExtendedCand const& cand);
436  //rec.setGMTFwdCand(int nr, L1MuGMTExtendedCand const& cand);
437  //rec.setGMTCand (int nr, L1MuGMTExtendedCand const& cand);
438  //rec.setInputCand (int nr, L1MuRegionalCand const& cand);
439  //L1MuGMTReadoutCollection :: std::vector<L1MuGMTReadoutRecord> m_Records;
440  //L1MuGMTReadoutCollection(int nbx) { m_Records.reserve(nbx); };
441  //L1MuGMTExtendedCand(unsigned data, unsigned rank, int bx=0) : L1MuGMTCand (data, bx), m_rank(rank) {}
442  if (verbose())
443  std::cout << "L1DummyProducer::SimpleDigi<L1MuGMTReadoutCollection> end.\n" << std::flush;
444 }

References gather_cfg::cout, data, EBase_, ESigm_, PVValHelper::eta, mps_fire::i, createfilelist::int, nevt_, EgHLTOffHistBins_cfi::nr, phi, L1MuGMTReadoutRecord::setBxInEvent(), L1MuGMTReadoutRecord::setBxNr(), L1MuGMTReadoutRecord::setEvNr(), L1MuGMTReadoutRecord::setGMTBrlCand(), L1MuGMTReadoutRecord::setGMTCand(), L1MuGMTReadoutRecord::setGMTFwdCand(), L1MuGMTReadoutRecord::setInputCand(), L1MuGMTReadoutRecord::setMIPbit(), L1MuGMTReadoutRecord::setQuietbit(), SimpleDigi(), and verbose().

◆ SimpleDigi() [16/16]

template<>
void L1DummyProducer::SimpleDigi ( CLHEP::HepRandomEngine *  engine,
std::unique_ptr< L1MuRegionalCandCollection > &  data,
int  type 
)
inline

Definition at line 233 of file L1DummyProducer.h.

235  {
236  if (verbose())
237  std::cout << "L1DummyProducer::SimpleDigi<L1MuRegionalCandCollection>....\n" << std::flush;
238  //typedef std::vector<L1MuRegionalCand> L1MuRegionalCandCollection;
239  assert(type >= 0 && type < 4);
240  unsigned type_idx = type; //tType: 0 DT, 1 bRPC, 2 CSC, 3 fRPC
241  int bx = 0;
242  unsigned phi, eta, pt, charge, ch_valid, finehalo, quality;
243  float phiv(0.), etav(0.), ptv(0.); //linear translation? 0.2pi,-2.5..2.5,0..100
244  for (int i = 0; i < 4; i++) {
245  phi = (int)(144 * engine->flat()); //8bits, 0..143
246  eta = (int)(63 * engine->flat()); //6bits code
247  phiv = phi * 2 * TMath::Pi() / 144.;
248  etav = 2.5 * (-1 + 2 * eta / 63.);
249  pt = ((int)(32 * engine->flat())) & 0x1f; //5bits: 0..31
250  ptv = 100 * (pt / 31.);
251  charge = (engine->flat() > 0.5 ? 0 : 1);
252  ;
253  ch_valid = 0;
254  finehalo = 0;
255  quality = (int)(8 * engine->flat()); //3bits: 0..7
256  L1MuRegionalCand cand(type_idx, phi, eta, pt, charge, ch_valid, finehalo, quality, bx);
257  cand.setPhiValue(phiv);
258  cand.setEtaValue(etav);
259  cand.setPtValue(ptv);
260  data->push_back(cand);
261  }
262  //L1MuRegionalCand(unsigned type_idx, unsigned phi, unsigned eta, unsigned pt,
263  //unsigned charge, unsigned ch_valid, unsigned finehalo, unsigned quality, int bx);
264  if (verbose())
265  std::cout << "L1DummyProducer::SimpleDigi<L1MuRegionalCandCollection> end.\n" << std::flush;
266 }

References cms::cuda::assert(), l1GtPatternGenerator_cfi::bx, ALCARECOTkAlJpsiMuMu_cff::charge, gather_cfg::cout, data, PVValHelper::eta, mps_fire::i, createfilelist::int, phi, Pi, DiDispStaMuonMonitor_cfi::pt, quality, and verbose().

◆ verbose()

int L1DummyProducer::verbose ( )
inlineprivate

Definition at line 56 of file L1DummyProducer.h.

56 { return verbose_; }

References verbose_.

Referenced by SimpleDigi().

Member Data Documentation

◆ EBase_

double L1DummyProducer::EBase_
private

Definition at line 62 of file L1DummyProducer.h.

Referenced by SimpleDigi().

◆ ESigm_

double L1DummyProducer::ESigm_
private

Definition at line 63 of file L1DummyProducer.h.

Referenced by SimpleDigi().

◆ instName

std::string L1DummyProducer::instName[dedefs::DEnsys][5]
private

Definition at line 60 of file L1DummyProducer.h.

◆ m_doSys

bool L1DummyProducer::m_doSys[dedefs::DEnsys]
private

Definition at line 59 of file L1DummyProducer.h.

◆ nevt_

int L1DummyProducer::nevt_
private

Definition at line 57 of file L1DummyProducer.h.

Referenced by SimpleDigi().

◆ verbose_

int L1DummyProducer::verbose_
private

Definition at line 55 of file L1DummyProducer.h.

Referenced by verbose().

l1t::mtf7::RPC
RPC Data Record : block->header().getID() = 4.
Definition: Block.h:20
dedefs::HTP
Definition: DEtrait.h:40
L1DummyProducer::SimpleDigi
void SimpleDigi(CLHEP::HepRandomEngine *, std::unique_ptr< T > &data, int type=0)
Definition: L1DummyProducer.h:67
L1MuRegionalCand::bx
int bx() const
return bunch crossing identifier
Definition: L1MuRegionalCand.h:79
dedefs::SystLabel
const std::string SystLabel[DEnsys]
Definition: DEtrait.h:42
edm::RandomNumberGenerator::getEngine
virtual CLHEP::HepRandomEngine & getEngine(StreamID const &)=0
Use this engine in event methods.
L1MuRegionalCand::setPtValue
void setPtValue(float ptVal)
Set Pt Value.
Definition: L1MuRegionalCand.h:148
mps_fire.i
i
Definition: mps_fire.py:428
L1MuRegionalCand::etaValue
float etaValue() const
get eta-value of muon candidate
Definition: L1MuRegionalCand.cc:87
L1GctJetCand
Level-1 Trigger jet candidate.
Definition: L1GctJetCand.h:17
L1CSCTrack
std::pair< csc::L1Track, CSCCorrelatedLCTDigiCollection > L1CSCTrack
Definition: L1CSCTrackCollection.h:7
L1CaloRegion
A calorimeter trigger region (sum of 4x4 trigger towers)
Definition: L1CaloRegion.h:21
L1MuGMTCandCollection
std::vector< L1MuGMTCand > L1MuGMTCandCollection
Definition: DEtrait.h:99
DiDispStaMuonMonitor_cfi.pt
pt
Definition: DiDispStaMuonMonitor_cfi.py:39
HcalTriggerPrimitiveSample
Definition: HcalTriggerPrimitiveSample.h:11
L1GctJetCandCollection
std::vector< L1GctJetCand > L1GctJetCandCollection
Definition: L1GctCollections.h:31
gather_cfg.cout
cout
Definition: gather_cfg.py:144
L1MuRegionalCand::setPhiValue
void setPhiValue(float phiVal)
Set Phi Value.
Definition: L1MuRegionalCand.h:145
dedefs::CTP
Definition: DEtrait.h:40
l1GtPatternGenerator_cfi.bx
bx
Definition: l1GtPatternGenerator_cfi.py:18
emtf::MAX_ENDCAP
constexpr int MAX_ENDCAP
Definition: Common.h:46
L1GctEmCand
Level-1 Trigger EM candidate at output of GCT.
Definition: L1GctEmCand.h:21
cms::cuda::assert
assert(be >=bs)
edm::SortedCollection
Definition: SortedCollection.h:49
L1DummyProducer::ESigm_
double ESigm_
Definition: L1DummyProducer.h:63
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
L1DummyProducer::nevt_
int nevt_
Definition: L1DummyProducer.h:57
EcalTrigTowerDetId
Definition: EcalTrigTowerDetId.h:14
L1CSCTrackCollection
std::vector< L1CSCTrack > L1CSCTrackCollection
Definition: L1CSCTrackCollection.h:8
edm::Service::isAvailable
bool isAvailable() const
Definition: Service.h:40
L1MuGMTCand
Definition: L1MuGMTCand.h:39
L1GlobalTriggerReadoutRecord
Definition: L1GlobalTriggerReadoutRecord.h:46
EcalBarrel
Definition: EcalSubdetector.h:10
L1MuDTChambPhContainer
Definition: L1MuDTChambPhContainer.h:33
dedefs::DTP
Definition: DEtrait.h:40
quality
const uint32_t *__restrict__ Quality * quality
Definition: CAHitNtupletGeneratorKernelsImpl.h:109
L1DummyProducer::verbose_
int verbose_
Definition: L1DummyProducer.h:55
L1MuDTTrackCand
Definition: L1MuDTTrackCand.h:33
LEDCalibrationChannels.iphi
iphi
Definition: LEDCalibrationChannels.py:64
L1MuRegionalCand::getDataWord
unsigned getDataWord() const
return data word
Definition: L1MuRegionalCand.h:107
L1MuRegionalCand::setBx
void setBx(int bx)
Set Bunch Crossing.
Definition: L1MuRegionalCand.h:117
testProducerWithPsetDescEmpty_cfi.x1
x1
Definition: testProducerWithPsetDescEmpty_cfi.py:33
L1MuRegionalCand::setEtaValue
void setEtaValue(float etaVal)
Set Eta Value (need to set type, first)
Definition: L1MuRegionalCand.h:151
L1CaloEmCollection
std::vector< L1CaloEmCand > L1CaloEmCollection
Definition: L1CaloCollections.h:10
L1MuGMTReadoutRecord
Definition: L1MuGMTReadoutRecord.h:44
L1GlobalTriggerEvmReadoutRecord
Definition: L1GlobalTriggerEvmReadoutRecord.h:36
dedefs::GCT
Definition: DEtrait.h:40
PVValHelper::eta
Definition: PVValidationHelpers.h:70
emtf::MIN_ENDCAP
constexpr int MIN_ENDCAP
Definition: Common.h:45
L1MuRegionalCand::phiValue
float phiValue() const
get phi-value of muon candidate in radians (low edge of bin)
Definition: L1MuRegionalCand.cc:80
L1MuRegionalCand
Definition: L1MuRegionalCand.h:26
dedefs::ETP
Definition: DEtrait.h:40
HCALHighEnergyHPDFilter_cfi.energy
energy
Definition: HCALHighEnergyHPDFilter_cfi.py:5
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
ALCARECOTkAlJpsiMuMu_cff.charge
charge
Definition: ALCARECOTkAlJpsiMuMu_cff.py:47
LTCDigiCollection
std::vector< LTCDigi > LTCDigiCollection
Definition: LTCDigi.h:91
LEDCalibrationChannels.ieta
ieta
Definition: LEDCalibrationChannels.py:63
HcalTriggerPrimitiveDigi
Definition: HcalTriggerPrimitiveDigi.h:13
EgHLTOffHistBins_cfi.nr
nr
Definition: EgHLTOffHistBins_cfi.py:4
L1Track
TTTrack< Ref_Phase2TrackerDigi_ > L1Track
Definition: L1Track.h:8
tracks
const uint32_t *__restrict__ const HitContainer *__restrict__ TkSoA *__restrict__ tracks
Definition: CAHitNtupletGeneratorKernelsImpl.h:159
dedefs::GLT
Definition: DEtrait.h:40
L1GlobalTriggerObjectMapRecord
Definition: L1GlobalTriggerObjectMapRecord.h:29
dedefs::DTF
Definition: DEtrait.h:40
type
type
Definition: SiPixelVCal_PayloadInspector.cc:37
L1MuRegionalCand::setDataWord
void setDataWord(unsigned dataword)
Set data word.
Definition: L1MuRegionalCand.h:166
gainCalibHelper::gainCalibPI::type
type
Definition: SiPixelGainCalibHelper.h:40
CSCDetId
Definition: CSCDetId.h:26
cand
Definition: decayParser.h:32
HLT_FULL_cff.region
region
Definition: HLT_FULL_cff.py:88271
edm::Service< edm::RandomNumberGenerator >
createfilelist.int
int
Definition: createfilelist.py:10
iEvent
int iEvent
Definition: GenABIO.cc:224
dedefs::LTC
Definition: DEtrait.h:40
EgHLTOffHistBins_cfi.et
et
Definition: EgHLTOffHistBins_cfi.py:8
GMT
Definition: L1GtDefinitions.h:28
CSCCorrelatedLCTDigi::clear
void clear()
clear this LCT
Definition: CSCCorrelatedLCTDigi.cc:49
CSCCorrelatedLCTDigiCollection
alignCSCRings.r
r
Definition: alignCSCRings.py:93
dedefs::DEnsys
const int DEnsys
Definition: DEtrait.h:38
DDAxes::phi
L1MuGMTReadoutCollection
Definition: L1MuGMTReadoutCollection.h:39
eostools.move
def move(src, dest)
Definition: eostools.py:511
L1CaloRegionCollection
std::vector< L1CaloRegion > L1CaloRegionCollection
Definition: L1CaloCollections.h:11
L1DummyProducer::EBase_
double EBase_
Definition: L1DummyProducer.h:62
L1GctEmCandCollection
std::vector< L1GctEmCand > L1GctEmCandCollection
Definition: L1GctCollections.h:30
L1MuDTChambThDigi
Definition: L1MuDTChambThDigi.h:33
EcalTriggerPrimitiveDigi
Definition: EcalTriggerPrimitiveDigi.h:16
relativeConstraints.empty
bool empty
Definition: relativeConstraints.py:46
Exception
Definition: hltDiff.cc:245
L1DummyProducer::instName
std::string instName[dedefs::DEnsys][5]
Definition: L1DummyProducer.h:60
csc::L1Track
Definition: L1Track.h:21
L1MuRegionalCandCollection
std::vector< L1MuRegionalCand > L1MuRegionalCandCollection
Definition: RPCRecHitFilter.cc:53
data
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
Pi
const double Pi
Definition: CosmicMuonParameters.h:18
EcalTriggerPrimitiveSample
Definition: EcalTriggerPrimitiveSample.h:12
reco::isTau
bool isTau(const Candidate &part)
Definition: pdgIdUtils.h:11
L1MuDTTrackContainer
Definition: L1MuDTTrackContainer.h:33
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
L1DummyProducer::verbose
int verbose()
Definition: L1DummyProducer.h:56
L1MuRegionalCand::ptValue
float ptValue() const
get pt-value of muon candidate in GeV
Definition: L1MuRegionalCand.cc:94
L1CaloEmCand
Level-1 Region Calorimeter Trigger EM candidate.
Definition: L1CaloEmCand.h:17
L1MuDTChambThContainer
Definition: L1MuDTChambThContainer.h:33
dedefs::RCT
Definition: DEtrait.h:40
dedefs::CTF
Definition: DEtrait.h:40
CSCCorrelatedLCTDigi
Definition: CSCCorrelatedLCTDigi.h:19
L1MuDTChambPhDigi
Definition: L1MuDTChambPhDigi.h:31
HcalTrigTowerDetId
Definition: HcalTrigTowerDetId.h:14
L1DummyProducer::m_doSys
bool m_doSys[dedefs::DEnsys]
Definition: L1DummyProducer.h:59