1 #ifndef Alignment_HIPAlignmentAlgorithm_HIPAlignmentAlgorithm_h
2 #define Alignment_HIPAlignmentAlgorithm_HIPAlignmentAlgorithm_h
13 #include "Riostream.h"
78 double calcAPE(
double* par,
int iter,
int function);
TTree * theTrackMonitorTree
std::string uniEtaFormula
std::vector< HIPAlignableSpecificParameters > theAlignableSpecifics
HIPAlignableSpecificParameters defaultAlignableSpecs
AlignmentParameterStore * theAlignmentParameterStore
TFile * theAlignablesMonitorIORootFile
HIPAlignableSpecificParameters * findAlignableSpecs(const Alignable *ali)
void run(const edm::EventSetup &setup, const EventInfo &eventInfo) override
Run the algorithm.
void initialize(const edm::EventSetup &setup, AlignableTracker *tracker, AlignableMuon *muon, AlignableExtras *extras, AlignmentParameterStore *store) override
Call at beginning of job.
align::StructureType m2_ObjId
void writeIterationFile(std::string filename, int iter)
~HIPAlignmentAlgorithm() override
Destructor.
TFile * theTrackHitMonitorIORootFile
Interface/Base class for alignment algorithms, each alignment algorithm has to be derived from this c...
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > topoToken2_
std::unique_ptr< AlignableNavigator > theAlignableDetAccessor
define event information passed to algorithms
std::vector< unsigned > theIOVrangeSet
bool calcParameters(Alignable *ali, int setDet, double start, double step)
std::vector< edm::ParameterSet > theCutsPerComponent
TTree * theHitMonitorTree
std::string siterationfile
int readIterationFile(std::string filename)
std::vector< double > SetScanDet
void setAlignmentPositionError(void)
TFile * theSurveyIORootFile
void collectMonitorTrees(const std::vector< std::string > &filenames)
double calcAPE(double *par, int iter, int function)
std::string suvarfilecore
bool theApplyCutsPerComponent
std::unique_ptr< AlignableObjectId > alignableObjectId_
std::string smisalignedfile
HIPAlignmentAlgorithm(const edm::ParameterSet &cfg, edm::ConsumesCollector &iC)
Constructor.
std::vector< edm::ParameterSet > theAPEParameterSet
align::StructureType m3_ObjId
std::unique_ptr< TFormula > theEtaFormula
std::vector< Alignable * > Alignables
const edm::ESGetToken< TrackerTopology, IdealGeometryRecord > topoToken_
align::Alignables theAlignables
virtual void terminate()
Called at end of job (must be implemented in derived class)
std::vector< float > m2_surfDef
HIPMonitorConfig theMonitorConfig
void fillAlignablesMonitor(const edm::EventSetup &setup)
void startNewLoop(void) override
Called at start of new loop.
const std::vector< std::string > surveyResiduals_
bool processHit2D(const AlignableDetOrUnitPtr &alidet, const Alignable *ali, const HIPAlignableSpecificParameters *alispecifics, const TrajectoryStateOnSurface &tsos, const TrackingRecHit *hit, double hitwt)
bool processHit1D(const AlignableDetOrUnitPtr &alidet, const Alignable *ali, const HIPAlignableSpecificParameters *alispecifics, const TrajectoryStateOnSurface &tsos, const TrackingRecHit *hit, double hitwt)
std::vector< std::pair< align::Alignables, std::vector< double > > > theAPEParameters
TTree * theAlignablesMonitorTree
Constructor of the full muon geometry.
std::vector< align::StructureType > theLevels
const bool doTrackHitMonitoring
std::string theCollectorPath
SurfaceDeformationFactory::Type m2_dtype
std::string sparameterfile