CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends
edm::one::EDAnalyzerBase Class Referenceabstract

#include <EDAnalyzerBase.h>

Inheritance diagram for edm::one::EDAnalyzerBase:
edm::EDConsumerBase edm::one::EDAnalyzer< edm::one::SharedResources > edm::one::EDAnalyzer< edm::one::WatchRuns, edm::one::WatchLuminosityBlocks > edm::one::EDAnalyzer< edm::one::WatchRuns, edm::one::WatchLuminosityBlocks, edm::one::SharedResources > edm::one::EDAnalyzer< one::WatchRuns, one::WatchLuminosityBlocks > edm::one::EDAnalyzer<> edm::one::EDAnalyzer< T > CocoaAnalyzer edm::PrintEventSetupDataRetrieval GenXSecAnalyzer DQMEDHarvester edm::PrintEventSetupContent CalibratableTest BTagPerformanceHarvester CaloTowersClient CaloTowersDQMClient CSCCertificationInfo CSCDaqInfo CSCDcsInfo CSCOfflineClient DataCertificationJetMET DQMExample_Step2 DQMGenericClient DQMHcalIsoTrackPostProcessor DTBlockedROChannelsTest DTCertificationSummary DTChamberEfficiencyClient DTChamberEfficiencyTest DTDAQInfo DTDataIntegrityTest DTDCSByLumiSummary DTDCSSummary DTEfficiencyTest DTLocalTriggerBaseTest DTNoiseAnalysisTest DTOccupancyTest DTOfflineSummaryClients DTResolutionAnalysisTest DTResolutionTest DTRunConditionVarClient DTSegmentAnalysisTest DTSummaryClients EcalCondDBReader EcalCondDBWriter EcalDQMonitorClient EcalMEFormatter EcalPreshowerMonitorClient EcalZmassClient EfficiencyPlotter ElectronDqmHarvesterBase EmDQMPostProcessor FastTimerServiceClient HcalDAQInfo HcalDataCertification HcalDigisClient HcalMonitorClient HcalNoiseRatesClient HcalRecHitsClient HcalRecHitsDQMClient HcalSimHitsClient HeavyFlavorHarvesting HLTBTagHarvestingAnalyzer HLTMuonCertSummary HltSusyExoPostProcessor HLTTauCertifier HLTTauPostProcessor JetMETDQMPostProcessor JetMETHLTOfflineClient JetTesterPostProcessor L1EmulatorErrorFlagClient L1TCSCTFClient L1TDTTFClient L1TDTTPGClient L1TEfficiency_Harvesting L1TEventInfoClient L1TGCTClient L1TGMTClient L1TOccupancyClient L1TRPCTFClient L1TTestsSummary METTesterPostProcessor METTesterPostProcessorHarvesting MuonRecoTest MuonTestSummary MuonTrackResidualsTest NoiseRatesClient PFClient PFClient_JetRes PhotonOfflineClient PlotCombiner RPCChamberQuality RPCDaqInfo RPCDataCertification RPCDcsInfoClient RPCDCSSummary RPCDqmClient RPCEfficiencyPerRingLayer RPCEfficiencySecond RPCEfficiencyShiftHisto RPCEventSummary RPCRecHitProbabilityClient RPCRecHitValidClient SiPixelCertification SiPixelDaqInfo SiPixelDcsInfo SiPixelEDAClient SusyPostProcessor ThroughputServiceClient TrackEfficiencyClient TrackingAnalyser TrackingCertificationInfo TrackingDQMClientHeavyIons TrackingOfflineDQM

Public Types

typedef EDAnalyzerBase ModuleType
 

Public Member Functions

 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDAnalyzerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Static Public Member Functions

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

Protected Member Functions

void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Private Member Functions

virtual void analyze (Event const &, EventSetup const &)=0
 
virtual void beginJob ()
 
virtual SharedResourcesAcquirer createAcquirer ()
 
void doBeginJob ()
 
void doBeginLuminosityBlock (LuminosityBlockPrincipal &lbp, EventSetup const &c, ModuleCallingContext const *)
 
virtual void doBeginLuminosityBlock_ (LuminosityBlock const &lbp, EventSetup const &c)
 
void doBeginRun (RunPrincipal &rp, EventSetup const &c, ModuleCallingContext const *)
 
virtual void doBeginRun_ (Run const &rp, EventSetup const &c)
 
void doEndJob ()
 
void doEndLuminosityBlock (LuminosityBlockPrincipal &lbp, EventSetup const &c, ModuleCallingContext const *)
 
virtual void doEndLuminosityBlock_ (LuminosityBlock const &lbp, EventSetup const &c)
 
void doEndRun (RunPrincipal &rp, EventSetup const &c, ModuleCallingContext const *)
 
virtual void doEndRun_ (Run const &rp, EventSetup const &c)
 
bool doEvent (EventPrincipal &ep, EventSetup const &c, ActivityRegistry *, ModuleCallingContext const *)
 
void doPostForkReacquireResources (unsigned int iChildIndex, unsigned int iNumberOfChildren)
 
void doPreallocate (PreallocationConfiguration const &)
 
void doPreForkReleaseResources ()
 
void doRegisterThinnedAssociations (ProductRegistry const &, ThinnedAssociationsHelper &)
 
void doRespondToCloseInputFile (FileBlock const &fb)
 
void doRespondToOpenInputFile (FileBlock const &fb)
 
virtual void endJob ()
 
virtual void postForkReacquireResources (unsigned int, unsigned int)
 
virtual void preForkReleaseResources ()
 
void registerProductsAndCallbacks (EDAnalyzerBase const *module, ProductRegistry *reg)
 
void setModuleDescription (ModuleDescription const &md)
 
std::string workerType () const
 

Private Attributes

std::function< void(BranchDescription
const &)> 
callWhenNewProductsRegistered_
 
ModuleDescription moduleDescription_
 
std::mutex mutex_
 
SharedResourcesAcquirer resourcesAcquirer_
 

Friends

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

Detailed Description

Definition at line 46 of file EDAnalyzerBase.h.

Member Typedef Documentation

Definition at line 53 of file EDAnalyzerBase.h.

Constructor & Destructor Documentation

EDAnalyzerBase::EDAnalyzerBase ( )

Definition at line 42 of file EDAnalyzerBase.cc.

42  :
43  moduleDescription_() { }
ModuleDescription moduleDescription_
EDAnalyzerBase::~EDAnalyzerBase ( )
virtual

Definition at line 45 of file EDAnalyzerBase.cc.

46  {
47  }

Member Function Documentation

virtual void edm::one::EDAnalyzerBase::analyze ( Event const &  ,
EventSetup const &   
)
privatepure virtual
const std::string & EDAnalyzerBase::baseType ( )
static

Definition at line 156 of file EDAnalyzerBase.cc.

References edm::one::kBaseType().

156  {
157  return kBaseType;
158  }
static const std::string kBaseType("EDAnalyzer")
virtual void edm::one::EDAnalyzerBase::beginJob ( void  )
inlineprivatevirtual
void edm::one::EDAnalyzerBase::callWhenNewProductsRegistered ( std::function< void(BranchDescription const &)> const &  func)
protected
SharedResourcesAcquirer EDAnalyzerBase::createAcquirer ( )
privatevirtual

Definition at line 64 of file EDAnalyzerBase.cc.

Referenced by doBeginJob().

64  {
65  return SharedResourcesAcquirer{};
66  }
void EDAnalyzerBase::doBeginJob ( )
private

Definition at line 69 of file EDAnalyzerBase.cc.

References beginJob(), createAcquirer(), and resourcesAcquirer_.

69  {
71 
72  this->beginJob();
73  }
virtual SharedResourcesAcquirer createAcquirer()
SharedResourcesAcquirer resourcesAcquirer_
void EDAnalyzerBase::doBeginLuminosityBlock ( LuminosityBlockPrincipal lbp,
EventSetup const &  c,
ModuleCallingContext const *  mcc 
)
private

Definition at line 99 of file EDAnalyzerBase.cc.

References doBeginLuminosityBlock_(), moduleDescription_, and edm::LuminosityBlock::setConsumer().

100  {
101  LuminosityBlock lb(lbp, moduleDescription_, mcc);
102  lb.setConsumer(this);
103  LuminosityBlock const& cnstLb = lb;
104  this->doBeginLuminosityBlock_(cnstLb, c);
105  }
ModuleDescription moduleDescription_
virtual void doBeginLuminosityBlock_(LuminosityBlock const &lbp, EventSetup const &c)
void EDAnalyzerBase::doBeginLuminosityBlock_ ( LuminosityBlock const &  lbp,
EventSetup const &  c 
)
privatevirtual

Definition at line 138 of file EDAnalyzerBase.cc.

Referenced by doBeginLuminosityBlock().

138 {}
void EDAnalyzerBase::doBeginRun ( RunPrincipal rp,
EventSetup const &  c,
ModuleCallingContext const *  mcc 
)
private

Definition at line 81 of file EDAnalyzerBase.cc.

References doBeginRun_(), moduleDescription_, alignCSCRings::r, and edm::Run::setConsumer().

82  {
83  Run r(rp, moduleDescription_, mcc);
84  r.setConsumer(this);
85  Run const& cnstR = r;
86  this->doBeginRun_(cnstR, c);
87  }
ModuleDescription moduleDescription_
virtual void doBeginRun_(Run const &rp, EventSetup const &c)
void EDAnalyzerBase::doBeginRun_ ( Run const &  rp,
EventSetup const &  c 
)
privatevirtual

Definition at line 136 of file EDAnalyzerBase.cc.

Referenced by doBeginRun().

136 {}
void EDAnalyzerBase::doEndJob ( )
private

Definition at line 76 of file EDAnalyzerBase.cc.

References endJob().

76  {
77  this->endJob();
78  }
void EDAnalyzerBase::doEndLuminosityBlock ( LuminosityBlockPrincipal lbp,
EventSetup const &  c,
ModuleCallingContext const *  mcc 
)
private

Definition at line 108 of file EDAnalyzerBase.cc.

References doEndLuminosityBlock_(), moduleDescription_, and edm::LuminosityBlock::setConsumer().

109  {
110  LuminosityBlock lb(lbp, moduleDescription_, mcc);
111  lb.setConsumer(this);
112  LuminosityBlock const& cnstLb = lb;
113  this->doEndLuminosityBlock_(cnstLb, c);
114  }
virtual void doEndLuminosityBlock_(LuminosityBlock const &lbp, EventSetup const &c)
ModuleDescription moduleDescription_
void EDAnalyzerBase::doEndLuminosityBlock_ ( LuminosityBlock const &  lbp,
EventSetup const &  c 
)
privatevirtual

Definition at line 139 of file EDAnalyzerBase.cc.

Referenced by doEndLuminosityBlock().

139 {}
void EDAnalyzerBase::doEndRun ( RunPrincipal rp,
EventSetup const &  c,
ModuleCallingContext const *  mcc 
)
private

Definition at line 90 of file EDAnalyzerBase.cc.

References doEndRun_(), moduleDescription_, alignCSCRings::r, and edm::Run::setConsumer().

91  {
92  Run r(rp, moduleDescription_, mcc);
93  r.setConsumer(this);
94  Run const& cnstR = r;
95  this->doEndRun_(cnstR, c);
96  }
virtual void doEndRun_(Run const &rp, EventSetup const &c)
ModuleDescription moduleDescription_
void EDAnalyzerBase::doEndRun_ ( Run const &  rp,
EventSetup const &  c 
)
privatevirtual

Definition at line 137 of file EDAnalyzerBase.cc.

Referenced by doEndRun().

137 {}
bool EDAnalyzerBase::doEvent ( EventPrincipal ep,
EventSetup const &  c,
ActivityRegistry act,
ModuleCallingContext const *  mcc 
)
private

Definition at line 50 of file EDAnalyzerBase.cc.

References analyze(), alignCSCRings::e, moduleDescription_, mutex_, resourcesAcquirer_, and edm::Event::setConsumer().

52  {
53  Event e(ep, moduleDescription_, mcc);
54  e.setConsumer(this);
55  {
56  std::lock_guard<std::mutex> guard(mutex_);
57  std::lock_guard<SharedResourcesAcquirer> guardResources(resourcesAcquirer_);
58  EventSignalsSentry sentry(act,mcc);
59  this->analyze(e, c);
60  }
61  return true;
62  }
virtual void analyze(Event const &, EventSetup const &)=0
SharedResourcesAcquirer resourcesAcquirer_
ModuleDescription moduleDescription_
void EDAnalyzerBase::doPostForkReacquireResources ( unsigned int  iChildIndex,
unsigned int  iNumberOfChildren 
)
private

Definition at line 132 of file EDAnalyzerBase.cc.

References postForkReacquireResources().

132  {
133  postForkReacquireResources(iChildIndex, iNumberOfChildren);
134  }
virtual void postForkReacquireResources(unsigned int, unsigned int)
void edm::one::EDAnalyzerBase::doPreallocate ( PreallocationConfiguration const &  )
inlineprivate

Definition at line 74 of file EDAnalyzerBase.h.

74 {}
void EDAnalyzerBase::doPreForkReleaseResources ( )
private

Definition at line 127 of file EDAnalyzerBase.cc.

References preForkReleaseResources().

127  {
129  }
virtual void preForkReleaseResources()
void edm::one::EDAnalyzerBase::doRegisterThinnedAssociations ( ProductRegistry const &  ,
ThinnedAssociationsHelper  
)
inlineprivate

Definition at line 93 of file EDAnalyzerBase.h.

94  { }
void EDAnalyzerBase::doRespondToCloseInputFile ( FileBlock const &  fb)
private

Definition at line 122 of file EDAnalyzerBase.cc.

122  {
123  //respondToCloseInputFile(fb);
124  }
void EDAnalyzerBase::doRespondToOpenInputFile ( FileBlock const &  fb)
private

Definition at line 117 of file EDAnalyzerBase.cc.

117  {
118  //respondToOpenInputFile(fb);
119  }
virtual void edm::one::EDAnalyzerBase::endJob ( void  )
inlineprivatevirtual

Reimplemented in CalibratableTest, edm::PrintEventSetupContent, GenXSecAnalyzer, and DQMEDHarvester.

Definition at line 101 of file EDAnalyzerBase.h.

Referenced by doEndJob().

101 {}
void EDAnalyzerBase::fillDescriptions ( ConfigurationDescriptions descriptions)
static

Definition at line 142 of file EDAnalyzerBase.cc.

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

142  {
144  desc.setUnknown();
145  descriptions.addDefault(desc);
146  }
ModuleDescription const& edm::one::EDAnalyzerBase::moduleDescription ( ) const
inline

Definition at line 64 of file EDAnalyzerBase.h.

References moduleDescription_.

64 { return moduleDescription_; }
ModuleDescription moduleDescription_
virtual void edm::one::EDAnalyzerBase::postForkReacquireResources ( unsigned  int,
unsigned  int 
)
inlineprivatevirtual

Definition at line 104 of file EDAnalyzerBase.h.

Referenced by doPostForkReacquireResources().

104 {}
virtual void edm::one::EDAnalyzerBase::preForkReleaseResources ( )
inlineprivatevirtual

Definition at line 103 of file EDAnalyzerBase.h.

Referenced by doPreForkReleaseResources().

103 {}
void EDAnalyzerBase::prevalidate ( ConfigurationDescriptions descriptions)
static

Definition at line 149 of file EDAnalyzerBase.cc.

References edm::edmodule_mightGet_config().

149  {
150  edmodule_mightGet_config(iConfig);
151  }
void edmodule_mightGet_config(ConfigurationDescriptions &iDesc)
void EDAnalyzerBase::registerProductsAndCallbacks ( EDAnalyzerBase const *  module,
ProductRegistry reg 
)
private

Definition at line 161 of file EDAnalyzerBase.cc.

References edm::ProductRegistry::callForEachBranch(), and callWhenNewProductsRegistered_.

161  {
162 
164 
165  reg->callForEachBranch(callWhenNewProductsRegistered_);
166 
168  regService->watchProductAdditions(callWhenNewProductsRegistered_);
169  }
170  }
std::function< void(BranchDescription const &)> callWhenNewProductsRegistered_
void edm::one::EDAnalyzerBase::setModuleDescription ( ModuleDescription const &  md)
inlineprivate

Definition at line 114 of file EDAnalyzerBase.h.

References popcon2dropbox_job_conf::md, and moduleDescription_.

114  {
116  }
ModuleDescription moduleDescription_
std::string edm::one::EDAnalyzerBase::workerType ( ) const
inlineprivate

Definition at line 97 of file EDAnalyzerBase.h.

97 {return "WorkerT<EDAnalyzer>";}

Friends And Related Function Documentation

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

Definition at line 51 of file EDAnalyzerBase.h.

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

Definition at line 50 of file EDAnalyzerBase.h.

Member Data Documentation

std::function<void(BranchDescription const&)> edm::one::EDAnalyzerBase::callWhenNewProductsRegistered_
private

Definition at line 118 of file EDAnalyzerBase.h.

Referenced by registerProductsAndCallbacks().

ModuleDescription edm::one::EDAnalyzerBase::moduleDescription_
private
std::mutex edm::one::EDAnalyzerBase::mutex_
private

Definition at line 121 of file EDAnalyzerBase.h.

Referenced by doEvent().

SharedResourcesAcquirer edm::one::EDAnalyzerBase::resourcesAcquirer_
private

Definition at line 120 of file EDAnalyzerBase.h.

Referenced by doBeginJob(), and doEvent().