81 std::pair<unsigned int, unsigned int>
fixParameters(
const std::vector<Alignable*> &alignables,
87 unsigned int iParam,
char selector, std::ofstream* &filePtr,
100 std::ofstream &
file)
const;
103 unsigned int presigmas(
const std::vector<edm::ParameterSet> &cffPresi,
void correctToReferenceSystem()
bool checkParameterChoices(const std::vector< Alignable * > &alis) const
std::vector< Alignable * > theCoordDefiners
master coordinates, must (?) be global frame
PedeSteerer(AlignableTracker *aliTracker, AlignableMuon *aliMuon, AlignableExtras *aliExtras, AlignmentParameterStore *store, const PedeLabelerBase *labels, const edm::ParameterSet &config, const std::string &defaultDir, bool noSteerFiles)
Alignable * theCoordMaster
Alignables deselected for hierarchy constr.
std::map< const Alignable *, std::vector< float > > AlignablePresigmasMap
unsigned int presigmasFile(const std::string &fileName, const std::vector< Alignable * > &alis, const AlignablePresigmasMap &aliPresisMap)
look for active 'alis' in map of presigma values and create steering file
std::set< const Alignable * > myNoHieraCollection
keeps track of created 'secondary' steering files
edm::ParameterSet myConfig
pointer to labeler (not the owner)
bool isCorrectToRefSystem(const std::vector< Alignable * > &coordDefiners) const
unsigned int hierarchyConstraints(const std::vector< Alignable * > &alis, const std::string &file)
unsigned int theMinHieraParPerConstr
min absolute value of coefficients in hierarchy constraints
int fixParameter(Alignable *ali, unsigned int iRunRange, unsigned int iParam, char selector, std::ofstream *&filePtr, const std::string &fileName)
std::ofstream * createSteerFile(const std::string &name, bool addToList)
create and open file with name, if (addToList) append to mySteeringFiles
const PedeLabelerBase * myLabels
not the owner!
int runPede(const std::string &masterSteer) const
run pede, masterSteer should be as returned from buildMasterSteer(...)
unsigned int presigmas(const std::vector< edm::ParameterSet > &cffPresi, const std::string &fileName, const std::vector< Alignable * > &alis, AlignableTracker *aliTracker, AlignableMuon *aliMuon, AlignableExtras *aliExtras)
interprete content of presigma VPSet 'cffPresi' and call presigmasFile
std::string buildMasterSteer(const std::vector< std::string > &binaryFiles)
construct (and return name of) master steering file from config, binaryFiles etc. ...
int myParameterSign
whether or not to fill pede steering files with debug info
double theMinHieraConstrCoeff
old pede versions (before May '07) need a sign flip...
unsigned int theConstrPrecision
hierarchy constraints with less params are ignored
const AlignmentParameterStore * myParameterStore
std::pair< unsigned int, unsigned int > fixParameters(const std::vector< Alignable * > &alignables, const std::string &file)
bool myNoSteerFiles
directory of all files
void hierarchyConstraint(const Alignable *ali, const std::vector< Alignable * > &components, std::ofstream &file) const
void buildSubSteer(AlignableTracker *aliTracker, AlignableMuon *aliMuon, AlignableExtras *aliExtras)
construct steering files about hierarchy, fixing etc. an keep track of their names ...
std::vector< std::string > mySteeringFiles
precision for writing constraints to text file
double cmsToPedeFactor(unsigned int parNum) const
std::string fileName(const std::string &addendum) const
full name with directory and 'idenitfier'
bool isNoHiera(const Alignable *ali) const
True if 'ali' was deselected from hierarchy and any ancestor (e.g. mother) has parameters.
unsigned int buildNoHierarchyCollection(const std::vector< Alignable * > &alis)
bool myIsSteerFileDebug
flag to write steering files to /dev/null
std::vector< Alignable * > selectCoordinateAlis(const std::vector< Alignable * > &alignables) const
const std::string & directory() const
directory from constructor input, '/' is attached if needed
Constructor of the full muon geometry.
void defineCoordinates(const std::vector< Alignable * > &alis, Alignable *aliMaster, const std::string &fileName)
int parameterSign() const
results from pede (and start values for pede) might need a sign flip