CMS 3D CMS Logo

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

#include <HLTrigger/HLTDummyCollections/src/HLTDummyCollections.cc>

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

Public Member Functions

 HLTDummyCollections (const edm::ParameterSet &)
 
 ~HLTDummyCollections () 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
 
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)
 
 ~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 const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::EDProducer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
static bool wantsGlobalLuminosityBlocks ()
 
static bool wantsGlobalRuns ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 

Private Member Functions

void produce (edm::Event &, const edm::EventSetup &) override
 

Private Attributes

std::string action_
 
bool doEcalPreshower_
 
bool doGCT_
 
bool doHcal_
 
bool doMuonCSCDigis_
 
bool doMuonDTDigis_
 
bool doObjectMap_
 
bool doSiPixelDigis_
 
bool doSiStrip_
 
std::string ESdigiCollection_
 
bool unpackZDC_
 

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
 
- 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 ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<typename ESProduct , Transition Tr = Transition::Event>
auto esConsumes (eventsetup::EventSetupRecordKey const &, ESInputTag const &tag)
 
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

Description: <one line="" class="" summary>="">

Implementation: <Notes on="" implementation>="">

Definition at line 70 of file HLTDummyCollections.cc.

Constructor & Destructor Documentation

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

Definition at line 108 of file HLTDummyCollections.cc.

References action_, doEcalPreshower_, doGCT_, doHcal_, doMuonCSCDigis_, doMuonDTDigis_, doObjectMap_, doSiPixelDigis_, doSiStrip_, ESdigiCollection_, edm::ParameterSet::getParameter(), AlCaHLTBitMon_QueryRunRegistry::string, and unpackZDC_.

109 {
110  action_ = iConfig.getParameter<std::string>("action");
111  unpackZDC_ = iConfig.getParameter<bool>("UnpackZDC");
112  ESdigiCollection_ = iConfig.getParameter<std::string>("ESdigiCollection");
113 
114  // doEcal_ = ( action_ == "doEcal");
115  doHcal_ = ( action_ == "doHcal");
116  doEcalPreshower_ = ( action_ == "doEcalPreshower");
117  doMuonDTDigis_ = ( action_ == "doMuonDT");
118  doMuonCSCDigis_ = ( action_ == "doMuonCSC");
119  doSiPixelDigis_ = ( action_ == "doSiPixel");
120  doSiStrip_ = ( action_ == "doSiStrip");
121  doObjectMap_ = ( action_ == "doObjectMap");
122  doGCT_ = ( action_ == "doGCT");
123 
124 /* This interface is out of data and I do not know what is the proper replacement
125  if (doEcal_) {
126  // ECAL unpacking :
127  produces< edm::LazyGetter<EcalRecHit> >();
128  } */
129 
130  if (doHcal_) {
131  // HCAL unpacking
132  produces<HBHEDigiCollection>();
133  produces<HFDigiCollection>();
134  produces<HODigiCollection>();
135  produces<HcalTrigPrimDigiCollection>();
136  produces<HOTrigPrimDigiCollection>();
137  if (unpackZDC_) {
138  produces<ZDCDigiCollection>();
139  }
140  }
141 
142  if (doEcalPreshower_) {
143  produces<ESDigiCollection>();
144  }
145 
146  if (doMuonDTDigis_) {
147  produces<DTDigiCollection>();
148  produces<DTLocalTriggerCollection>();
149  }
150 
151  if (doMuonCSCDigis_) {
152  produces<CSCWireDigiCollection>("MuonCSCWireDigi");
153  produces<CSCStripDigiCollection>("MuonCSCStripDigi");
154  produces<CSCALCTDigiCollection>("MuonCSCALCTDigi");
155  produces<CSCCLCTDigiCollection>("MuonCSCCLCTDigi");
156  produces<CSCComparatorDigiCollection>("MuonCSCComparatorDigi");
157  produces<CSCRPCDigiCollection>("MuonCSCRPCDigi");
158  produces<CSCCorrelatedLCTDigiCollection>("MuonCSCCorrelatedLCTDigi");
159  }
160 
161 
162  if (doSiPixelDigis_) {
163  produces< edm::DetSetVector<PixelDigi> >();
164  }
165 
166  if (doSiStrip_) {
167  produces< edmNew::DetSetVector<SiStripCluster> >();
168  }
169 
170  if (doGCT_) {
171  // GCT output collections
172  produces<L1GctEmCandCollection>("isoEm");
173  produces<L1GctEmCandCollection>("nonIsoEm");
174  produces<L1GctJetCandCollection>("cenJets");
175  produces<L1GctJetCandCollection>("forJets");
176  produces<L1GctJetCandCollection>("tauJets");
177  produces<L1GctHFBitCountsCollection>();
178  produces<L1GctHFRingEtSumsCollection>();
179  produces<L1GctEtTotalCollection>();
180  produces<L1GctEtHadCollection>();
181  produces<L1GctEtMissCollection>();
182  produces<L1GctHtMissCollection>();
183  produces<L1GctJetCountsCollection>(); // Deprecated (empty collection still needed by GT)
184  }
185 
186  if (doObjectMap_) {
187  produces<L1GlobalTriggerObjectMapRecord>();
188  }
189 }
T getParameter(std::string const &) const
HLTDummyCollections::~HLTDummyCollections ( )
override

Definition at line 191 of file HLTDummyCollections.cc.

192 {
193  // do anything here that needs to be done at desctruction time
194  // (e.g. close files, deallocate resources etc.)
195 }

Member Function Documentation

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

Definition at line 199 of file HLTDummyCollections.cc.

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

199  {
201  desc.add<std::string>("action","");
202  desc.add<bool>("UnpackZDC",false);
203  desc.add<std::string>("ESdigiCollection","");
204  descriptions.add("HLTDummyCollections",desc);
205 }
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
void HLTDummyCollections::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivate

Definition at line 213 of file HLTDummyCollections.cc.

References DEFINE_FWK_MODULE, doEcalPreshower_, doGCT_, doHcal_, doMuonCSCDigis_, doMuonDTDigis_, doObjectMap_, doSiPixelDigis_, doSiStrip_, ESdigiCollection_, eostools::move(), edm::Event::put(), and unpackZDC_.

214 {
215  using namespace edm;
216 
217  /*
218  if (doEcal_) {
219  std::unique_ptr< edm::LazyGetter<EcalRecHit> > Ecalcollection( new edm::LazyGetter<EcalRecHit> );
220  iEvent.put(std::move(Ecalcollection));
221  } */
222 
223  if (doHcal_) {
224  std::unique_ptr<HBHEDigiCollection> hbhe_prod(new HBHEDigiCollection());
225  std::unique_ptr<HFDigiCollection> hf_prod(new HFDigiCollection());
226  std::unique_ptr<HODigiCollection> ho_prod(new HODigiCollection());
227  std::unique_ptr<HcalTrigPrimDigiCollection> htp_prod(new HcalTrigPrimDigiCollection());
228  std::unique_ptr<HOTrigPrimDigiCollection> hotp_prod(new HOTrigPrimDigiCollection());
229  iEvent.put(std::move(hbhe_prod));
230  iEvent.put(std::move(hf_prod));
231  iEvent.put(std::move(ho_prod));
232  iEvent.put(std::move(htp_prod));
233  iEvent.put(std::move(hotp_prod));
234  if (unpackZDC_) {
235  std::unique_ptr<ZDCDigiCollection> zdcprod(new ZDCDigiCollection());
236  iEvent.put(std::move(zdcprod));
237  }
238  }
239 
240  if (doEcalPreshower_) {
241  std::unique_ptr<ESDigiCollection> productDigis(new ESDigiCollection);
242  iEvent.put(std::move(productDigis), ESdigiCollection_);
243  }
244 
245  if (doMuonDTDigis_) {
246  std::unique_ptr<DTDigiCollection> detectorProduct(new DTDigiCollection);
247  std::unique_ptr<DTLocalTriggerCollection> triggerProduct(new DTLocalTriggerCollection);
248  iEvent.put(std::move(detectorProduct));
249  iEvent.put(std::move(triggerProduct));
250  }
251 
252  if (doMuonCSCDigis_) {
253  std::unique_ptr<CSCWireDigiCollection> wireProduct(new CSCWireDigiCollection);
254  std::unique_ptr<CSCStripDigiCollection> stripProduct(new CSCStripDigiCollection);
255  std::unique_ptr<CSCALCTDigiCollection> alctProduct(new CSCALCTDigiCollection);
256  std::unique_ptr<CSCCLCTDigiCollection> clctProduct(new CSCCLCTDigiCollection);
257  std::unique_ptr<CSCComparatorDigiCollection> comparatorProduct(new CSCComparatorDigiCollection);
258  std::unique_ptr<CSCRPCDigiCollection> rpcProduct(new CSCRPCDigiCollection);
259  std::unique_ptr<CSCCorrelatedLCTDigiCollection> corrlctProduct(new CSCCorrelatedLCTDigiCollection);
260 
261  iEvent.put(std::move(wireProduct),"MuonCSCWireDigi");
262  iEvent.put(std::move(stripProduct),"MuonCSCStripDigi");
263  iEvent.put(std::move(alctProduct),"MuonCSCALCTDigi");
264  iEvent.put(std::move(clctProduct),"MuonCSCCLCTDigi");
265  iEvent.put(std::move(comparatorProduct),"MuonCSCComparatorDigi");
266  iEvent.put(std::move(rpcProduct),"MuonCSCRPCDigi");
267  iEvent.put(std::move(corrlctProduct),"MuonCSCCorrelatedLCTDigi");
268  }
269 
270  if (doSiPixelDigis_) {
271  std::unique_ptr< edm::DetSetVector<PixelDigi> > SiPicollection( new edm::DetSetVector<PixelDigi> );
272  iEvent.put(std::move(SiPicollection));
273  }
274 
275  if (doSiStrip_) {
276  std::unique_ptr< edmNew::DetSetVector<SiStripCluster> > SiStripcollection( new edmNew::DetSetVector<SiStripCluster> );
277  iEvent.put(std::move(SiStripcollection));
278  }
279 
280  if (doGCT_) {
281  std::unique_ptr<L1GctEmCandCollection> m_gctIsoEm( new L1GctEmCandCollection) ;
282  std::unique_ptr<L1GctEmCandCollection> m_gctNonIsoEm(new L1GctEmCandCollection);
283  std::unique_ptr<L1GctJetCandCollection> m_gctCenJets(new L1GctJetCandCollection);
284  std::unique_ptr<L1GctJetCandCollection> m_gctForJets(new L1GctJetCandCollection);
285  std::unique_ptr<L1GctJetCandCollection> m_gctTauJets(new L1GctJetCandCollection);
286  std::unique_ptr<L1GctHFBitCountsCollection> m_gctHfBitCounts(new L1GctHFBitCountsCollection);
287  std::unique_ptr<L1GctHFRingEtSumsCollection> m_gctHfRingEtSums(new L1GctHFRingEtSumsCollection);
288  std::unique_ptr<L1GctEtTotalCollection> m_gctEtTot(new L1GctEtTotalCollection);
289  std::unique_ptr<L1GctEtHadCollection> m_gctEtHad(new L1GctEtHadCollection);
290  std::unique_ptr<L1GctEtMissCollection> m_gctEtMiss(new L1GctEtMissCollection);
291  std::unique_ptr<L1GctHtMissCollection> m_gctHtMiss(new L1GctHtMissCollection);
292  std::unique_ptr<L1GctJetCountsCollection> m_gctJetCounts(new L1GctJetCountsCollection); // DEPRECATED
293 
294  iEvent.put(std::move(m_gctIsoEm), "isoEm");
295  iEvent.put(std::move(m_gctNonIsoEm), "nonIsoEm");
296  iEvent.put(std::move(m_gctCenJets),"cenJets");
297  iEvent.put(std::move(m_gctForJets),"forJets");
298  iEvent.put(std::move(m_gctTauJets),"tauJets");
299  iEvent.put(std::move(m_gctHfBitCounts));
300  iEvent.put(std::move(m_gctHfRingEtSums));
301  iEvent.put(std::move(m_gctEtTot));
302  iEvent.put(std::move(m_gctEtHad));
303  iEvent.put(std::move(m_gctEtMiss));
304  iEvent.put(std::move(m_gctHtMiss));
305  iEvent.put(std::move(m_gctJetCounts)); // Deprecated (empty collection still needed by GT)
306  }
307 
308  if (doObjectMap_) {
309  std::unique_ptr<L1GlobalTriggerObjectMapRecord> gtObjectMapRecord(
311  iEvent.put(std::move(gtObjectMapRecord));
312  }
313 
314 }
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:137
edm::SortedCollection< HcalTriggerPrimitiveDigi > HcalTrigPrimDigiCollection
std::vector< L1GctEtMiss > L1GctEtMissCollection
std::vector< L1GctHFRingEtSums > L1GctHFRingEtSumsCollection
std::vector< L1GctEtHad > L1GctEtHadCollection
std::vector< L1GctJetCounts > L1GctJetCountsCollection
edm::SortedCollection< HOTriggerPrimitiveDigi > HOTrigPrimDigiCollection
edm::SortedCollection< ZDCDataFrame > ZDCDigiCollection
std::vector< L1GctEtTotal > L1GctEtTotalCollection
std::vector< L1GctHFBitCounts > L1GctHFBitCountsCollection
std::vector< L1GctJetCand > L1GctJetCandCollection
edm::SortedCollection< HODataFrame > HODigiCollection
std::vector< L1GctHtMiss > L1GctHtMissCollection
HLT enums.
edm::SortedCollection< HFDataFrame > HFDigiCollection
def move(src, dest)
Definition: eostools.py:511
edm::SortedCollection< HBHEDataFrame > HBHEDigiCollection
std::vector< L1GctEmCand > L1GctEmCandCollection

Member Data Documentation

std::string HLTDummyCollections::action_
private

Definition at line 81 of file HLTDummyCollections.cc.

Referenced by HLTDummyCollections().

bool HLTDummyCollections::doEcalPreshower_
private

Definition at line 85 of file HLTDummyCollections.cc.

Referenced by HLTDummyCollections(), and produce().

bool HLTDummyCollections::doGCT_
private

Definition at line 91 of file HLTDummyCollections.cc.

Referenced by HLTDummyCollections(), and produce().

bool HLTDummyCollections::doHcal_
private

Definition at line 83 of file HLTDummyCollections.cc.

Referenced by HLTDummyCollections(), and produce().

bool HLTDummyCollections::doMuonCSCDigis_
private

Definition at line 88 of file HLTDummyCollections.cc.

Referenced by HLTDummyCollections(), and produce().

bool HLTDummyCollections::doMuonDTDigis_
private

Definition at line 87 of file HLTDummyCollections.cc.

Referenced by HLTDummyCollections(), and produce().

bool HLTDummyCollections::doObjectMap_
private

Definition at line 92 of file HLTDummyCollections.cc.

Referenced by HLTDummyCollections(), and produce().

bool HLTDummyCollections::doSiPixelDigis_
private

Definition at line 89 of file HLTDummyCollections.cc.

Referenced by HLTDummyCollections(), and produce().

bool HLTDummyCollections::doSiStrip_
private

Definition at line 90 of file HLTDummyCollections.cc.

Referenced by HLTDummyCollections(), and produce().

std::string HLTDummyCollections::ESdigiCollection_
private

Definition at line 86 of file HLTDummyCollections.cc.

Referenced by HLTDummyCollections(), and produce().

bool HLTDummyCollections::unpackZDC_
private

Definition at line 84 of file HLTDummyCollections.cc.

Referenced by HLTDummyCollections(), and produce().