Skip to content

Commit d115d02

Browse files
committed
MCH: add re-alignment option in workflow
1 parent 28e9bf1 commit d115d02

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

Detectors/MUON/MCH/Align/src/AlignmentSpec.cxx

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@ class AlignmentTask
161161
doReAlign = ic.options().get<bool>("do-realign");
162162
if (doReAlign) {
163163
LOG(info) << "Re-alignment mode";
164+
NewGeoFileName = ic.options().get<string>("geo-file-new");
164165
}
165166

166167
if (mCCDBRequest) {
@@ -181,9 +182,9 @@ class AlignmentTask
181182
LOG(fatal) << "No GRP file";
182183
}
183184

184-
auto geoIdealFile = ic.options().get<string>("geo-file-ideal");
185-
if (std::filesystem::exists(geoIdealFile)) {
186-
base::GeometryManager::loadGeometry(geoIdealFile.c_str());
185+
IdealGeoFileName = ic.options().get<string>("geo-file-ideal");
186+
if (std::filesystem::exists(IdealGeoFileName)) {
187+
base::GeometryManager::loadGeometry(IdealGeoFileName.c_str());
187188
transformation = geo::transformationFromTGeoManager(*gGeoManager);
188189
for (int i = 0; i < 156; i++) {
189190
int iDEN = GetDetElemId(i);
@@ -193,9 +194,9 @@ class AlignmentTask
193194
LOG(fatal) << "No ideal geometry";
194195
}
195196

196-
auto geoRefFile = ic.options().get<string>("geo-file-ref");
197-
if (std::filesystem::exists(geoRefFile)) {
198-
base::GeometryManager::loadGeometry(geoRefFile.c_str());
197+
RefGeoFileName = ic.options().get<string>("geo-file-ref");
198+
if (std::filesystem::exists(RefGeoFileName)) {
199+
base::GeometryManager::loadGeometry(RefGeoFileName.c_str());
199200
transformation = geo::transformationFromTGeoManager(*gGeoManager);
200201
for (int i = 0; i < 156; i++) {
201202
int iDEN = GetDetElemId(i);
@@ -389,8 +390,8 @@ class AlignmentTask
389390

390391
// Load new geometry if we need to do re-align
391392
if (doReAlign) {
392-
if (NewGeoFileName != "") {
393-
LOG(info) << "Loading re-alignment geometry";
393+
LOG(info) << "Loading re-alignment geometry";
394+
if (std::filesystem::exists(NewGeoFileName)) {
394395
base::GeometryManager::loadGeometry(NewGeoFileName.c_str());
395396
transformation = geo::transformationFromTGeoManager(*gGeoManager);
396397
for (int i = 0; i < 156; i++) {
@@ -875,6 +876,7 @@ class AlignmentTask
875876
const string mchFileName{"mchtracks.root"};
876877
const string muonFileName{"muontracks.root"};
877878
string outFileName{"Alignment"};
879+
string IdealGeoFileName{""};
878880
string RefGeoFileName{""};
879881
string NewGeoFileName{""};
880882
bool doAlign{false};
@@ -918,6 +920,7 @@ o2::framework::DataProcessorSpec getAlignmentSpec(bool disableCCDB)
918920
outputSpecs,
919921
AlgorithmSpec{o2::framework::adaptFromTask<AlignmentTask>(ccdbRequest)},
920922
Options{{"geo-file-ref", VariantType::String, o2::base::NameConf::getAlignedGeomFileName(), {"Name of the reference geometry file"}},
923+
{"geo-file-new", VariantType::String, "", {"Name of the new geometry file"}},
921924
{"geo-file-ideal", VariantType::String, o2::base::NameConf::getGeomFileName(), {"Name of the ideal geometry file"}},
922925
{"grp-file", VariantType::String, o2::base::NameConf::getGRPFileName(), {"Name of the grp file"}},
923926
{"do-align", VariantType::Bool, false, {"Switch for alignment, otherwise only residuals will be stored"}},

0 commit comments

Comments
 (0)