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::global::EDProducer<> edm::global::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 HLTDummyCollections (const edm::ParameterSet &)
 
 ~HLTDummyCollections () override
 
- Public Member Functions inherited from edm::global::EDProducer<>
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
EDProduceroperator= (const EDProducer &)=delete
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
bool wantsStreamLuminosityBlocks () const final
 
bool wantsStreamRuns () const final
 
- Public Member Functions inherited from edm::global::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
 ~EDProducerBase () 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 const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
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
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

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

Private Member Functions

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

Private Attributes

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::global::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
template<typename T >
using BranchAliasSetterT = ProductRegistryHelper::BranchAliasSetterT< T >
 
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::ProducerBase
template<Transition Tr = Transition::Event>
auto produces (std::string instanceName) noexcept
 declare what type of product will make and with which optional label More...
 
template<Transition B>
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)
 
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 ()
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
template<Transition Tr = Transition::Event>
auto produces () noexcept
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
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<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
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)
 
void resetItemsToGetFrom (BranchType iType)
 

Detailed Description

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

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

Definition at line 69 of file HLTDummyCollections.cc.

Constructor & Destructor Documentation

◆ HLTDummyCollections()

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

Definition at line 104 of file HLTDummyCollections.cc.

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

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

◆ ~HLTDummyCollections()

HLTDummyCollections::~HLTDummyCollections ( )
override

Definition at line 185 of file HLTDummyCollections.cc.

185  {
186  // do anything here that needs to be done at desctruction time
187  // (e.g. close files, deallocate resources etc.)
188 }

Member Function Documentation

◆ fillDescriptions()

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

Definition at line 190 of file HLTDummyCollections.cc.

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

190  {
192  desc.add<std::string>("action", "");
193  desc.add<bool>("UnpackZDC", false);
194  desc.add<std::string>("ESdigiCollection", "");
195  descriptions.add("HLTDummyCollections", desc);
196 }
void add(std::string const &label, ParameterSetDescription const &psetDescription)

◆ produce()

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

Implements edm::global::EDProducerBase.

Definition at line 203 of file HLTDummyCollections.cc.

References doEcalPreshower_, doGCT_, doHcal_, doMuonCSCDigis_, doMuonDTDigis_, doObjectMap_, doSiPixelDigis_, doSiStrip_, ESdigiCollection_, iEvent, eostools::move(), and unpackZDC_.

203  {
204  using namespace edm;
205 
206  /*
207  if (doEcal_) {
208  std::unique_ptr< edm::LazyGetter<EcalRecHit> > Ecalcollection( new edm::LazyGetter<EcalRecHit> );
209  iEvent.put(std::move(Ecalcollection));
210  } */
211 
212  if (doHcal_) {
213  std::unique_ptr<HBHEDigiCollection> hbhe_prod(new HBHEDigiCollection());
214  std::unique_ptr<HFDigiCollection> hf_prod(new HFDigiCollection());
215  std::unique_ptr<HODigiCollection> ho_prod(new HODigiCollection());
216  std::unique_ptr<HcalTrigPrimDigiCollection> htp_prod(new HcalTrigPrimDigiCollection());
217  std::unique_ptr<HOTrigPrimDigiCollection> hotp_prod(new HOTrigPrimDigiCollection());
218  iEvent.put(std::move(hbhe_prod));
219  iEvent.put(std::move(hf_prod));
220  iEvent.put(std::move(ho_prod));
221  iEvent.put(std::move(htp_prod));
222  iEvent.put(std::move(hotp_prod));
223  if (unpackZDC_) {
224  std::unique_ptr<ZDCDigiCollection> zdcprod(new ZDCDigiCollection());
225  iEvent.put(std::move(zdcprod));
226  }
227  }
228 
229  if (doEcalPreshower_) {
230  std::unique_ptr<ESDigiCollection> productDigis(new ESDigiCollection);
231  iEvent.put(std::move(productDigis), ESdigiCollection_);
232  }
233 
234  if (doMuonDTDigis_) {
235  std::unique_ptr<DTDigiCollection> detectorProduct(new DTDigiCollection);
236  std::unique_ptr<DTLocalTriggerCollection> triggerProduct(new DTLocalTriggerCollection);
237  iEvent.put(std::move(detectorProduct));
238  iEvent.put(std::move(triggerProduct));
239  }
240 
241  if (doMuonCSCDigis_) {
242  std::unique_ptr<CSCWireDigiCollection> wireProduct(new CSCWireDigiCollection);
243  std::unique_ptr<CSCStripDigiCollection> stripProduct(new CSCStripDigiCollection);
244  std::unique_ptr<CSCALCTDigiCollection> alctProduct(new CSCALCTDigiCollection);
245  std::unique_ptr<CSCCLCTDigiCollection> clctProduct(new CSCCLCTDigiCollection);
246  std::unique_ptr<CSCComparatorDigiCollection> comparatorProduct(new CSCComparatorDigiCollection);
247  std::unique_ptr<CSCRPCDigiCollection> rpcProduct(new CSCRPCDigiCollection);
248  std::unique_ptr<CSCCorrelatedLCTDigiCollection> corrlctProduct(new CSCCorrelatedLCTDigiCollection);
249 
250  iEvent.put(std::move(wireProduct), "MuonCSCWireDigi");
251  iEvent.put(std::move(stripProduct), "MuonCSCStripDigi");
252  iEvent.put(std::move(alctProduct), "MuonCSCALCTDigi");
253  iEvent.put(std::move(clctProduct), "MuonCSCCLCTDigi");
254  iEvent.put(std::move(comparatorProduct), "MuonCSCComparatorDigi");
255  iEvent.put(std::move(rpcProduct), "MuonCSCRPCDigi");
256  iEvent.put(std::move(corrlctProduct), "MuonCSCCorrelatedLCTDigi");
257  }
258 
259  if (doSiPixelDigis_) {
260  std::unique_ptr<edm::DetSetVector<PixelDigi> > SiPicollection(new edm::DetSetVector<PixelDigi>);
261  iEvent.put(std::move(SiPicollection));
262  }
263 
264  if (doSiStrip_) {
265  std::unique_ptr<edmNew::DetSetVector<SiStripCluster> > SiStripcollection(new edmNew::DetSetVector<SiStripCluster>);
266  iEvent.put(std::move(SiStripcollection));
267  }
268 
269  if (doGCT_) {
270  std::unique_ptr<L1GctEmCandCollection> m_gctIsoEm(new L1GctEmCandCollection);
271  std::unique_ptr<L1GctEmCandCollection> m_gctNonIsoEm(new L1GctEmCandCollection);
272  std::unique_ptr<L1GctJetCandCollection> m_gctCenJets(new L1GctJetCandCollection);
273  std::unique_ptr<L1GctJetCandCollection> m_gctForJets(new L1GctJetCandCollection);
274  std::unique_ptr<L1GctJetCandCollection> m_gctTauJets(new L1GctJetCandCollection);
275  std::unique_ptr<L1GctHFBitCountsCollection> m_gctHfBitCounts(new L1GctHFBitCountsCollection);
276  std::unique_ptr<L1GctHFRingEtSumsCollection> m_gctHfRingEtSums(new L1GctHFRingEtSumsCollection);
277  std::unique_ptr<L1GctEtTotalCollection> m_gctEtTot(new L1GctEtTotalCollection);
278  std::unique_ptr<L1GctEtHadCollection> m_gctEtHad(new L1GctEtHadCollection);
279  std::unique_ptr<L1GctEtMissCollection> m_gctEtMiss(new L1GctEtMissCollection);
280  std::unique_ptr<L1GctHtMissCollection> m_gctHtMiss(new L1GctHtMissCollection);
281  std::unique_ptr<L1GctJetCountsCollection> m_gctJetCounts(new L1GctJetCountsCollection); // DEPRECATED
282 
283  iEvent.put(std::move(m_gctIsoEm), "isoEm");
284  iEvent.put(std::move(m_gctNonIsoEm), "nonIsoEm");
285  iEvent.put(std::move(m_gctCenJets), "cenJets");
286  iEvent.put(std::move(m_gctForJets), "forJets");
287  iEvent.put(std::move(m_gctTauJets), "tauJets");
288  iEvent.put(std::move(m_gctHfBitCounts));
289  iEvent.put(std::move(m_gctHfRingEtSums));
290  iEvent.put(std::move(m_gctEtTot));
291  iEvent.put(std::move(m_gctEtHad));
292  iEvent.put(std::move(m_gctEtMiss));
293  iEvent.put(std::move(m_gctHtMiss));
294  iEvent.put(std::move(m_gctJetCounts)); // Deprecated (empty collection still needed by GT)
295  }
296 
297  if (doObjectMap_) {
298  std::unique_ptr<L1GlobalTriggerObjectMapRecord> gtObjectMapRecord(new L1GlobalTriggerObjectMapRecord());
299  iEvent.put(std::move(gtObjectMapRecord));
300  }
301 }
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
int iEvent
Definition: GenABIO.cc:224
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

◆ doEcalPreshower_

bool HLTDummyCollections::doEcalPreshower_
private

Definition at line 83 of file HLTDummyCollections.cc.

Referenced by HLTDummyCollections(), and produce().

◆ doGCT_

bool HLTDummyCollections::doGCT_
private

Definition at line 89 of file HLTDummyCollections.cc.

Referenced by HLTDummyCollections(), and produce().

◆ doHcal_

bool HLTDummyCollections::doHcal_
private

Definition at line 81 of file HLTDummyCollections.cc.

Referenced by HLTDummyCollections(), and produce().

◆ doMuonCSCDigis_

bool HLTDummyCollections::doMuonCSCDigis_
private

Definition at line 86 of file HLTDummyCollections.cc.

Referenced by HLTDummyCollections(), and produce().

◆ doMuonDTDigis_

bool HLTDummyCollections::doMuonDTDigis_
private

Definition at line 85 of file HLTDummyCollections.cc.

Referenced by HLTDummyCollections(), and produce().

◆ doObjectMap_

bool HLTDummyCollections::doObjectMap_
private

Definition at line 90 of file HLTDummyCollections.cc.

Referenced by HLTDummyCollections(), and produce().

◆ doSiPixelDigis_

bool HLTDummyCollections::doSiPixelDigis_
private

Definition at line 87 of file HLTDummyCollections.cc.

Referenced by HLTDummyCollections(), and produce().

◆ doSiStrip_

bool HLTDummyCollections::doSiStrip_
private

Definition at line 88 of file HLTDummyCollections.cc.

Referenced by HLTDummyCollections(), and produce().

◆ ESdigiCollection_

std::string HLTDummyCollections::ESdigiCollection_
private

Definition at line 84 of file HLTDummyCollections.cc.

Referenced by HLTDummyCollections(), and produce().

◆ unpackZDC_

bool HLTDummyCollections::unpackZDC_
private

Definition at line 82 of file HLTDummyCollections.cc.

Referenced by HLTDummyCollections(), and produce().