CMS 3D CMS Logo

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

#include <AlignmentProducer.h>

Inheritance diagram for AlignmentProducer:
edm::ESProducerLooper AlignmentProducerBase edm::ESProducer edm::EventSetupRecordIntervalFinder edm::EDLooper edm::ESProductResolverFactoryProducer edm::EDLooperBase edm::eventsetup::ESProductResolverProvider edm::EDConsumerBase

Public Member Functions

 AlignmentProducer (const edm::ParameterSet &)
 Constructor. More...
 
void beginLuminosityBlock (const edm::LuminosityBlock &, const edm::EventSetup &) override
 Called at lumi block start, calling algorithm's beginLuminosityBlock. More...
 
void beginOfJob (const edm::EventSetup &) override
 Called at beginning of job. More...
 
void beginRun (const edm::Run &, const edm::EventSetup &) override
 Called at run start and calling algorithms beginRun. More...
 
Status duringLoop (const edm::Event &, const edm::EventSetup &) override
 Called at each event. More...
 
void endLuminosityBlock (const edm::LuminosityBlock &, const edm::EventSetup &) override
 Called at lumi block end, calling algorithm's endLuminosityBlock. More...
 
void endOfJob () override
 Called at end of job. More...
 
Status endOfLoop (const edm::EventSetup &, unsigned int iLoop) override
 Called at end of loop. More...
 
void endRun (const edm::Run &, const edm::EventSetup &) override
 Called at run end - currently reading TkFittedLasBeam if an InpuTag is given for that. More...
 
virtual std::shared_ptr< TrackerGeometryproduceTracker (const TrackerDigiGeometryRecord &)
 Produce the tracker geometry. More...
 
void startingNewLoop (unsigned int iLoop) override
 Called at beginning of loop. More...
 
 ~AlignmentProducer () override=default
 Destructor. More...
 
- Public Member Functions inherited from edm::ESProducerLooper
 ESProducerLooper ()
 
 ESProducerLooper (const ESProducerLooper &)=delete
 
std::set< eventsetup::EventSetupRecordKeymodifyingRecords () const override
 
const ESProducerLooperoperator= (const ESProducerLooper &)=delete
 
- Public Member Functions inherited from edm::ESProducer
 ESProducer ()
 
 ESProducer (const ESProducer &)=delete
 
 ESProducer (ESProducer &&)=delete
 
ESResolverIndex const * getTokenIndices (unsigned int iIndex) const
 
ESRecordIndex const * getTokenRecordIndices (unsigned int iIndex) const
 
bool hasMayConsumes () const noexcept
 
size_t numberOfTokenIndices (unsigned int iIndex) const
 
ESProduceroperator= (const ESProducer &)=delete
 
ESProduceroperator= (ESProducer &&)=delete
 
SerialTaskQueueChainqueue ()
 
template<typename Record >
std::optional< std::vector< ESResolverIndex > > updateFromMayConsumes (unsigned int iIndex, const Record &iRecord) const
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices const &) final
 
 ~ESProducer () noexcept(false) override
 
- Public Member Functions inherited from edm::ESProductResolverFactoryProducer
 ESProductResolverFactoryProducer ()
 
 ESProductResolverFactoryProducer (const ESProductResolverFactoryProducer &)=delete
 
const ESProductResolverFactoryProduceroperator= (const ESProductResolverFactoryProducer &)=delete
 
 ~ESProductResolverFactoryProducer () noexcept(false) override
 
- Public Member Functions inherited from edm::eventsetup::ESProductResolverProvider
void createKeyedResolvers (EventSetupRecordKey const &key, unsigned int nConcurrentIOVs)
 
const ComponentDescriptiondescription () const
 
 ESProductResolverProvider ()
 
 ESProductResolverProvider (const ESProductResolverProvider &)=delete
 
void fillRecordsNotAllowingConcurrentIOVs (std::set< EventSetupRecordKey > &recordsNotAllowingConcurrentIOVs) const
 
virtual void initConcurrentIOVs (EventSetupRecordKey const &key, unsigned int nConcurrentIOVs)
 
bool isUsingRecord (const EventSetupRecordKey &key) const
 
KeyedResolverskeyedResolvers (const EventSetupRecordKey &iRecordKey, unsigned int iovIndex=0)
 
const ESProductResolverProvideroperator= (const ESProductResolverProvider &)=delete
 
void setAppendToDataLabel (const edm::ParameterSet &)
 
void setDescription (const ComponentDescription &iDescription)
 
std::set< EventSetupRecordKeyusingRecords () const
 
virtual ~ESProductResolverProvider () noexcept(false)
 
- Public Member Functions inherited from edm::EventSetupRecordIntervalFinder
bool concurrentFinder () const
 
const eventsetup::ComponentDescriptiondescriptionForFinder () const
 
 EventSetupRecordIntervalFinder ()
 
 EventSetupRecordIntervalFinder (const EventSetupRecordIntervalFinder &)=delete
 
std::set< eventsetup::EventSetupRecordKeyfindingForRecords () const
 
const ValidityIntervalfindIntervalFor (const eventsetup::EventSetupRecordKey &, const IOVSyncValue &)
 
bool nonconcurrentAndIOVNeedsUpdate (const eventsetup::EventSetupRecordKey &key, const IOVSyncValue &syncValue) const
 
const EventSetupRecordIntervalFinderoperator= (const EventSetupRecordIntervalFinder &)=delete
 
void resetInterval (const eventsetup::EventSetupRecordKey &)
 
void setDescriptionForFinder (const eventsetup::ComponentDescription &iDescription)
 
virtual ~EventSetupRecordIntervalFinder () noexcept(false)
 
- Public Member Functions inherited from edm::EDLooper
 EDLooper ()
 
 EDLooper (EDLooper const &)=delete
 
EDLooperoperator= (EDLooper const &)=delete
 
 ~EDLooper () override
 
- Public Member Functions inherited from edm::EDLooperBase
virtual void attachTo (ActivityRegistry &)
 Override this method if you need to monitor the state of the processing. More...
 
void beginOfJob (EventSetupImpl const &)
 
virtual void beginOfJob ()
 
void copyInfo (ScheduleInfo const &)
 
void doBeginLuminosityBlock (LuminosityBlockPrincipal &, EventSetupImpl const &, ProcessContext *)
 
void doBeginRun (RunPrincipal &, EventSetupImpl const &, ProcessContext *)
 
Status doDuringLoop (EventPrincipal &eventPrincipal, EventSetupImpl const &es, ProcessingController &, StreamContext *)
 
void doEndLuminosityBlock (LuminosityBlockPrincipal &, EventSetupImpl const &, ProcessContext *)
 
Status doEndOfLoop (EventSetupImpl const &es)
 
void doEndRun (RunPrincipal &, EventSetupImpl const &, ProcessContext *)
 
void doStartingNewLoop ()
 
 EDLooperBase ()
 
 EDLooperBase (EDLooperBase const &)=delete
 
void esPrefetchAsync (WaitingTaskHolder iTask, EventSetupImpl const &iImpl, Transition iTrans, ServiceToken const &iToken) const
 
EDLooperBaseoperator= (EDLooperBase const &)=delete
 
void prefetchAsync (WaitingTaskHolder iTask, ServiceToken const &token, Transition iTrans, Principal const &iPrincipal, EventSetupImpl const &iImpl) const
 
void prepareForNextLoop (eventsetup::EventSetupProvider *esp)
 
void setActionTable (ExceptionToActionTable const *actionTable)
 
void setModuleChanger (ModuleChanger *)
 
 ~EDLooperBase () 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
 
ESResolverIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESResolverIndex > 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
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

bool getAliClusterValueMap (const edm::Event &, edm::Handle< AliClusterValueMap > &) override
 
bool getBeamSpot (const edm::Event &, edm::Handle< reco::BeamSpot > &) override
 
bool getTkFittedLasBeamCollection (const edm::Run &, edm::Handle< TkFittedLasBeamCollection > &) override
 
bool getTrajTrackAssociationCollection (const edm::Event &, edm::Handle< TrajTrackAssociationCollection > &) override
 
bool getTsosVectorCollection (const edm::Run &, edm::Handle< TsosVectorCollection > &) override
 

Private Attributes

edm::EDGetTokenT< AliClusterValueMapaliClusterValueMapToken_
 
edm::EDGetTokenT< reco::BeamSpotbsToken_
 
const unsigned int maxLoops_
 
edm::EDGetTokenT< TkFittedLasBeamCollectiontkFittedLasBeamCollectionToken_
 
edm::EDGetTokenT< TrajTrackAssociationCollectiontrajTrackAssociationCollectionToken_
 Number of loops to loop. More...
 
edm::EDGetTokenT< TsosVectorCollectiontsosVectorCollectionToken_
 

Additional Inherited Members

- Public Types inherited from edm::EDLooperBase
enum  Status { kContinue, kStop }
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::eventsetup::ESProductResolverProvider
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Types inherited from edm::ESProductResolverFactoryProducer
using EventSetupRecordKey = eventsetup::EventSetupRecordKey
 
- Protected Types inherited from edm::eventsetup::ESProductResolverProvider
using KeyedResolversVector = std::vector< std::pair< DataKey, std::shared_ptr< ESProductResolver > >>
 
- Protected Member Functions inherited from edm::ESProducerLooper
void registerFactoryWithKey (const eventsetup::EventSetupRecordKey &iRecord, std::unique_ptr< eventsetup::ESProductResolverFactoryBase > iFactory, const std::string &iLabel=std::string()) override
 
void setIntervalFor (const eventsetup::EventSetupRecordKey &iKey, const IOVSyncValue &iTime, ValidityInterval &oInterval) override
 
- Protected Member Functions inherited from edm::ESProducer
ESConsumesInfoconsumesInfoPushBackNew ()
 
unsigned int consumesInfoSize () const
 
template<typename CallbackT , typename TList , typename TRecord >
void registerProducts (std::shared_ptr< std::pair< unsigned int, std::shared_ptr< CallbackT >>> iCallback, const TList *, const TRecord *iRecord, const es::Label &iLabel)
 
template<typename CallbackT , typename TRecord >
void registerProducts (std::shared_ptr< std::pair< unsigned int, std::shared_ptr< CallbackT >>>, const eventsetup::produce::Null *, const TRecord *, const es::Label &)
 
template<typename T >
auto setWhatProduced (T *iThis, const es::Label &iLabel={})
 
template<typename T >
auto setWhatProduced (T *iThis, const char *iLabel)
 
template<typename T >
auto setWhatProduced (T *iThis, const std::string &iLabel)
 
template<typename T , typename TDecorator >
auto setWhatProduced (T *iThis, const TDecorator &iDec, const es::Label &iLabel={})
 
template<typename T , typename TReturn , typename TRecord >
auto setWhatProduced (T *iThis, TReturn(T::*iMethod)(const TRecord &), const es::Label &iLabel={})
 
template<typename T , typename TReturn , typename TRecord , typename TDecorator >
auto setWhatProduced (T *iThis, TReturn(T ::*iMethod)(const TRecord &), const TDecorator &iDec, const es::Label &iLabel={})
 
template<typename TFunc >
auto setWhatProduced (TFunc &&func, const es::Label &iLabel={})
 
template<typename TReturn , typename TRecord , typename TFunc , typename TDecorator >
ESConsumesCollectorT< TRecord > setWhatProduced (TFunc &&func, TDecorator &&iDec, const es::Label &iLabel={})
 
void usesResources (std::vector< std::string > const &)
 
- Protected Member Functions inherited from edm::ESProductResolverFactoryProducer
template<class TFactory >
void registerFactory (std::unique_ptr< TFactory > iFactory, const std::string &iLabel=std::string())
 
KeyedResolversVector registerResolvers (const EventSetupRecordKey &, unsigned int iovIndex) override
 
- Protected Member Functions inherited from edm::eventsetup::ESProductResolverProvider
template<class T >
void usingRecord ()
 
void usingRecordWithKey (const EventSetupRecordKey &key)
 
- Protected Member Functions inherited from edm::EventSetupRecordIntervalFinder
template<class T >
void findingRecord ()
 
void findingRecordWithKey (const eventsetup::EventSetupRecordKey &)
 
- Protected Member Functions inherited from edm::EDLooperBase
ModuleChangermoduleChanger ()
 This only returns a non-zero value during the call to endOfLoop. More...
 
ScheduleInfo const * scheduleInfo () const
 This returns a non-zero value after the constructor has been called. More...
 
- 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 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)
 
- Protected Member Functions inherited from AlignmentProducerBase
 AlignmentProducerBase (const edm::ParameterSet &, edm::ConsumesCollector)
 
void beginLuminosityBlockImpl (const edm::LuminosityBlock &, const edm::EventSetup &)
 begin lumi block More...
 
void beginRunImpl (const edm::Run &, const edm::EventSetup &)
 begin run More...
 
void endLuminosityBlockImpl (const edm::LuminosityBlock &, const edm::EventSetup &)
 end lumi block More...
 
void endRunImpl (const edm::Run &, const edm::EventSetup &)
 end run More...
 
bool finish ()
 
void initAlignmentAlgorithm (const edm::EventSetup &, bool update=false)
 
int nEvent () const
 
bool processEvent (const edm::Event &, const edm::EventSetup &)
 Process event. More...
 
void startProcessing ()
 Start processing of events. More...
 
void terminateProcessing (const edm::EventSetup *=nullptr)
 Terminate processing of events. More...
 
virtual ~AlignmentProducerBase () noexcept(false)
 
- Protected Attributes inherited from AlignmentProducerBase
const edm::InputTag beamSpotTag_
 BeamSpot. More...
 
const edm::InputTag clusterValueMapTag_
 ValueMap containing associtaion cluster-flag. More...
 
const bool doMuon_
 
const bool doTracker_
 
edm::ESHandle< CSCGeometrymuonCSCGeometry_
 
edm::ESHandle< DTGeometrymuonDTGeometry_
 
edm::ESHandle< GEMGeometrymuonGEMGeometry_
 
const edm::InputTag tjTkAssociationMapTag_
 Map with tracks/trajectories. More...
 
const edm::InputTag tkLasBeamTag_
 LAS beams in edm::Run (ignore if empty) More...
 
std::shared_ptr< TrackerGeometrytrackerGeometry_
 
const bool useExtras_
 

Detailed Description

Package : Alignment/CommonAlignmentProducer Description : calls alignment algorithms

Author
: Frederic Ronga

Definition at line 15 of file AlignmentProducer.h.

Constructor & Destructor Documentation

◆ AlignmentProducer()

AlignmentProducer::AlignmentProducer ( const edm::ParameterSet config)

Constructor.

Definition at line 13 of file AlignmentProducer.cc.

15  maxLoops_{config.getUntrackedParameter<unsigned int>("maxLoops")} {
16  edm::LogInfo("Alignment") << "@SUB=AlignmentProducer::AlignmentProducer";
17 
18  // do now all the consumes
19  trajTrackAssociationCollectionToken_ = consumes<TrajTrackAssociationCollection>(tjTkAssociationMapTag_);
20  bsToken_ = consumes<reco::BeamSpot>(beamSpotTag_);
21  tkFittedLasBeamCollectionToken_ = consumes<TkFittedLasBeamCollection>(tkLasBeamTag_);
22  tsosVectorCollectionToken_ = consumes<TsosVectorCollection>(tkLasBeamTag_);
23  aliClusterValueMapToken_ = consumes<AliClusterValueMap>(clusterValueMapTag_);
24 
25  // Tell the framework what data is being produced
26  if (doTracker_) {
28  }
29 }
AlignmentProducerBase(const edm::ParameterSet &, edm::ConsumesCollector)
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:166
const edm::InputTag tjTkAssociationMapTag_
Map with tracks/trajectories.
edm::EDGetTokenT< reco::BeamSpot > bsToken_
const unsigned int maxLoops_
Definition: config.py:1
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
const edm::InputTag beamSpotTag_
BeamSpot.
edm::EDGetTokenT< TkFittedLasBeamCollection > tkFittedLasBeamCollectionToken_
Log< level::Info, false > LogInfo
edm::EDGetTokenT< TsosVectorCollection > tsosVectorCollectionToken_
const edm::InputTag tkLasBeamTag_
LAS beams in edm::Run (ignore if empty)
edm::EDGetTokenT< AliClusterValueMap > aliClusterValueMapToken_
virtual std::shared_ptr< TrackerGeometry > produceTracker(const TrackerDigiGeometryRecord &)
Produce the tracker geometry.
const edm::InputTag clusterValueMapTag_
ValueMap containing associtaion cluster-flag.
edm::EDGetTokenT< TrajTrackAssociationCollection > trajTrackAssociationCollectionToken_
Number of loops to loop.

◆ ~AlignmentProducer()

AlignmentProducer::~AlignmentProducer ( )
overridedefault

Destructor.

Member Function Documentation

◆ beginLuminosityBlock()

void AlignmentProducer::beginLuminosityBlock ( const edm::LuminosityBlock lumiBlock,
const edm::EventSetup setup 
)
overridevirtual

Called at lumi block start, calling algorithm's beginLuminosityBlock.

Reimplemented from edm::EDLooperBase.

Definition at line 99 of file AlignmentProducer.cc.

References AlignmentProducerBase::beginLuminosityBlockImpl(), and singleTopDQM_cfi::setup.

99  {
100  beginLuminosityBlockImpl(lumiBlock, setup);
101 }
void beginLuminosityBlockImpl(const edm::LuminosityBlock &, const edm::EventSetup &)
begin lumi block

◆ beginOfJob()

void AlignmentProducer::beginOfJob ( const edm::EventSetup iSetup)
overridevirtual

Called at beginning of job.

Reimplemented from edm::EDLooperBase.

Definition at line 38 of file AlignmentProducer.cc.

References AlignmentProducerBase::initAlignmentAlgorithm().

38  {
39  edm::LogInfo("Alignment") << "@SUB=AlignmentProducer::beginOfJob";
40  initAlignmentAlgorithm(iSetup);
41 }
void initAlignmentAlgorithm(const edm::EventSetup &, bool update=false)
Log< level::Info, false > LogInfo

◆ beginRun()

void AlignmentProducer::beginRun ( const edm::Run run,
const edm::EventSetup setup 
)
overridevirtual

Called at run start and calling algorithms beginRun.

Reimplemented from edm::EDLooperBase.

Definition at line 93 of file AlignmentProducer.cc.

References AlignmentProducerBase::beginRunImpl(), writedatasetfile::run, and singleTopDQM_cfi::setup.

93 { beginRunImpl(run, setup); }
void beginRunImpl(const edm::Run &, const edm::EventSetup &)
begin run

◆ duringLoop()

edm::EDLooper::Status AlignmentProducer::duringLoop ( const edm::Event event,
const edm::EventSetup setup 
)
overridevirtual

Called at each event.

Implements edm::EDLooper.

Definition at line 85 of file AlignmentProducer.cc.

References edm::EDLooperBase::kContinue, edm::EDLooperBase::kStop, AlignmentProducerBase::processEvent(), and singleTopDQM_cfi::setup.

85  {
86  if (processEvent(event, setup))
87  return kContinue;
88  else
89  return kStop;
90 }
bool processEvent(const edm::Event &, const edm::EventSetup &)
Process event.
Definition: event.py:1

◆ endLuminosityBlock()

void AlignmentProducer::endLuminosityBlock ( const edm::LuminosityBlock lumiBlock,
const edm::EventSetup setup 
)
overridevirtual

Called at lumi block end, calling algorithm's endLuminosityBlock.

Reimplemented from edm::EDLooperBase.

Definition at line 104 of file AlignmentProducer.cc.

References AlignmentProducerBase::endLuminosityBlockImpl(), and singleTopDQM_cfi::setup.

104  {
105  endLuminosityBlockImpl(lumiBlock, setup);
106 }
void endLuminosityBlockImpl(const edm::LuminosityBlock &, const edm::EventSetup &)
end lumi block

◆ endOfJob()

void AlignmentProducer::endOfJob ( )
overridevirtual

Called at end of job.

Reimplemented from edm::EDLooperBase.

Definition at line 44 of file AlignmentProducer.cc.

References AlignmentProducerBase::finish().

44  {
45  edm::LogInfo("Alignment") << "@SUB=AlignmentProducer::endOfJob";
46 
47  if (!finish()) {
48  edm::LogError("Alignment") << "@SUB=AlignmentProducer::endOfJob"
49  << "Did not process any events in last loop, do not dare to store to DB.";
50  }
51 }
Log< level::Error, false > LogError
Log< level::Info, false > LogInfo

◆ endOfLoop()

edm::EDLooper::Status AlignmentProducer::endOfLoop ( const edm::EventSetup iSetup,
unsigned int  iLoop 
)
overridevirtual

Called at end of loop.

Implements edm::EDLooperBase.

Definition at line 61 of file AlignmentProducer.cc.

References edm::EDLooperBase::kContinue, edm::EDLooperBase::kStop, maxLoops_, AlignmentProducerBase::nEvent(), and AlignmentProducerBase::terminateProcessing().

61  {
62  if (0 == nEvent()) {
63  // beginOfJob is usually called by the framework in the first event of the first loop
64  // (a hack: beginOfJob needs the EventSetup that is not well defined without an event)
65  // and the algorithms rely on the initialisations done in beginOfJob. We cannot call
66  // this->beginOfJob(iSetup); here either since that will access the EventSetup to get
67  // some geometry information that is not defined either without having seen an event.
68  edm::LogError("Alignment") << "@SUB=AlignmentProducer::endOfLoop"
69  << "Did not process any events in loop " << iLoop
70  << ", stop processing without terminating algorithm.";
71  return kStop;
72  }
73 
74  edm::LogInfo("Alignment") << "@SUB=AlignmentProducer::endOfLoop"
75  << "Ending loop " << iLoop << ", terminating algorithm.";
76  terminateProcessing(&iSetup);
77 
78  if (iLoop == maxLoops_ - 1 || iLoop >= maxLoops_)
79  return kStop;
80  else
81  return kContinue;
82 }
void terminateProcessing(const edm::EventSetup *=nullptr)
Terminate processing of events.
const unsigned int maxLoops_
Log< level::Error, false > LogError
Log< level::Info, false > LogInfo

◆ endRun()

void AlignmentProducer::endRun ( const edm::Run run,
const edm::EventSetup setup 
)
overridevirtual

Called at run end - currently reading TkFittedLasBeam if an InpuTag is given for that.

Reimplemented from edm::EDLooperBase.

Definition at line 96 of file AlignmentProducer.cc.

References AlignmentProducerBase::endRunImpl(), writedatasetfile::run, and singleTopDQM_cfi::setup.

96 { endRunImpl(run, setup); }
void endRunImpl(const edm::Run &, const edm::EventSetup &)
end run

◆ getAliClusterValueMap()

bool AlignmentProducer::getAliClusterValueMap ( const edm::Event event,
edm::Handle< AliClusterValueMap > &  result 
)
inlineoverrideprivatevirtual

Implements AlignmentProducerBase.

Definition at line 92 of file AlignmentProducer.h.

References aliClusterValueMapToken_, and mps_fire::result.

92  {
93  return event.getByToken(aliClusterValueMapToken_, result);
94 }
edm::EDGetTokenT< AliClusterValueMap > aliClusterValueMapToken_

◆ getBeamSpot()

bool AlignmentProducer::getBeamSpot ( const edm::Event event,
edm::Handle< reco::BeamSpot > &  result 
)
inlineoverrideprivatevirtual

Implements AlignmentProducerBase.

Definition at line 76 of file AlignmentProducer.h.

References bsToken_, and mps_fire::result.

76  {
77  return event.getByToken(bsToken_, result);
78 }
edm::EDGetTokenT< reco::BeamSpot > bsToken_

◆ getTkFittedLasBeamCollection()

bool AlignmentProducer::getTkFittedLasBeamCollection ( const edm::Run run,
edm::Handle< TkFittedLasBeamCollection > &  result 
)
inlineoverrideprivatevirtual

Implements AlignmentProducerBase.

Definition at line 81 of file AlignmentProducer.h.

References mps_fire::result, writedatasetfile::run, and tkFittedLasBeamCollectionToken_.

82  {
83  return run.getByToken(tkFittedLasBeamCollectionToken_, result);
84 }
edm::EDGetTokenT< TkFittedLasBeamCollection > tkFittedLasBeamCollectionToken_

◆ getTrajTrackAssociationCollection()

bool AlignmentProducer::getTrajTrackAssociationCollection ( const edm::Event event,
edm::Handle< TrajTrackAssociationCollection > &  result 
)
inlineoverrideprivatevirtual

Implements AlignmentProducerBase.

Definition at line 70 of file AlignmentProducer.h.

References mps_fire::result, and trajTrackAssociationCollectionToken_.

71  {
72  return event.getByToken(trajTrackAssociationCollectionToken_, result);
73 }
edm::EDGetTokenT< TrajTrackAssociationCollection > trajTrackAssociationCollectionToken_
Number of loops to loop.

◆ getTsosVectorCollection()

bool AlignmentProducer::getTsosVectorCollection ( const edm::Run run,
edm::Handle< TsosVectorCollection > &  result 
)
inlineoverrideprivatevirtual

Implements AlignmentProducerBase.

Definition at line 87 of file AlignmentProducer.h.

References mps_fire::result, writedatasetfile::run, and tsosVectorCollectionToken_.

87  {
88  return run.getByToken(tsosVectorCollectionToken_, result);
89 }
edm::EDGetTokenT< TsosVectorCollection > tsosVectorCollectionToken_

◆ produceTracker()

std::shared_ptr< TrackerGeometry > AlignmentProducer::produceTracker ( const TrackerDigiGeometryRecord )
virtual

Produce the tracker geometry.

Definition at line 32 of file AlignmentProducer.cc.

References AlignmentProducerBase::trackerGeometry_.

32  {
33  edm::LogInfo("Alignment") << "@SUB=AlignmentProducer::produceTracker";
34  return trackerGeometry_;
35 }
std::shared_ptr< TrackerGeometry > trackerGeometry_
Log< level::Info, false > LogInfo

◆ startingNewLoop()

void AlignmentProducer::startingNewLoop ( unsigned int  iLoop)
overridevirtual

Called at beginning of loop.

Implements edm::EDLooperBase.

Definition at line 54 of file AlignmentProducer.cc.

References AlignmentProducerBase::startProcessing().

54  {
55  edm::LogInfo("Alignment") << "@SUB=AlignmentProducer::startingNewLoop"
56  << "Starting loop number " << iLoop;
58 }
void startProcessing()
Start processing of events.
Log< level::Info, false > LogInfo

Member Data Documentation

◆ aliClusterValueMapToken_

edm::EDGetTokenT<AliClusterValueMap> AlignmentProducer::aliClusterValueMapToken_
private

Definition at line 66 of file AlignmentProducer.h.

Referenced by getAliClusterValueMap().

◆ bsToken_

edm::EDGetTokenT<reco::BeamSpot> AlignmentProducer::bsToken_
private

Definition at line 63 of file AlignmentProducer.h.

Referenced by getBeamSpot().

◆ maxLoops_

const unsigned int AlignmentProducer::maxLoops_
private

Definition at line 60 of file AlignmentProducer.h.

Referenced by endOfLoop().

◆ tkFittedLasBeamCollectionToken_

edm::EDGetTokenT<TkFittedLasBeamCollection> AlignmentProducer::tkFittedLasBeamCollectionToken_
private

Definition at line 64 of file AlignmentProducer.h.

Referenced by getTkFittedLasBeamCollection().

◆ trajTrackAssociationCollectionToken_

edm::EDGetTokenT<TrajTrackAssociationCollection> AlignmentProducer::trajTrackAssociationCollectionToken_
private

Number of loops to loop.

Definition at line 62 of file AlignmentProducer.h.

Referenced by getTrajTrackAssociationCollection().

◆ tsosVectorCollectionToken_

edm::EDGetTokenT<TsosVectorCollection> AlignmentProducer::tsosVectorCollectionToken_
private

Definition at line 65 of file AlignmentProducer.h.

Referenced by getTsosVectorCollection().