Xiaocong: Motivation: Previous discussions: Andreas Salzburger will work on the interface and Nairit will work on read/writer for the alignment. What is the status of the project?
Andreas Salzburger: Mostly summarised in the PR #4299 on how we can define alognable detector elements. All geometry and detector elements are made (mis-)alignable. Started with a factory function with no misalignment capabilities that could be switched out. To build a modified detector. Then added a misalignment capability fro data. Then common-mis-alignment infrastructure for the generic detector. new class "aligned" can be wrapped around any detector element to shift things around. Then added for geomodel and dd4hep. Still missing for the telescope detector but Roman will get started with it.
Misalignment can now be done randomly or structured following a map.
Super structures can already be misaligned. e.g. in PR #4315 pixel super structures can be misaligned. Someone could try to run the alignment procedure on top of it, but some code is still missing. Probably for the future an example with misalignment in this form should be provided.
Waiting for PR #4377 to go in to add more.
It would be great to also have a measure to classify to misalignment, that we can check how well we manage to align it again. Maybe even feed this into the calibrator that does an inflation for the measurements s.t. we can easily find all measurements.
Xiaocong: We don't have a calibrator but the other approaches sound good.
Pawel: Example on collective misalignment did not seem like a rigid body misalignment.
-> Andreas Salzburger: Correct. But after the PR we can emulate a superstructure by adding a general delta.
Pawel: So far, we don't have a Jacobian to do this but we would need both misalignments at the same time.
Logical infrastructure is present but details missing?
Andreas Salzburger: Correct. Kernel works with updater on a detector element base. We should still abstract it a bit more to get rid of that. Maybe start with a proxy (element or superstructure). Then we can use same alignment code for all kind of structures.
Pawel: Only open thing: super structures work only on lower structures. Or work initially on the core algorithm on the indiviual sensors and later project with the Jacobians on the super structures. Both should be equivalent anyhow.
Andreas Salzburger: Assume detector with barrel consisting of each N states. then we have e.g. N/M states, where M is the structures. Then we need to align fewer elements in total.
Pawel: Degrees of freedom could be defined be super structures.
Andreas Salzburger: Would we need more alignment masks?
Xiacong: For alignment layers, we would need another a mask.
Andreas Salzburger: We would take common derivative mask for new parameter.
Xiaocong: This might not work for the module itself but we need for the superstructure.
Pawel: Other approach starting with higher granularity: After accumulating same tracks, we have the libertiy to solve for other granularities. We could even freeze some degrees of freedom and then try other solutions with differend degrees of freedom. More possibilities after just a single accumulation. But having bot approaches open and the crosscheck would be great.
Xiaocong: How can we join the modules afterwards with the current ACTS description?
Pawel: It is our choice how the alignment tackles each degree of freedom. But we could freely choose other directions. After that we can run alignment and define.
Second approach would always use individual sensors and then use Jacobians for projections.
Andreas Salzburger: Next step: misalign ODD and shift there one layer or randomly all modules in plane. We could already think on how the code would look like to accomplish this. Then create an example. Then do FATRAS or other particle simulations.
Xiaocong. Zequn already ran it on the ODD.
Pawel: Trying to reproduce Zequn's example. There are a few issues with the compilation, since additional modules and configuration files are necessary. Is there maybe an existing configuration file on how to run it out of the box?
Paul: lcg-release or running separately.
Pawel: LCG107. cmake not complaining about bindings anymore.
Paul: cmake-target probably not existing. Unfortunately cmake has a weird error on this. It could be that the alignment module is not enabled. There should be a preset slot. Maybe there is a problem with the branch. Let's figure this out together.
Andreas Salzburger: That would be also a great reason to get it into main soon.