CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Friends
edm::global::EDFilterBase Class Referenceabstract

#include <EDFilterBase.h>

Inheritance diagram for edm::global::EDFilterBase:
edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper edm::global::EDFilter< edm::RunCache< leef::RunErrors >, edm::LuminosityBlockCache< LumiErrors >, edm::EndLuminosityBlockProducer > edm::global::EDFilter< edm::StreamCache< externalgen::StreamCache >, edm::RunCache< externalgen::RunCache >, edm::EndRunProducer, edm::LuminosityBlockCache< externalgen::LumiCache >, edm::LuminosityBlockSummaryCache< GenLumiInfoProduct >, edm::BeginLuminosityBlockProducer, edm::EndLuminosityBlockProducer > edm::global::EDFilter< EndRunProducer, BeginLuminosityBlockProducer, EndLuminosityBlockProducer, RunCache< gen::GenRunCache >, LuminosityBlockSummaryCache< gen::GenLumiSummary >, StreamCache< gen::GenStreamCache< HAD, DEC > > > edm::global::EDFilter< EndRunProducer, BeginLuminosityBlockProducer, EndLuminosityBlockProducer, RunCache< gen::RunCache >, LuminosityBlockSummaryCache< gen::LumiSummary >, StreamCache< gen::StreamCache< HAD, DEC > > > edm::global::EDFilter<> edm::global::EDFilter< T > LogErrorEventFilter ExternalGeneratorFilter edm::ConcurrentGeneratorFilter< HAD, DEC > edm::ConcurrentHadronizerFilter< HAD, DEC > BadGlobalMuonTagger BadParticleFilter BooleanFlagFilter ChargedHadronTrackResolutionFilter ClusterMultiplicityFilter CSCTightHalo2015Filter CSCTightHaloFilter CSCTightHaloTrkMuUnvetoFilter EcalBadCalibFilter EcalDeadCellBoundaryEnergyFilter EcalLaserCorrFilter edm::BunchCrossingFilter edm::FilterWrapper< T > edm::ModuloEventIDFilter edm::ModuloStreamIDFilter edm::PathStatusFilter edm::Prescaler EEBadScFilter EventSelectorAdapter< T > GlobalSuperTightHalo2016Filter GlobalTightHalo2016Filter GoodVertexFilter HcalLaserEventFilter HcalStripHaloFilter HFNoisyHitsFilter HLTBool HLTCTPPSLocalTrackFilter HLTEcalPhiSymFilter HLTFilter HLTHcalCalibTypeFilter HLTHcalLaserMisfireFilter HLTL1NumberFilter HLTRPCFilter HLTTriggerTypeFilter LaserAlignmentEventFilter LHEJetFilter LHEPtFilter MCParticleModuloFilter MCParticlePairFilter MCPdgIndexFilter MCSingleParticleFilter MCVerticesWeight ModelpMSSMFilter MuonBadTrackFilter pat::PATLeptonCountFilter PileUpFilter PythiaDauFilter PythiaDauVFilter PythiaDauVFilterMatchID PythiaFilter PythiaFilterGammaGamma PythiaFilterMotherSister PythiaProbeFilter TrackingFailureFilter

Public Types

typedef EDFilterBase 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
 

Public Member Functions

 EDFilterBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual bool wantsGlobalLuminosityBlocks () const =0
 
virtual bool wantsGlobalRuns () const =0
 
virtual bool wantsStreamLuminosityBlocks () const =0
 
virtual bool wantsStreamRuns () const =0
 
 ~EDFilterBase () 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
 
ESProxyIndex const * esGetTokenIndices (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::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)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Member Functions

virtual void beginJob ()
 
void doAcquire (EventPrincipal const &, EventSetupImpl const &, ActivityRegistry *, ModuleCallingContext const *, WaitingTaskWithArenaHolder &)
 
virtual void doAcquire_ (StreamID, Event const &, edm::EventSetup const &, WaitingTaskWithArenaHolder &)
 
void doBeginJob ()
 
void doBeginLuminosityBlock (LuminosityBlockPrincipal const &lbp, EventSetupImpl const &c, ModuleCallingContext const *)
 
virtual void doBeginLuminosityBlock_ (LuminosityBlock const &lbp, EventSetup const &c)
 
virtual void doBeginLuminosityBlockProduce_ (LuminosityBlock &lbp, EventSetup const &c)
 
virtual void doBeginLuminosityBlockSummary_ (LuminosityBlock const &rp, EventSetup const &c)
 
void doBeginRun (RunPrincipal const &rp, EventSetupImpl const &c, ModuleCallingContext const *)
 
virtual void doBeginRun_ (Run const &rp, EventSetup const &c)
 
virtual void doBeginRunProduce_ (Run &rp, EventSetup const &c)
 
virtual void doBeginRunSummary_ (Run const &rp, EventSetup const &c)
 
void doBeginStream (StreamID id)
 
virtual void doBeginStream_ (StreamID id)
 
void doEndJob ()
 
void doEndLuminosityBlock (LuminosityBlockPrincipal const &lbp, EventSetupImpl const &c, ModuleCallingContext const *)
 
virtual void doEndLuminosityBlock_ (LuminosityBlock const &lb, EventSetup const &c)
 
virtual void doEndLuminosityBlockProduce_ (LuminosityBlock &lbp, EventSetup const &c)
 
virtual void doEndLuminosityBlockSummary_ (LuminosityBlock const &lb, EventSetup const &c)
 
void doEndRun (RunPrincipal const &rp, EventSetupImpl const &c, ModuleCallingContext const *)
 
virtual void doEndRun_ (Run const &rp, EventSetup const &c)
 
virtual void doEndRunProduce_ (Run &rp, EventSetup const &c)
 
virtual void doEndRunSummary_ (Run const &rp, EventSetup const &c)
 
void doEndStream (StreamID id)
 
virtual void doEndStream_ (StreamID id)
 
bool doEvent (EventPrincipal const &, EventSetupImpl const &, ActivityRegistry *, ModuleCallingContext const *)
 
void doPreallocate (PreallocationConfiguration const &)
 
void doRegisterThinnedAssociations (ProductRegistry const &, ThinnedAssociationsHelper &)
 
void doRespondToCloseInputFile (FileBlock const &fb)
 
void doRespondToOpenInputFile (FileBlock const &fb)
 
void doStreamBeginLuminosityBlock (StreamID id, LuminosityBlockPrincipal const &ep, EventSetupImpl const &c, ModuleCallingContext const *)
 
virtual void doStreamBeginLuminosityBlock_ (StreamID id, LuminosityBlock const &lbp, EventSetup const &c)
 
void doStreamBeginRun (StreamID id, RunPrincipal const &ep, EventSetupImpl const &c, ModuleCallingContext const *)
 
virtual void doStreamBeginRun_ (StreamID id, Run const &rp, EventSetup const &c)
 
void doStreamEndLuminosityBlock (StreamID id, LuminosityBlockPrincipal const &ep, EventSetupImpl const &c, ModuleCallingContext const *)
 
virtual void doStreamEndLuminosityBlock_ (StreamID id, LuminosityBlock const &lbp, EventSetup const &c)
 
virtual void doStreamEndLuminosityBlockSummary_ (StreamID id, LuminosityBlock const &lbp, EventSetup const &c)
 
void doStreamEndRun (StreamID id, RunPrincipal const &ep, EventSetupImpl const &c, ModuleCallingContext const *)
 
virtual void doStreamEndRun_ (StreamID id, Run const &rp, EventSetup const &c)
 
virtual void doStreamEndRunSummary_ (StreamID id, Run const &rp, EventSetup const &c)
 
virtual void endJob ()
 
virtual bool filter (StreamID, Event &, EventSetup const &) const =0
 
bool hasAccumulator () const
 
virtual bool hasAcquire () const
 
void preActionBeforeRunEventAsync (WaitingTask *iTask, ModuleCallingContext const &iModuleCallingContext, Principal const &iPrincipal) const
 
virtual void preallocate (PreallocationConfiguration const &)
 
virtual void preallocLumis (unsigned int)
 
virtual void preallocStreams (unsigned int)
 
void registerProductsAndCallbacks (EDFilterBase *module, ProductRegistry *reg)
 
void setModuleDescription (ModuleDescription const &md)
 
std::string workerType () const
 

Private Attributes

std::unique_ptr< std::vector< BranchID >[]> gotBranchIDsFromAcquire_
 
ModuleDescription moduleDescription_
 
std::unique_ptr< ParentageID[]> previousParentageIds_
 
std::unique_ptr< std::vector< BranchID >[]> previousParentages_
 

Friends

template<typename T >
class edm::maker::ModuleHolderT
 
template<typename T >
class edm::WorkerT
 

Additional Inherited Members

- 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 ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Definition at line 50 of file EDFilterBase.h.

Member Typedef Documentation

Definition at line 56 of file EDFilterBase.h.

Constructor & Destructor Documentation

EDFilterBase::EDFilterBase ( )

Definition at line 44 of file EDFilterBase.cc.

ModuleDescription moduleDescription_
Definition: EDFilterBase.h:157
std::unique_ptr< std::vector< BranchID >[]> previousParentages_
Definition: EDFilterBase.h:158
std::unique_ptr< ParentageID[]> previousParentageIds_
Definition: EDFilterBase.h:160
EDFilterBase::~EDFilterBase ( )
override

Definition at line 47 of file EDFilterBase.cc.

47 {}

Member Function Documentation

const std::string & EDFilterBase::baseType ( )
static

Definition at line 246 of file EDFilterBase.cc.

References edm::global::kBaseType().

246 { return kBaseType; }
static const std::string kBaseType("EDAnalyzer")
virtual void edm::global::EDFilterBase::beginJob ( void  )
inlineprivatevirtual
void EDFilterBase::doAcquire ( EventPrincipal const &  ep,
EventSetupImpl const &  ci,
ActivityRegistry act,
ModuleCallingContext const *  mcc,
WaitingTaskWithArenaHolder holder 
)
private

Definition at line 65 of file EDFilterBase.cc.

References EnergyCorrector::c, doAcquire_(), MillePedeFileConverter_cfg::e, edm::EDConsumerBase::esGetTokenIndices(), edm::Event, gotBranchIDsFromAcquire_, moduleDescription_, edm::Event::setConsumer(), edm::Event::setProducerForAcquire(), edm::Event::streamID(), and edm::StreamID::value().

69  {
70  Event e(ep, moduleDescription_, mcc);
71  e.setConsumer(this);
72  const auto streamIndex = e.streamID().value();
73  e.setProducerForAcquire(this, nullptr, gotBranchIDsFromAcquire_[streamIndex]);
74  EventAcquireSignalsSentry sentry(act, mcc);
75  const EventSetup c{ci, static_cast<unsigned int>(Transition::Event), esGetTokenIndices(Transition::Event)};
76  this->doAcquire_(e.streamID(), e, c, holder);
77  }
ModuleDescription moduleDescription_
Definition: EDFilterBase.h:157
virtual void doAcquire_(StreamID, Event const &, edm::EventSetup const &, WaitingTaskWithArenaHolder &)
std::unique_ptr< std::vector< BranchID >[]> gotBranchIDsFromAcquire_
Definition: EDFilterBase.h:159
ESProxyIndex const * esGetTokenIndices(edm::Transition iTrans) const
void EDFilterBase::doAcquire_ ( StreamID  ,
Event const &  ,
edm::EventSetup const &  ,
WaitingTaskWithArenaHolder  
)
privatevirtual

Definition at line 234 of file EDFilterBase.cc.

Referenced by doAcquire().

234 {}
void EDFilterBase::doBeginJob ( )
private

Definition at line 91 of file EDFilterBase.cc.

References beginJob().

91 { this->beginJob(); }
void EDFilterBase::doBeginLuminosityBlock ( LuminosityBlockPrincipal const &  lbp,
EventSetupImpl const &  c,
ModuleCallingContext const *  mcc 
)
private

Definition at line 119 of file EDFilterBase.cc.

References edm::BeginLuminosityBlock, EnergyCorrector::c, edm::ProducerBase::commit_(), doBeginLuminosityBlock_(), doBeginLuminosityBlockProduce_(), doBeginLuminosityBlockSummary_(), edm::EDConsumerBase::esGetTokenIndices(), moduleDescription_, edm::LuminosityBlock::setConsumer(), and edm::LuminosityBlock::setProducer().

121  {
122  LuminosityBlock lb(lbp, moduleDescription_, mcc, false);
123  lb.setConsumer(this);
124  LuminosityBlock const& cnstLb = lb;
125  const EventSetup c{ci,
126  static_cast<unsigned int>(Transition::BeginLuminosityBlock),
128  this->doBeginLuminosityBlock_(cnstLb, c);
129  this->doBeginLuminosityBlockSummary_(cnstLb, c);
130  lb.setProducer(this);
132  commit_(lb);
133  }
virtual void doBeginLuminosityBlockSummary_(LuminosityBlock const &rp, EventSetup const &c)
ModuleDescription moduleDescription_
Definition: EDFilterBase.h:157
virtual void doBeginLuminosityBlockProduce_(LuminosityBlock &lbp, EventSetup const &c)
virtual void doBeginLuminosityBlock_(LuminosityBlock const &lbp, EventSetup const &c)
void commit_(P &iPrincipal)
Definition: ProducerBase.h:111
ESProxyIndex const * esGetTokenIndices(edm::Transition iTrans) const
void EDFilterBase::doBeginLuminosityBlock_ ( LuminosityBlock const &  lbp,
EventSetup const &  c 
)
privatevirtual

Definition at line 224 of file EDFilterBase.cc.

Referenced by doBeginLuminosityBlock().

224 {}
void EDFilterBase::doBeginLuminosityBlockProduce_ ( LuminosityBlock lbp,
EventSetup const &  c 
)
privatevirtual

Definition at line 231 of file EDFilterBase.cc.

Referenced by doBeginLuminosityBlock().

231 {}
void EDFilterBase::doBeginLuminosityBlockSummary_ ( LuminosityBlock const &  rp,
EventSetup const &  c 
)
privatevirtual

Definition at line 226 of file EDFilterBase.cc.

Referenced by doBeginLuminosityBlock().

226 {}
void EDFilterBase::doBeginRun ( RunPrincipal const &  rp,
EventSetupImpl const &  c,
ModuleCallingContext const *  mcc 
)
private

Definition at line 95 of file EDFilterBase.cc.

References edm::BeginRun, EnergyCorrector::c, edm::ProducerBase::commit_(), doBeginRun_(), doBeginRunProduce_(), doBeginRunSummary_(), edm::EDConsumerBase::esGetTokenIndices(), moduleDescription_, alignCSCRings::r, edm::Run::setConsumer(), and edm::Run::setProducer().

95  {
96  Run r(rp, moduleDescription_, mcc, false);
97  r.setConsumer(this);
98  Run const& cnstR = r;
99  const EventSetup c{ci, static_cast<unsigned int>(Transition::BeginRun), esGetTokenIndices(Transition::BeginRun)};
100  this->doBeginRun_(cnstR, c);
101  this->doBeginRunSummary_(cnstR, c);
102  r.setProducer(this);
103  this->doBeginRunProduce_(r, c);
104  commit_(r);
105  }
ModuleDescription moduleDescription_
Definition: EDFilterBase.h:157
virtual void doBeginRunProduce_(Run &rp, EventSetup const &c)
virtual void doBeginRunSummary_(Run const &rp, EventSetup const &c)
virtual void doBeginRun_(Run const &rp, EventSetup const &c)
void commit_(P &iPrincipal)
Definition: ProducerBase.h:111
ESProxyIndex const * esGetTokenIndices(edm::Transition iTrans) const
void EDFilterBase::doBeginRun_ ( Run const &  rp,
EventSetup const &  c 
)
privatevirtual

Definition at line 219 of file EDFilterBase.cc.

Referenced by doBeginRun().

219 {}
void EDFilterBase::doBeginRunProduce_ ( Run rp,
EventSetup const &  c 
)
privatevirtual

Definition at line 229 of file EDFilterBase.cc.

Referenced by doBeginRun().

229 {}
void EDFilterBase::doBeginRunSummary_ ( Run const &  rp,
EventSetup const &  c 
)
privatevirtual

Definition at line 221 of file EDFilterBase.cc.

Referenced by doBeginRun().

221 {}
void EDFilterBase::doBeginStream ( StreamID  id)
private

Definition at line 151 of file EDFilterBase.cc.

References doBeginStream_().

151 { doBeginStream_(id); }
virtual void doBeginStream_(StreamID id)
void EDFilterBase::doBeginStream_ ( StreamID  id)
privatevirtual

Definition at line 208 of file EDFilterBase.cc.

Referenced by doBeginStream().

208 {}
void EDFilterBase::doEndJob ( )
private

Definition at line 93 of file EDFilterBase.cc.

References endJob().

93 { this->endJob(); }
void EDFilterBase::doEndLuminosityBlock ( LuminosityBlockPrincipal const &  lbp,
EventSetupImpl const &  c,
ModuleCallingContext const *  mcc 
)
private

Definition at line 135 of file EDFilterBase.cc.

References EnergyCorrector::c, edm::ProducerBase::commit_(), doEndLuminosityBlock_(), doEndLuminosityBlockProduce_(), doEndLuminosityBlockSummary_(), edm::EndLuminosityBlock, edm::EDConsumerBase::esGetTokenIndices(), moduleDescription_, edm::LuminosityBlock::setConsumer(), and edm::LuminosityBlock::setProducer().

137  {
138  LuminosityBlock lb(lbp, moduleDescription_, mcc, true);
139  lb.setConsumer(this);
140  lb.setProducer(this);
141  LuminosityBlock const& cnstLb = lb;
142  const EventSetup c{ci,
143  static_cast<unsigned int>(Transition::EndLuminosityBlock),
145  this->doEndLuminosityBlockProduce_(lb, c);
146  this->doEndLuminosityBlockSummary_(cnstLb, c);
147  this->doEndLuminosityBlock_(cnstLb, c);
148  commit_(lb);
149  }
ModuleDescription moduleDescription_
Definition: EDFilterBase.h:157
virtual void doEndLuminosityBlock_(LuminosityBlock const &lb, EventSetup const &c)
virtual void doEndLuminosityBlockSummary_(LuminosityBlock const &lb, EventSetup const &c)
virtual void doEndLuminosityBlockProduce_(LuminosityBlock &lbp, EventSetup const &c)
void commit_(P &iPrincipal)
Definition: ProducerBase.h:111
ESProxyIndex const * esGetTokenIndices(edm::Transition iTrans) const
void EDFilterBase::doEndLuminosityBlock_ ( LuminosityBlock const &  lb,
EventSetup const &  c 
)
privatevirtual

Definition at line 225 of file EDFilterBase.cc.

Referenced by doEndLuminosityBlock().

225 {}
void EDFilterBase::doEndLuminosityBlockProduce_ ( LuminosityBlock lbp,
EventSetup const &  c 
)
privatevirtual

Definition at line 232 of file EDFilterBase.cc.

Referenced by doEndLuminosityBlock().

232 {}
void EDFilterBase::doEndLuminosityBlockSummary_ ( LuminosityBlock const &  lb,
EventSetup const &  c 
)
privatevirtual

Definition at line 227 of file EDFilterBase.cc.

Referenced by doEndLuminosityBlock().

227 {}
void EDFilterBase::doEndRun ( RunPrincipal const &  rp,
EventSetupImpl const &  c,
ModuleCallingContext const *  mcc 
)
private

Definition at line 107 of file EDFilterBase.cc.

References EnergyCorrector::c, edm::ProducerBase::commit_(), doEndRun_(), doEndRunProduce_(), doEndRunSummary_(), edm::EndRun, edm::EDConsumerBase::esGetTokenIndices(), moduleDescription_, alignCSCRings::r, edm::Run::setConsumer(), and edm::Run::setProducer().

107  {
108  Run r(rp, moduleDescription_, mcc, true);
109  r.setConsumer(this);
110  r.setProducer(this);
111  Run const& cnstR = r;
112  const EventSetup c{ci, static_cast<unsigned int>(Transition::EndRun), esGetTokenIndices(Transition::EndRun)};
113  this->doEndRunProduce_(r, c);
114  this->doEndRunSummary_(r, c);
115  this->doEndRun_(cnstR, c);
116  commit_(r);
117  }
virtual void doEndRunProduce_(Run &rp, EventSetup const &c)
ModuleDescription moduleDescription_
Definition: EDFilterBase.h:157
virtual void doEndRunSummary_(Run const &rp, EventSetup const &c)
virtual void doEndRun_(Run const &rp, EventSetup const &c)
void commit_(P &iPrincipal)
Definition: ProducerBase.h:111
ESProxyIndex const * esGetTokenIndices(edm::Transition iTrans) const
void EDFilterBase::doEndRun_ ( Run const &  rp,
EventSetup const &  c 
)
privatevirtual

Definition at line 220 of file EDFilterBase.cc.

Referenced by doEndRun().

220 {}
void EDFilterBase::doEndRunProduce_ ( Run rp,
EventSetup const &  c 
)
privatevirtual

Definition at line 230 of file EDFilterBase.cc.

Referenced by doEndRun().

230 {}
void EDFilterBase::doEndRunSummary_ ( Run const &  rp,
EventSetup const &  c 
)
privatevirtual

Definition at line 222 of file EDFilterBase.cc.

Referenced by doEndRun().

222 {}
void EDFilterBase::doEndStream ( StreamID  id)
private

Definition at line 152 of file EDFilterBase.cc.

References doEndStream_().

152 { doEndStream_(id); }
virtual void doEndStream_(StreamID id)
void EDFilterBase::doEndStream_ ( StreamID  id)
privatevirtual

Definition at line 209 of file EDFilterBase.cc.

Referenced by doEndStream().

209 {}
bool EDFilterBase::doEvent ( EventPrincipal const &  ep,
EventSetupImpl const &  ci,
ActivityRegistry act,
ModuleCallingContext const *  mcc 
)
private

Definition at line 49 of file EDFilterBase.cc.

References EnergyCorrector::c, edm::ProducerBase::commit_(), MillePedeFileConverter_cfg::e, edm::EDConsumerBase::esGetTokenIndices(), edm::Event, filter(), gotBranchIDsFromAcquire_, hasAcquire(), moduleDescription_, previousParentageIds_, previousParentages_, edm::Event::setConsumer(), edm::Event::setProducer(), edm::Event::streamID(), and edm::StreamID::value().

52  {
53  Event e(ep, moduleDescription_, mcc);
54  e.setConsumer(this);
55  const auto streamIndex = e.streamID().value();
56  e.setProducer(
57  this, &previousParentages_[streamIndex], hasAcquire() ? &gotBranchIDsFromAcquire_[streamIndex] : nullptr);
58  EventSignalsSentry sentry(act, mcc);
59  const EventSetup c{ci, static_cast<unsigned int>(Transition::Event), esGetTokenIndices(Transition::Event)};
60  bool returnValue = this->filter(e.streamID(), e, c);
61  commit_(e, &previousParentageIds_[streamIndex]);
62  return returnValue;
63  }
virtual bool filter(StreamID, Event &, EventSetup const &) const =0
ModuleDescription moduleDescription_
Definition: EDFilterBase.h:157
virtual bool hasAcquire() const
Definition: EDFilterBase.h:151
std::unique_ptr< std::vector< BranchID >[]> previousParentages_
Definition: EDFilterBase.h:158
std::unique_ptr< ParentageID[]> previousParentageIds_
Definition: EDFilterBase.h:160
std::unique_ptr< std::vector< BranchID >[]> gotBranchIDsFromAcquire_
Definition: EDFilterBase.h:159
void commit_(P &iPrincipal)
Definition: ProducerBase.h:111
ESProxyIndex const * esGetTokenIndices(edm::Transition iTrans) const
void EDFilterBase::doPreallocate ( PreallocationConfiguration const &  iPrealloc)
private

Definition at line 79 of file EDFilterBase.cc.

References gotBranchIDsFromAcquire_, hasAcquire(), edm::PreallocationConfiguration::numberOfLuminosityBlocks(), edm::PreallocationConfiguration::numberOfStreams(), preallocate(), preallocLumis(), preallocStreams(), previousParentageIds_, and previousParentages_.

79  {
80  const auto nStreams = iPrealloc.numberOfStreams();
81  previousParentages_.reset(new std::vector<BranchID>[nStreams]);
82  if (hasAcquire()) {
83  gotBranchIDsFromAcquire_.reset(new std::vector<BranchID>[nStreams]);
84  }
85  previousParentageIds_.reset(new ParentageID[nStreams]);
86  preallocStreams(nStreams);
87  preallocLumis(iPrealloc.numberOfLuminosityBlocks());
88  preallocate(iPrealloc);
89  }
virtual void preallocate(PreallocationConfiguration const &)
virtual bool hasAcquire() const
Definition: EDFilterBase.h:151
std::unique_ptr< std::vector< BranchID >[]> previousParentages_
Definition: EDFilterBase.h:158
std::unique_ptr< ParentageID[]> previousParentageIds_
Definition: EDFilterBase.h:160
std::unique_ptr< std::vector< BranchID >[]> gotBranchIDsFromAcquire_
Definition: EDFilterBase.h:159
virtual void preallocLumis(unsigned int)
virtual void preallocStreams(unsigned int)
Hash< ParentageType > ParentageID
Definition: ParentageID.h:9
void edm::global::EDFilterBase::doRegisterThinnedAssociations ( ProductRegistry const &  ,
ThinnedAssociationsHelper  
)
inlineprivate

Definition at line 114 of file EDFilterBase.h.

114 {}
void EDFilterBase::doRespondToCloseInputFile ( FileBlock const &  fb)
private

Definition at line 201 of file EDFilterBase.cc.

201  {
202  //respondToCloseInputFile(fb);
203  }
void EDFilterBase::doRespondToOpenInputFile ( FileBlock const &  fb)
private

Definition at line 197 of file EDFilterBase.cc.

197  {
198  //respondToOpenInputFile(fb);
199  }
void EDFilterBase::doStreamBeginLuminosityBlock ( StreamID  id,
LuminosityBlockPrincipal const &  ep,
EventSetupImpl const &  c,
ModuleCallingContext const *  mcc 
)
private

Definition at line 172 of file EDFilterBase.cc.

References edm::BeginLuminosityBlock, EnergyCorrector::c, doStreamBeginLuminosityBlock_(), edm::EDConsumerBase::esGetTokenIndices(), moduleDescription_, and edm::LuminosityBlock::setConsumer().

175  {
176  LuminosityBlock lb(lbp, moduleDescription_, mcc, false);
177  lb.setConsumer(this);
178  const EventSetup c{ci,
179  static_cast<unsigned int>(Transition::BeginLuminosityBlock),
181  this->doStreamBeginLuminosityBlock_(id, lb, c);
182  }
virtual void doStreamBeginLuminosityBlock_(StreamID id, LuminosityBlock const &lbp, EventSetup const &c)
ModuleDescription moduleDescription_
Definition: EDFilterBase.h:157
ESProxyIndex const * esGetTokenIndices(edm::Transition iTrans) const
void EDFilterBase::doStreamBeginLuminosityBlock_ ( StreamID  id,
LuminosityBlock const &  lbp,
EventSetup const &  c 
)
privatevirtual

Definition at line 213 of file EDFilterBase.cc.

Referenced by doStreamBeginLuminosityBlock().

213 {}
void EDFilterBase::doStreamBeginRun ( StreamID  id,
RunPrincipal const &  ep,
EventSetupImpl const &  c,
ModuleCallingContext const *  mcc 
)
private

Definition at line 153 of file EDFilterBase.cc.

References edm::BeginRun, EnergyCorrector::c, doStreamBeginRun_(), edm::EDConsumerBase::esGetTokenIndices(), moduleDescription_, alignCSCRings::r, and edm::Run::setConsumer().

156  {
157  Run r(rp, moduleDescription_, mcc, false);
158  r.setConsumer(this);
159  const EventSetup c{ci, static_cast<unsigned int>(Transition::BeginRun), esGetTokenIndices(Transition::BeginRun)};
160  this->doStreamBeginRun_(id, r, c);
161  }
virtual void doStreamBeginRun_(StreamID id, Run const &rp, EventSetup const &c)
ModuleDescription moduleDescription_
Definition: EDFilterBase.h:157
ESProxyIndex const * esGetTokenIndices(edm::Transition iTrans) const
void EDFilterBase::doStreamBeginRun_ ( StreamID  id,
Run const &  rp,
EventSetup const &  c 
)
privatevirtual

Definition at line 210 of file EDFilterBase.cc.

Referenced by doStreamBeginRun().

210 {}
void EDFilterBase::doStreamEndLuminosityBlock ( StreamID  id,
LuminosityBlockPrincipal const &  ep,
EventSetupImpl const &  c,
ModuleCallingContext const *  mcc 
)
private

Definition at line 184 of file EDFilterBase.cc.

References EnergyCorrector::c, doStreamEndLuminosityBlock_(), doStreamEndLuminosityBlockSummary_(), edm::EndLuminosityBlock, edm::EDConsumerBase::esGetTokenIndices(), moduleDescription_, and edm::LuminosityBlock::setConsumer().

187  {
188  LuminosityBlock lb(lbp, moduleDescription_, mcc, true);
189  lb.setConsumer(this);
190  const EventSetup c{ci,
191  static_cast<unsigned int>(Transition::EndLuminosityBlock),
193  this->doStreamEndLuminosityBlock_(id, lb, c);
194  this->doStreamEndLuminosityBlockSummary_(id, lb, c);
195  }
virtual void doStreamEndLuminosityBlock_(StreamID id, LuminosityBlock const &lbp, EventSetup const &c)
virtual void doStreamEndLuminosityBlockSummary_(StreamID id, LuminosityBlock const &lbp, EventSetup const &c)
ModuleDescription moduleDescription_
Definition: EDFilterBase.h:157
ESProxyIndex const * esGetTokenIndices(edm::Transition iTrans) const
void EDFilterBase::doStreamEndLuminosityBlock_ ( StreamID  id,
LuminosityBlock const &  lbp,
EventSetup const &  c 
)
privatevirtual

Definition at line 214 of file EDFilterBase.cc.

Referenced by doStreamEndLuminosityBlock().

214 {}
void EDFilterBase::doStreamEndLuminosityBlockSummary_ ( StreamID  id,
LuminosityBlock const &  lbp,
EventSetup const &  c 
)
privatevirtual

Definition at line 215 of file EDFilterBase.cc.

Referenced by doStreamEndLuminosityBlock().

217  {}
void EDFilterBase::doStreamEndRun ( StreamID  id,
RunPrincipal const &  ep,
EventSetupImpl const &  c,
ModuleCallingContext const *  mcc 
)
private

Definition at line 162 of file EDFilterBase.cc.

References EnergyCorrector::c, doStreamEndRun_(), doStreamEndRunSummary_(), edm::EndRun, edm::EDConsumerBase::esGetTokenIndices(), moduleDescription_, alignCSCRings::r, and edm::Run::setConsumer().

165  {
166  Run r(rp, moduleDescription_, mcc, true);
167  r.setConsumer(this);
168  const EventSetup c{ci, static_cast<unsigned int>(Transition::EndRun), esGetTokenIndices(Transition::EndRun)};
169  this->doStreamEndRun_(id, r, c);
170  this->doStreamEndRunSummary_(id, r, c);
171  }
virtual void doStreamEndRun_(StreamID id, Run const &rp, EventSetup const &c)
ModuleDescription moduleDescription_
Definition: EDFilterBase.h:157
virtual void doStreamEndRunSummary_(StreamID id, Run const &rp, EventSetup const &c)
ESProxyIndex const * esGetTokenIndices(edm::Transition iTrans) const
void EDFilterBase::doStreamEndRun_ ( StreamID  id,
Run const &  rp,
EventSetup const &  c 
)
privatevirtual

Definition at line 211 of file EDFilterBase.cc.

Referenced by doStreamEndRun().

211 {}
void EDFilterBase::doStreamEndRunSummary_ ( StreamID  id,
Run const &  rp,
EventSetup const &  c 
)
privatevirtual

Definition at line 212 of file EDFilterBase.cc.

Referenced by doStreamEndRun().

212 {}
virtual void edm::global::EDFilterBase::endJob ( void  )
inlineprivatevirtual
void EDFilterBase::fillDescriptions ( ConfigurationDescriptions descriptions)
static

Definition at line 236 of file EDFilterBase.cc.

References edm::ConfigurationDescriptions::addDefault(), and edm::ParameterSetDescription::setUnknown().

236  {
238  desc.setUnknown();
239  descriptions.addDefault(desc);
240  }
virtual bool edm::global::EDFilterBase::filter ( StreamID  ,
Event ,
EventSetup const &   
) const
privatepure virtual
bool edm::global::EDFilterBase::hasAccumulator ( ) const
inlineprivate

Definition at line 152 of file EDFilterBase.h.

152 { return false; }
virtual bool edm::global::EDFilterBase::hasAcquire ( ) const
inlineprivatevirtual

Definition at line 151 of file EDFilterBase.h.

Referenced by doEvent(), and doPreallocate().

151 { return false; }
ModuleDescription const& edm::global::EDFilterBase::moduleDescription ( ) const
inline
void edm::global::EDFilterBase::preActionBeforeRunEventAsync ( WaitingTask iTask,
ModuleCallingContext const &  iModuleCallingContext,
Principal const &  iPrincipal 
) const
inlineprivate

Definition at line 81 of file EDFilterBase.h.

References EnergyCorrector::c, and benchmark_cfg::fb.

83  {}
void EDFilterBase::preallocate ( PreallocationConfiguration const &  )
privatevirtual

Definition at line 207 of file EDFilterBase.cc.

Referenced by doPreallocate().

207 {}
void EDFilterBase::preallocLumis ( unsigned  int)
privatevirtual

Definition at line 206 of file EDFilterBase.cc.

Referenced by doPreallocate().

206 {}
void EDFilterBase::preallocStreams ( unsigned  int)
privatevirtual

Definition at line 205 of file EDFilterBase.cc.

Referenced by doPreallocate().

205 {}
void EDFilterBase::prevalidate ( ConfigurationDescriptions descriptions)
static

Definition at line 242 of file EDFilterBase.cc.

References edm::edmodule_mightGet_config(), edm::global::kBaseType(), and AlCaHLTBitMon_QueryRunRegistry::string.

242 { edmodule_mightGet_config(iConfig); }
void edmodule_mightGet_config(ConfigurationDescriptions &iDesc)
void edm::global::EDFilterBase::registerProductsAndCallbacks ( EDFilterBase module,
ProductRegistry reg 
)
inlineprivate

Definition at line 116 of file EDFilterBase.h.

116  {
117  registerProducts(module, reg, moduleDescription_);
118  }
void registerProducts(ProducerBase *, ProductRegistry *, ModuleDescription const &)
Definition: ProducerBase.cc:56
ModuleDescription moduleDescription_
Definition: EDFilterBase.h:157
void edm::global::EDFilterBase::setModuleDescription ( ModuleDescription const &  md)
inlineprivate

Definition at line 156 of file EDFilterBase.h.

156 { moduleDescription_ = md; }
ModuleDescription moduleDescription_
Definition: EDFilterBase.h:157
virtual bool edm::global::EDFilterBase::wantsGlobalLuminosityBlocks ( ) const
pure virtual
virtual bool edm::global::EDFilterBase::wantsGlobalRuns ( ) const
pure virtual
virtual bool edm::global::EDFilterBase::wantsStreamLuminosityBlocks ( ) const
pure virtual
virtual bool edm::global::EDFilterBase::wantsStreamRuns ( ) const
pure virtual
std::string edm::global::EDFilterBase::workerType ( ) const
inlineprivate

Definition at line 119 of file EDFilterBase.h.

References ALCARECOTkAlBeamHalo_cff::filter.

119 { return "WorkerT<EDProducer>"; }

Friends And Related Function Documentation

template<typename T >
friend class edm::maker::ModuleHolderT
friend

Definition at line 53 of file EDFilterBase.h.

template<typename T >
friend class edm::WorkerT
friend

Definition at line 55 of file EDFilterBase.h.

Member Data Documentation

std::unique_ptr<std::vector<BranchID>[]> edm::global::EDFilterBase::gotBranchIDsFromAcquire_
private

Definition at line 159 of file EDFilterBase.h.

Referenced by doAcquire(), doEvent(), and doPreallocate().

ModuleDescription edm::global::EDFilterBase::moduleDescription_
private
std::unique_ptr<ParentageID[]> edm::global::EDFilterBase::previousParentageIds_
private

Definition at line 160 of file EDFilterBase.h.

Referenced by doEvent(), and doPreallocate().

std::unique_ptr<std::vector<BranchID>[]> edm::global::EDFilterBase::previousParentages_
private

Definition at line 158 of file EDFilterBase.h.

Referenced by doEvent(), and doPreallocate().