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 | 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 > __class__< 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 EgHLTOfflineClient 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 MuonAlignmentSummary MuonRecoTest MuonTestSummary MuonTrackResidualsTest NoiseRatesClient PFClient PFClient_JetRes PhotonDataCertification 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 Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 

Public Member Functions

void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 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)
 

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
 

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 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 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 161 of file EDAnalyzerBase.cc.

References edm::one::kBaseType().

161  {
162  return kBaseType;
163  }
static const std::string kBaseType("EDAnalyzer")
virtual void edm::one::EDAnalyzerBase::beginJob ( void  )
inlineprivatevirtual
void EDAnalyzerBase::callWhenNewProductsRegistered ( std::function< void(BranchDescription const &)> const &  func)

Definition at line 50 of file EDAnalyzerBase.cc.

References callWhenNewProductsRegistered_.

50  {
52  }
std::function< void(BranchDescription const &)> callWhenNewProductsRegistered_
SharedResourcesAcquirer EDAnalyzerBase::createAcquirer ( )
privatevirtual

Definition at line 69 of file EDAnalyzerBase.cc.

Referenced by doBeginJob().

69  {
70  return SharedResourcesAcquirer{};
71  }
void EDAnalyzerBase::doBeginJob ( )
private

Definition at line 74 of file EDAnalyzerBase.cc.

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

74  {
76 
77  this->beginJob();
78  }
virtual SharedResourcesAcquirer createAcquirer()
SharedResourcesAcquirer resourcesAcquirer_
void EDAnalyzerBase::doBeginLuminosityBlock ( LuminosityBlockPrincipal lbp,
EventSetup const &  c,
ModuleCallingContext const *  mcc 
)
private

Definition at line 104 of file EDAnalyzerBase.cc.

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

105  {
106  LuminosityBlock lb(lbp, moduleDescription_, mcc);
107  lb.setConsumer(this);
108  LuminosityBlock const& cnstLb = lb;
109  this->doBeginLuminosityBlock_(cnstLb, c);
110  }
ModuleDescription moduleDescription_
virtual void doBeginLuminosityBlock_(LuminosityBlock const &lbp, EventSetup const &c)
void EDAnalyzerBase::doBeginLuminosityBlock_ ( LuminosityBlock const &  lbp,
EventSetup const &  c 
)
privatevirtual

Definition at line 143 of file EDAnalyzerBase.cc.

Referenced by doBeginLuminosityBlock().

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

Definition at line 86 of file EDAnalyzerBase.cc.

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

87  {
88  Run r(rp, moduleDescription_, mcc);
89  r.setConsumer(this);
90  Run const& cnstR = r;
91  this->doBeginRun_(cnstR, c);
92  }
ModuleDescription moduleDescription_
virtual void doBeginRun_(Run const &rp, EventSetup const &c)
void EDAnalyzerBase::doBeginRun_ ( Run const &  rp,
EventSetup const &  c 
)
privatevirtual

Definition at line 141 of file EDAnalyzerBase.cc.

Referenced by doBeginRun().

141 {}
void EDAnalyzerBase::doEndJob ( )
private

Definition at line 81 of file EDAnalyzerBase.cc.

References endJob().

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

Definition at line 113 of file EDAnalyzerBase.cc.

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

114  {
115  LuminosityBlock lb(lbp, moduleDescription_, mcc);
116  lb.setConsumer(this);
117  LuminosityBlock const& cnstLb = lb;
118  this->doEndLuminosityBlock_(cnstLb, c);
119  }
virtual void doEndLuminosityBlock_(LuminosityBlock const &lbp, EventSetup const &c)
ModuleDescription moduleDescription_
void EDAnalyzerBase::doEndLuminosityBlock_ ( LuminosityBlock const &  lbp,
EventSetup const &  c 
)
privatevirtual

Definition at line 144 of file EDAnalyzerBase.cc.

Referenced by doEndLuminosityBlock().

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

Definition at line 95 of file EDAnalyzerBase.cc.

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

96  {
97  Run r(rp, moduleDescription_, mcc);
98  r.setConsumer(this);
99  Run const& cnstR = r;
100  this->doEndRun_(cnstR, c);
101  }
virtual void doEndRun_(Run const &rp, EventSetup const &c)
ModuleDescription moduleDescription_
void EDAnalyzerBase::doEndRun_ ( Run const &  rp,
EventSetup const &  c 
)
privatevirtual

Definition at line 142 of file EDAnalyzerBase.cc.

Referenced by doEndRun().

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

Definition at line 55 of file EDAnalyzerBase.cc.

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

57  {
58  Event e(ep, moduleDescription_, mcc);
59  e.setConsumer(this);
60  {
61  std::lock_guard<std::mutex> guard(mutex_);
62  std::lock_guard<SharedResourcesAcquirer> guardResources(resourcesAcquirer_);
63  EventSignalsSentry sentry(act,mcc);
64  this->analyze(e, c);
65  }
66  return true;
67  }
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 137 of file EDAnalyzerBase.cc.

References postForkReacquireResources().

137  {
138  postForkReacquireResources(iChildIndex, iNumberOfChildren);
139  }
virtual void postForkReacquireResources(unsigned int, unsigned int)
void edm::one::EDAnalyzerBase::doPreallocate ( PreallocationConfiguration const &  )
inlineprivate

Definition at line 72 of file EDAnalyzerBase.h.

72 {}
void EDAnalyzerBase::doPreForkReleaseResources ( )
private

Definition at line 132 of file EDAnalyzerBase.cc.

References preForkReleaseResources().

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

Definition at line 91 of file EDAnalyzerBase.h.

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

Definition at line 127 of file EDAnalyzerBase.cc.

127  {
128  //respondToCloseInputFile(fb);
129  }
void EDAnalyzerBase::doRespondToOpenInputFile ( FileBlock const &  fb)
private

Definition at line 122 of file EDAnalyzerBase.cc.

122  {
123  //respondToOpenInputFile(fb);
124  }
virtual void edm::one::EDAnalyzerBase::endJob ( void  )
inlineprivatevirtual

Reimplemented in CalibratableTest, __class__< T >, edm::PrintEventSetupContent, GenXSecAnalyzer, and DQMEDHarvester.

Definition at line 99 of file EDAnalyzerBase.h.

Referenced by doEndJob().

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

Definition at line 147 of file EDAnalyzerBase.cc.

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

147  {
149  desc.setUnknown();
150  descriptions.addDefault(desc);
151  }
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 102 of file EDAnalyzerBase.h.

Referenced by doPostForkReacquireResources().

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

Definition at line 101 of file EDAnalyzerBase.h.

Referenced by doPreForkReleaseResources().

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

Definition at line 154 of file EDAnalyzerBase.cc.

References edm::edmodule_mightGet_config().

154  {
155  edmodule_mightGet_config(iConfig);
156  }
void edmodule_mightGet_config(ConfigurationDescriptions &iDesc)
void EDAnalyzerBase::registerProductsAndCallbacks ( EDAnalyzerBase const *  module,
ProductRegistry reg 
)
private

Definition at line 166 of file EDAnalyzerBase.cc.

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

166  {
167 
169 
170  reg->callForEachBranch(callWhenNewProductsRegistered_);
171 
173  regService->watchProductAdditions(callWhenNewProductsRegistered_);
174  }
175  }
std::function< void(BranchDescription const &)> callWhenNewProductsRegistered_
void edm::one::EDAnalyzerBase::setModuleDescription ( ModuleDescription const &  md)
inlineprivate

Definition at line 112 of file EDAnalyzerBase.h.

References popcon2dropbox_job_conf::md, and moduleDescription_.

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

Definition at line 95 of file EDAnalyzerBase.h.

95 {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
ModuleDescription edm::one::EDAnalyzerBase::moduleDescription_
private
std::mutex edm::one::EDAnalyzerBase::mutex_
private

Definition at line 119 of file EDAnalyzerBase.h.

Referenced by doEvent().

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

Definition at line 118 of file EDAnalyzerBase.h.

Referenced by doBeginJob(), and doEvent().