2 #ifndef Alignment_CommonAlignmentAlgorithm_AlignmentAlgorithmBase_h
3 #define Alignment_CommonAlignmentAlgorithm_AlignmentAlgorithmBase_h
58 typedef std::vector<IntegratedCalibrationBase *>
Calibrations;
136 tmp.reserve(cals.size());
137 for (
const auto &ptr : cals) {
138 tmp.push_back(ptr.get());
virtual bool processesEvents()
Returns whether algorithm proccesses events in current configuration.
virtual bool supportsCalibrations()
virtual void beginLuminosityBlock(const edm::EventSetup &setup)
called at begin of luminosity block (no lumi block info passed yet)
std::vector< ConstTrajTrackPair > ConstTrajTrackPairs
virtual void run(const edm::EventSetup &setup, const EventInfo &eventInfo)=0
Run the algorithm (must be implemented in derived class)
const TsosVectorCollection * tkLasBeamTsoses_
might be null!
std::vector< IntegratedCalibrationBase * > Calibrations
virtual void endLuminosityBlock(const edm::EventSetup &setup)
called at end of luminosity block (no lumi block info passed yet)
align::RunNumber RunNumber
EndRunInfo(const edm::RunID &theRunId, const TkFittedLasBeamCollection *theTkLasBeams, const TsosVectorCollection *theTkLasBeamTsoses)
const edm::EventID eventId() const
std::pair< const Trajectory *, const reco::Track * > ConstTrajTrackPair
const reco::BeamSpot & beamSpot_
const ConstTrajTrackPairCollection & trajTrackPairs() const
define event information passed to algorithms
virtual void endRun(const EndRunInfo &runInfo, const edm::EventSetup &setup)
called at end of run - order of arguments like in EDProducer etc.
virtual bool addCalibrations(const Calibrations &)
virtual bool setParametersForRunRange(const RunRange &rr)
virtual ~AlignmentAlgorithmBase()
Destructor.
virtual void beginRun(const edm::Run &, const edm::EventSetup &, bool changed)
called at begin of run
const TkFittedLasBeamCollection * tkLasBeams() const
AlignmentAlgorithmBase::EndRunInfo EndRunInfo
AlignmentAlgorithmBase(const edm::ParameterSet &, const edm::ConsumesCollector &)
Constructor.
virtual void initialize(const edm::EventSetup &setup, AlignableTracker *tracker, AlignableMuon *muon, AlignableExtras *extras, AlignmentParameterStore *store)=0
Call at beginning of job (must be implemented in derived class)
const TkFittedLasBeamCollection * tkLasBeams_
const edm::RunID runId_
might be null!
const edm::EventID eventId_
might be null!
std::pair< RunNumber, RunNumber > RunRange
std::vector< std::unique_ptr< IntegratedCalibrationBase > > CalibrationsOwner
bool addCalibrations(const CalibrationsOwner &cals)
const edm::RunID runId() const
const AliClusterValueMap * clusterValueMap_
AlignmentAlgorithmBase::EventInfo EventInfo
virtual void terminate()
Called at end of job (must be implemented in derived class)
const AliClusterValueMap * clusterValueMap() const
std::vector< TkFittedLasBeam > TkFittedLasBeamCollection
const reco::BeamSpot & beamSpot() const
EventInfo(const edm::EventID &theEventId, const ConstTrajTrackPairCollection &theTrajTrackPairs, const reco::BeamSpot &theBeamSpot, const AliClusterValueMap *theClusterValueMap)
virtual bool storeAlignments()
Returns whether algorithm produced results to be stored.
std::pair< const Trajectory *, const reco::Track * > ConstTrajTrackPair
virtual void startNewLoop()
std::vector< std::vector< TrajectoryStateOnSurface > > TsosVectorCollection
define run information passed to algorithms (in endRun)
const TsosVectorCollection * tkLasBeamTsoses() const
might be null!
Constructor of the full muon geometry.
const ConstTrajTrackPairCollection & trajTrackPairs_
cond::RealTimeType< cond::runnumber >::type RunNumber
std::vector< ConstTrajTrackPair > ConstTrajTrackPairCollection