CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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::ESProxyFactoryProducer edm::EDLooperBase edm::eventsetup::DataProxyProvider 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
< TrackerGeometry
produceTracker (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::EventSetupRecordKey
modifyingRecords () const override
 
const ESProducerLooperoperator= (const ESProducerLooper &)=delete
 
- Public Member Functions inherited from edm::ESProducer
 ESProducer ()
 
 ESProducer (const ESProducer &)=delete
 
ESProxyIndex const * getTokenIndices (unsigned int iIndex) const
 
ESRecordIndex const * getTokenRecordIndices (unsigned int iIndex) const
 
bool hasMayConsumes () const noexcept
 
size_t numberOfTokenIndices (unsigned int iIndex) const
 
ESProducer const & operator= (const ESProducer &)=delete
 
SerialTaskQueueChainqueue ()
 
template<typename Record >
std::optional< std::vector
< ESProxyIndex > > 
updateFromMayConsumes (unsigned int iIndex, const Record &iRecord) const
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &) final
 
 ~ESProducer () noexcept(false) override
 
- Public Member Functions inherited from edm::ESProxyFactoryProducer
 ESProxyFactoryProducer ()
 
 ESProxyFactoryProducer (const ESProxyFactoryProducer &)=delete
 
const ESProxyFactoryProduceroperator= (const ESProxyFactoryProducer &)=delete
 
 ~ESProxyFactoryProducer () noexcept(false) override
 
- Public Member Functions inherited from edm::eventsetup::DataProxyProvider
void createKeyedProxies (EventSetupRecordKey const &key, unsigned int nConcurrentIOVs)
 
 DataProxyProvider ()
 
 DataProxyProvider (const DataProxyProvider &)=delete
 
const ComponentDescriptiondescription () const
 
void fillRecordsNotAllowingConcurrentIOVs (std::set< EventSetupRecordKey > &recordsNotAllowingConcurrentIOVs) const
 
virtual void initConcurrentIOVs (EventSetupRecordKey const &key, unsigned int nConcurrentIOVs)
 
bool isUsingRecord (const EventSetupRecordKey &key) const
 
KeyedProxieskeyedProxies (const EventSetupRecordKey &iRecordKey, unsigned int iovIndex=0)
 
const DataProxyProvideroperator= (const DataProxyProvider &)=delete
 
void setAppendToDataLabel (const edm::ParameterSet &)
 
void setDescription (const ComponentDescription &iDescription)
 
std::set< EventSetupRecordKeyusingRecords () const
 
virtual ~DataProxyProvider () noexcept(false)
 
- Public Member Functions inherited from edm::EventSetupRecordIntervalFinder
bool concurrentFinder () const
 
const
eventsetup::ComponentDescription
descriptionForFinder () const
 
 EventSetupRecordIntervalFinder ()
 
 EventSetupRecordIntervalFinder (const EventSetupRecordIntervalFinder &)=delete
 
std::set
< eventsetup::EventSetupRecordKey
findingForRecords () const
 
const ValidityIntervalfindIntervalFor (const eventsetup::EventSetupRecordKey &, const IOVSyncValue &)
 
bool nonconcurrentAndIOVNeedsUpdate (const eventsetup::EventSetupRecordKey &key, const IOVSyncValue &syncValue) const
 
const
EventSetupRecordIntervalFinder
operator= (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
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex >
const & 
esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector
< ProductResolverIndexAndSkipBit >
const & 
itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const * > *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

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
< AliClusterValueMap
aliClusterValueMapToken_
 
edm::EDGetTokenT< reco::BeamSpotbsToken_
 
const unsigned int maxLoops_
 
edm::EDGetTokenT
< TkFittedLasBeamCollection
tkFittedLasBeamCollectionToken_
 
edm::EDGetTokenT
< TrajTrackAssociationCollection
trajTrackAssociationCollectionToken_
 Number of loops to loop. More...
 
edm::EDGetTokenT
< TsosVectorCollection
tsosVectorCollectionToken_
 

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::DataProxyProvider
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Types inherited from edm::ESProxyFactoryProducer
using EventSetupRecordKey = eventsetup::EventSetupRecordKey
 
- Protected Types inherited from edm::eventsetup::DataProxyProvider
using KeyedProxiesVector = std::vector< std::pair< DataKey, std::shared_ptr< DataProxy >>>
 
- Protected Member Functions inherited from edm::ESProducerLooper
void registerFactoryWithKey (const eventsetup::EventSetupRecordKey &iRecord, std::unique_ptr< eventsetup::ProxyFactoryBase > 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
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 TArg >
ESConsumesCollectorT< TRecord > setWhatProduced (T *iThis, TReturn(T::*iMethod)(const TRecord &), const TArg &iDec, const es::Label &iLabel={})
 
void usesResources (std::vector< std::string > const &)
 
- Protected Member Functions inherited from edm::ESProxyFactoryProducer
template<class TFactory >
void registerFactory (std::unique_ptr< TFactory > iFactory, const std::string &iLabel=std::string())
 
KeyedProxiesVector registerProxies (const EventSetupRecordKey &, unsigned int iovIndex) override
 
- Protected Member Functions inherited from edm::eventsetup::DataProxyProvider
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 ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
void resetItemsToGetFrom (BranchType iType)
 
- 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 ( const edm::ParameterSet config)

Constructor.

Definition at line 13 of file AlignmentProducer.cc.

References aliClusterValueMapToken_, AlignmentProducerBase::beamSpotTag_, bsToken_, AlignmentProducerBase::clusterValueMapTag_, AlignmentProducerBase::doTracker_, edm::ParameterSet::getUntrackedParameter(), produceTracker(), edm::ESProducer::setWhatProduced(), AlignmentProducerBase::tjTkAssociationMapTag_, tkFittedLasBeamCollectionToken_, AlignmentProducerBase::tkLasBeamTag_, trajTrackAssociationCollectionToken_, and tsosVectorCollectionToken_.

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:163
T getUntrackedParameter(std::string const &, T const &) const
const edm::InputTag tjTkAssociationMapTag_
Map with tracks/trajectories.
edm::EDGetTokenT< reco::BeamSpot > bsToken_
const unsigned int maxLoops_
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 ( )
overridedefault

Destructor.

Member Function Documentation

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().

99  {
100  beginLuminosityBlockImpl(lumiBlock, setup);
101 }
void beginLuminosityBlockImpl(const edm::LuminosityBlock &, const edm::EventSetup &)
begin lumi block
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
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().

93 { beginRunImpl(run, setup); }
void beginRunImpl(const edm::Run &, const edm::EventSetup &)
begin run
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, and AlignmentProducerBase::processEvent().

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.
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().

104  {
105  endLuminosityBlockImpl(lumiBlock, setup);
106 }
void endLuminosityBlockImpl(const edm::LuminosityBlock &, const edm::EventSetup &)
end lumi block
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
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
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().

96 { endRunImpl(run, setup); }
void endRunImpl(const edm::Run &, const edm::EventSetup &)
end run
bool AlignmentProducer::getAliClusterValueMap ( const edm::Event event,
edm::Handle< AliClusterValueMap > &  result 
)
inlineoverrideprivatevirtual

Implements AlignmentProducerBase.

Definition at line 92 of file AlignmentProducer.h.

References aliClusterValueMapToken_.

92  {
93  return event.getByToken(aliClusterValueMapToken_, result);
94 }
edm::EDGetTokenT< AliClusterValueMap > aliClusterValueMapToken_
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_.

76  {
77  return event.getByToken(bsToken_, result);
78 }
edm::EDGetTokenT< reco::BeamSpot > bsToken_
bool AlignmentProducer::getTkFittedLasBeamCollection ( const edm::Run run,
edm::Handle< TkFittedLasBeamCollection > &  result 
)
inlineoverrideprivatevirtual

Implements AlignmentProducerBase.

Definition at line 81 of file AlignmentProducer.h.

References edm::Run::getByToken(), and tkFittedLasBeamCollectionToken_.

82  {
83  return run.getByToken(tkFittedLasBeamCollectionToken_, result);
84 }
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Run.h:318
edm::EDGetTokenT< TkFittedLasBeamCollection > tkFittedLasBeamCollectionToken_
bool AlignmentProducer::getTrajTrackAssociationCollection ( const edm::Event event,
edm::Handle< TrajTrackAssociationCollection > &  result 
)
inlineoverrideprivatevirtual

Implements AlignmentProducerBase.

Definition at line 70 of file AlignmentProducer.h.

References trajTrackAssociationCollectionToken_.

71  {
72  return event.getByToken(trajTrackAssociationCollectionToken_, result);
73 }
edm::EDGetTokenT< TrajTrackAssociationCollection > trajTrackAssociationCollectionToken_
Number of loops to loop.
bool AlignmentProducer::getTsosVectorCollection ( const edm::Run run,
edm::Handle< TsosVectorCollection > &  result 
)
inlineoverrideprivatevirtual

Implements AlignmentProducerBase.

Definition at line 87 of file AlignmentProducer.h.

References edm::Run::getByToken(), and tsosVectorCollectionToken_.

87  {
88  return run.getByToken(tsosVectorCollectionToken_, result);
89 }
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Run.h:318
edm::EDGetTokenT< TsosVectorCollection > tsosVectorCollectionToken_
std::shared_ptr< TrackerGeometry > AlignmentProducer::produceTracker ( const TrackerDigiGeometryRecord )
virtual

Produce the tracker geometry.

Definition at line 32 of file AlignmentProducer.cc.

References AlignmentProducerBase::trackerGeometry_.

Referenced by AlignmentProducer().

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

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

Definition at line 66 of file AlignmentProducer.h.

Referenced by AlignmentProducer(), and getAliClusterValueMap().

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

Definition at line 63 of file AlignmentProducer.h.

Referenced by AlignmentProducer(), and getBeamSpot().

const unsigned int AlignmentProducer::maxLoops_
private

Definition at line 60 of file AlignmentProducer.h.

Referenced by endOfLoop().

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

Definition at line 64 of file AlignmentProducer.h.

Referenced by AlignmentProducer(), and getTkFittedLasBeamCollection().

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

Number of loops to loop.

Definition at line 62 of file AlignmentProducer.h.

Referenced by AlignmentProducer(), and getTrajTrackAssociationCollection().

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

Definition at line 65 of file AlignmentProducer.h.

Referenced by AlignmentProducer(), and getTsosVectorCollection().