@@ -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