24 myId(0), myObjId(0), myNumPar(0),
25 myHitsX(0), myHitsY(0), myLabel(0)
28 treetxt =
"MillePede User Variables";
41 (
const std::vector<Alignable*> &alivec,
const char *
filename,
int iter,
bool validCheck,
int &ierr)
45 int iret = this->open(filename, iter,
true);
49 iret = this->
write(alivec, validCheck);
50 tree->BuildIndex(
"Id",
"ObjId");
66 (
const std::vector<Alignable*> &alivec,
const char *filename,
int iter,
int &ierr)
68 std::vector<AlignmentUserVariables*>
result;
70 int iret = this->open(filename, iter,
false);
74 result = this->
read(alivec, iret);
93 edm::LogError(
"Alignment") <<
"@SUB=MillePedeVariablesIORoot::writeOne"
94 <<
"No MillePedeVariables found!";
102 edm::LogError(
"Alignment") <<
"@SUB=MillePedeVariablesIORoot::writeOne"
107 for (
unsigned int iPar = 0; iPar <
myNumPar; ++iPar) {
133 edm::LogError(
"Alignment") <<
"@SUB=MillePedeVariablesIORoot::readOne"
134 <<
"No index for id/type = (" << ali->
id() <<
"/"
141 for (
unsigned int iPar = 0; iPar <
myNumPar; ++iPar) {
175 tree->SetBranchAddress(
"Id", &
myId);
unsigned int hitsX() const
get number of hits for x-measurement
unsigned int label() const
get alignable label as used by pede
const std::vector< float > & globalCor() const
get global correlation array
align::ID id() const
Return the ID of Alignable, i.e. DetId of 'first' component GeomDet(Unit).
std::vector< AlignmentUserVariables * > readMillePedeVariables(const std::vector< Alignable * > &alivec, const char *filename, int iter, int &ierr)
unsigned int size() const
number of parameters
Byte_t myIsValid[kMaxNumPar]
Float_t myGlobalCor[kMaxNumPar]
const std::vector< float > & parameter() const
get array of parameters
virtual AlignmentUserVariables * readOne(Alignable *ali, int &ierr)
AlignmentParameters * alignmentParameters() const
Get the AlignmentParameters.
AlignmentUserVariables * userVariables(void) const
Get pointer to user variables.
Float_t mySigma[kMaxNumPar]
void setHitsY(unsigned int hitsY)
MillePedeVariablesIORoot()
const std::vector< float > & preSigma() const
get array of presigmas (<= 0: means fixed)
unsigned int hitsY() const
get number of hits for y-measurement
const std::vector< float > & sigma() const
get array of sigmas
virtual StructureType alignableObjectId() const =0
Return the alignable type identifier.
(Abstract) Base class for alignment algorithm user variables
Float_t myParameter[kMaxNumPar]
void writeMillePedeVariables(const std::vector< Alignable * > &alivec, const char *filename, int iter, bool validCheck, int &ierr)
virtual void setBranchAddresses()
set root branche addresses
const std::vector< float > & diffBefore() const
get array of differences to start value
Float_t myPreSigma[kMaxNumPar]
const std::vector< bool > & isValid() const
get valid flag array
virtual void createBranches()
create root branches
virtual int writeOne(Alignable *ali)
Float_t myDiffBefore[kMaxNumPar]
void setHitsX(unsigned int hitsX)