28 tree->Branch(
"CorMatrix", &
CorMatrix,
"CorMatrix[corSize]/D");
49 for(align::Correlations::const_iterator it=cor.begin();
52 std::pair<Alignable*,Alignable*> Pair = (*it).first;
61 int maxColumn = mat.num_row();
63 for(
int row = 0;row<maxColumn;row++)
70 edm::LogInfo(
"AlignmentCorrelationsIORoot") <<
"Writing correlations: all,written: "
71 << cor.size() <<
"," << icount;
84 align::Alignables::const_iterator it1;
85 std::map< std::pair<unsigned int,int>,
Alignable* > idAlis;
86 for( it1=alivec.begin();it1!=alivec.end();++it1 )
87 idAlis[std::make_pair((*it1)->id(),(*it1)->alignableObjectId())] = (*it1);
89 std::map<std::pair<unsigned int,int>,
Alignable*>::const_iterator aliSearch1;
90 std::map<std::pair<unsigned int,int>,
Alignable*>::const_iterator aliSearch2;
92 double maxEntry =
tree->GetEntries();
93 for(
int entry = 0;entry<maxEntry;entry++ )
95 tree->GetEntry(entry);
98 if (aliSearch1!=idAlis.end()
99 && aliSearch2!=idAlis.end())
103 Alignable* myAli1 = (*aliSearch1).second;
104 Alignable* myAli2 = (*aliSearch2).second;
109 for(
int row = 0;row<
nParMax;row++)
112 theMap[ std::make_pair(myAli1,myAli2) ] = mat;
116 edm::LogInfo(
"AlignmentCorrelationsIORoot") <<
"Read correlations: all,read: "
117 << alivec.size() <<
"," <<
nfound;
align::ID Ali1Id
correlation tree
align::ID id() const
Return the ID of Alignable, i.e. DetId of 'first' component GeomDet(Unit).
align::StructureType Ali2ObjId
align::Correlations read(const align::Alignables &alivec, int &ierr)
read correlations
std::map< std::pair< Alignable *, Alignable * >, AlgebraicMatrix > Correlations
void createBranches(void)
create root branches
AlignmentParameters * alignmentParameters() const
Get the AlignmentParameters.
CLHEP::HepMatrix AlgebraicMatrix
virtual StructureType alignableObjectId() const =0
Return the alignable type identifier.
std::vector< Alignable * > Alignables
double CorMatrix[nParMax *nParMax]
bool isValid(void) const
Get validity flag.
align::StructureType Ali1ObjId
int write(const align::Correlations &cor, bool validCheck)
write correlations
void setBranchAddresses(void)
set root branches
AlignmentCorrelationsIORoot()
constructor