athena merge requestshttps://gitlab.cern.ch/atlas/athena/-/merge_requests2022-11-30T21:43:40+01:00https://gitlab.cern.ch/atlas/athena/-/merge_requests/58524Tune sTGC simulation charge to data2022-11-30T21:43:40+01:00Alexandre LaurierTune sTGC simulation charge to dataImprove upon the sTGC digitization to better reproduce the charge that are measured within the latest data.
Currently in master, the total charge created per hit is about 4x too high, caused by an incorrect tuning of the sTGC digitizatio...Improve upon the sTGC digitization to better reproduce the charge that are measured within the latest data.
Currently in master, the total charge created per hit is about 4x too high, caused by an incorrect tuning of the sTGC digitization. The simulation uses test beam data running at HV>=2.9kV to tune the digitization and this does not represent current running conditions.
We now decide to make the gas gain due to the electron avalanche a tuneable parameter according to the running conditions of the sTGC HV. The HV parameter must be in units of kV. The gas gain is parameterized from a fit to data and simulation described in ATL-MUON-PUB-2014-001.
The latest distributions of cluster strip multiplicity and channel charge are in much better agreement to data than what master can produce.
Results already presented to the muon SW coordination group and the NSW software integration team. Approach approved by sTGC digitization team.
Tagging @chchau @dpizzihttps://gitlab.cern.ch/atlas/athena/-/merge_requests/58279New MM thresholds2022-12-06T21:44:09+01:00Luca MartinelliNew MM thresholdsNew default settings for the MicroMegas
- RMS of the noise changed. Now it is divided according to the chamber type (SM1/SM2/LM1/LM2). It has no effects on the Small chambers but it has an effect on the large ones.New default settings for the MicroMegas
- RMS of the noise changed. Now it is divided according to the chamber type (SM1/SM2/LM1/LM2). It has no effects on the Small chambers but it has an effect on the large ones.https://gitlab.cern.ch/atlas/athena/-/merge_requests/57825Sweeping !57812 from master to 22.0.
Digitization: Fix persistency of PU trut...2022-10-25T15:49:03+02:00Atlas NightlybuildSweeping !57812 from master to 22.0.
Digitization: Fix persistency of PU truth jets.Digitization: Fix persistency of PU truth jets.
See merge request atlas/athena!57812Digitization: Fix persistency of PU truth jets.
See merge request atlas/athena!57812https://gitlab.cern.ch/atlas/athena/-/merge_requests/57499NSW calibration - Optimize memory footprint of conditions data2022-10-29T17:35:50+02:00Constantin HeideggerNSW calibration - Optimize memory footprint of conditions dataHi everybody,
Moving from doubles to floats (and commenting out slopeError and interceptError, leaving those for later if needed); doubles are not needed for the calibration; memory load should be kept to a minimum.
Tagging @jojungge, ...Hi everybody,
Moving from doubles to floats (and commenting out slopeError and interceptError, leaving those for later if needed); doubles are not needed for the calibration; memory load should be kept to a minimum.
Tagging @jojungge, @pscholer, and @chchau for information.https://gitlab.cern.ch/atlas/athena/-/merge_requests/57423Manually cherry pick 566462022-10-29T11:57:46+02:00Johannes Junggeburthjohannes.josef.junggeburth@cern.chManually cherry pick 56646See description in !56646See description in !56646https://gitlab.cern.ch/atlas/athena/-/merge_requests/57387Update ART Digitization tests to new conditions2022-10-10T15:36:48+02:00Tommaso LariUpdate ART Digitization tests to new conditionsAfter !56073 which removed hardwired NSW conditions from the configuration files was merged, ART digitization tests failed as the global conditions tag used there OFLCOND-MC21-SDR-RUN3-05 does not contain /MDT/MM/CHARGE/SIDEA (and possib...After !56073 which removed hardwired NSW conditions from the configuration files was merged, ART digitization tests failed as the global conditions tag used there OFLCOND-MC21-SDR-RUN3-05 does not contain /MDT/MM/CHARGE/SIDEA (and possibly other) folder. This was error was also seen during the development of !56073 and fixed by updating the conditions to OFLCOND-MC21-SDR-RUN3-07 (which is the one used in mc21a anyway). This MR also updates the conditions tag in the ART tests.
Keeping as Draft until somebody has a look and confirms I did it ok, since I am not that fluent in ART, but it's actually quite urgent as we want to build a release for physics validations of the new conditions as a preparation of fast reprocessing.
cheers,
TommasoTommaso LariTommaso Larihttps://gitlab.cern.ch/atlas/athena/-/merge_requests/56646MuonReadoutGeometry - Rotate the stereo layer surfaces2022-10-27T23:36:06+02:00Johannes Junggeburthjohannes.josef.junggeburth@cern.chMuonReadoutGeometry - Rotate the stereo layer surfacesHi everybody,
this MR is another approach to improving the phi constraint from the stereo layers by rotating the underlying surfaces of the micro mega stereo layers. During the fit, the clusters can be moved along the local X coordinate...Hi everybody,
this MR is another approach to improving the phi constraint from the stereo layers by rotating the underlying surfaces of the micro mega stereo layers. During the fit, the clusters can be moved along the local X coordinate which is always completely orthogonal to the wires without bothering that this would also introduce a shift in Y w.r.t. to the pure eta layers. However, it's not that simple to just rotate the surface, because we have to keep in mind that each strip is individually rotated by the stereo angle alpha around the strip center in the eta layer.
![grafik](https://gitlab.cern.ch/atlas/athena/-/raw/master/docs/images/RotatedTrapezoidBounds.gif)
In the coordinate system of the ordinary eta layer, a given strip `N` can be parametrized via
```
S (N, lambda) = S_{N} + lambda * (sin alpha, cos alpha)
```
where S_{N} is the nominal strip center parallel to the x-axis. In general, S_{N} can be outside of the trapezoid bounds. Therefore, it's better to take the actual geometrical center of the stereo strip as the reference point of the MM hit. The center is calculated by first intersecting the stereo strips with the left and right edges of the trapezoid
```c++
bool leftInterSect(const int channelNumbers, Amg::Vector2D& pos) const;
bool rightInterSect(const int channelNumbers, Amg::Vector2D& pos) const;
```
and then taking the middle of them. The intersection happens in the unrotated frame and cannot be called outside the `MuonChannelDesign`.
```c++
bool leftEdge(const int channelNumber, Amg::Vector2D& pos) const;
bool center(const int channelNumber, Amg::Vector2D& pos) const;
bool rightEdge(const int channelNumber, Amg::Vector2D& pos) const;
```
are public members and express the different points in their native coordinate frame. The plot below shows the strip edges and the corresponding centers, for the unrotated (black) and stereo layers rotated by 15 degrees (blue/red). All points are expressed in the unrotated coordinate frame
![grafik](/uploads/ea852461c80fe7361e3abf27f16a8dd4/grafik.png)
If we rotate the Trk::Surfaces, we also need to rotate the associated boundaries by the same amount to keep the overall shape of the micro mega wedges undistorted. The `Trk::RotatedTrapezoidBounds` are now equipped with another constructor rotating the trapezoids by a given angle alpha
```c++
/** Constructor for symmetric Trapezoid rotated around the X axis by alpha */
RotatedTrapezoidBounds(double halex, double minhalex, double maxhalex, double alpha);
```
The plots below show the validation of the rotated bounds in combination with the rotated surfaces. The former is now outsourced to a separate MR ([!56743](https://gitlab.cern.ch/atlas/athena/-/merge_requests/56743))
Wheel A - layer 1 (Non rotated)
![grafik](/uploads/a3593c1633e5304d4c4aa1b6fe4e36ae/grafik.png)
Wheel A - layer 3 (Stereo angle +)
![grafik](/uploads/46849ffec7d5f4f9d67beb894a0da86c/grafik.png)
Wheel A - layer 4 (Stereo angle -)
![grafik](/uploads/51b3808d2c018df3f86ee1786614d2fc/grafik.png)
And last but not least what happens if you just exaggerate the stereo angle
![grafik](/uploads/efca356bba7f02d1b34d5a3c81c74fba/grafik.png)
Micromega residuals on track U-layer in ML1 (Legacy geometry)
![grafik](/uploads/254911d10527b365f29dd72439db0817/grafik.png)
Tagging: @pscholer, @lucam, @rosati, @sangelid, @chchau, @stavrop, @iodice
Addresses ATLASSIM-6001https://gitlab.cern.ch/atlas/athena/-/merge_requests/55229Improved MC channel number validation2022-07-20T13:12:09+02:00Tadej Novaktadej.novak@cern.chImproved MC channel number validationImproved MC channel number validation. This MR extends MC channel number and event number validation to all pile-up jobs.
/cc @jchapmanImproved MC channel number validation. This MR extends MC channel number and event number validation to all pile-up jobs.
/cc @jchapmanTadej Novaktadej.novak@cern.chTadej Novaktadej.novak@cern.chhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/54702Make sure beamspot is always decorated in simulation2022-08-03T16:58:57+02:00Tadej Novaktadej.novak@cern.chMake sure beamspot is always decorated in simulationMake sure beamspot is always decorated in simulation.
A part of the potential fix for MC21a production.
/cc @jchapman @tlariMake sure beamspot is always decorated in simulation.
A part of the potential fix for MC21a production.
/cc @jchapman @tlariTadej Novaktadej.novak@cern.chTadej Novaktadej.novak@cern.chhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/54410MM digitization - Initialize all data members & protect against out of bound ...2022-06-21T10:09:06+02:00Johannes Junggeburthjohannes.josef.junggeburth@cern.chMM digitization - Initialize all data members & protect against out of bound accessHi,
this MR is an attempt to track down the irrproduciblities of the MM digitization as reported in ATLASRECTS-7107.
* Replace all [] accesses of vectors by the corresponding at() operator. In cases of out of bound access this will thr...Hi,
this MR is an attempt to track down the irrproduciblities of the MM digitization as reported in ATLASRECTS-7107.
* Replace all [] accesses of vectors by the corresponding at() operator. In cases of out of bound access this will throw exceptions.
* Ensure that all data members are initialized.
* Return containers by const references rather than by value
* Remove useless clear calls after the vector is constructed
Tagging: @pscholerhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/54083Migration of TGC channel crosstalk parameters to the Condition database2022-06-22T15:28:05+02:00Junpei MaedaMigration of TGC channel crosstalk parameters to the Condition databaseThe TGC channel crosstalk probabilities stored in an ascii file of Git repository has been migrated to the Condition database. The folder name is `/TGC/DIGIT/XTALK`. Once the tag is included in the global tag, the explicit tag will be re...The TGC channel crosstalk probabilities stored in an ascii file of Git repository has been migrated to the Condition database. The folder name is `/TGC/DIGIT/XTALK`. Once the tag is included in the global tag, the explicit tag will be removed.https://gitlab.cern.ch/atlas/athena/-/merge_requests/53825Micormega digitiziation - Use readout geometry from conditions store2022-06-01T10:05:14+02:00Johannes Junggeburthjohannes.josef.junggeburth@cern.chMicormega digitiziation - Use readout geometry from conditions storeHi everybody,
the passivation is only available in the MuonDetectorManger from the conditions store. Change the retrieval of the detector manager in the micromega digitization to this one.
Tagging: @pscholer, @cheidegg, @temming, @san...Hi everybody,
the passivation is only available in the MuonDetectorManger from the conditions store. Change the retrieval of the detector manager in the micromega digitization to this one.
Tagging: @pscholer, @cheidegg, @temming, @sangelidhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/53295Update MM Overlay Time WIndow2022-05-16T21:42:05+02:00Patrick ScholerUpdate MM Overlay Time WIndowThis MR updates the MM Overlay time window to align it with the VMM time window introduced here: !53290
Tagging @cheidegg @alaurierThis MR updates the MM Overlay time window to align it with the VMM time window introduced here: !53290
Tagging @cheidegg @alaurierhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/53290Client changes for NSW calibration conditions2022-06-02T18:09:07+02:00Constantin HeideggerClient changes for NSW calibration conditionsThis MR adds the necessary client changes (and algo updates) for the NSW calibration conditions.
Tagging @jojungge , @chchau , @pscholerThis MR adds the necessary client changes (and algo updates) for the NSW calibration conditions.
Tagging @jojungge , @chchau , @pscholerhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/53201Discard sTGC strips with small charge2022-05-13T09:44:55+02:00Chav Chhiv Chauchav.chhiv.chau@cern.chDiscard sTGC strips with small chargesTGC strips with small charge are kept due to the near-neighbour logic.
With pileup, hits near the lower or upper time limit would created a
cluster of strips. However, not all these strips pass the selection
due to time smearing. Someti...sTGC strips with small charge are kept due to the near-neighbour logic.
With pileup, hits near the lower or upper time limit would created a
cluster of strips. However, not all these strips pass the selection
due to time smearing. Sometimes, only the strips with small charge
pass the time selection, leading to a cluster without charge that breaks
the clusterizing method.https://gitlab.cern.ch/atlas/athena/-/merge_requests/53151fix peak in MM overlay time spectrum2022-05-12T15:43:18+02:00Patrick Scholerfix peak in MM overlay time spectrumThe main goal of this merge request is to overcome the overlay timing issues in the MM. The following things have been done:
- Add proper protection in case the VMM simulation finds a peak outside the timing window which otherwise lead t...The main goal of this merge request is to overcome the overlay timing issues in the MM. The following things have been done:
- Add proper protection in case the VMM simulation finds a peak outside the timing window which otherwise lead to the use of 0 ns to which variables were initialized to.
- Add a property to explicitly set the deadtime of the VMM, e.g. how much time before the actual time window should be processed by the VMM simulation
- Add an upper graze time window to the VMM simulation. This is needed since the code produced a peak in the time spectrum at the upper boundary of the time window. This behavior is not yet understood but ommited by simulating longer (the graze time) and then cutting on the actual time window afterwards.
- Since the time window is now implemented into the digitization the initial hack of the MM_DigitToRDO applied in !53117 is removed again.
@alaurier @rosati @jojunggehttps://gitlab.cern.ch/atlas/athena/-/merge_requests/53113Fix MM digi identifier warnings (ATLASSIM-5822)2022-05-12T15:43:56+02:00Alexandre LaurierFix MM digi identifier warnings (ATLASSIM-5822)Fixed an issue in Micromega digitization where digits were sometimes assigned an incorrect identifier.
The identifier in question was always a MDT identifier and caused some digits to be discarded.
The underlying issue was caused by an ...Fixed an issue in Micromega digitization where digits were sometimes assigned an incorrect identifier.
The identifier in question was always a MDT identifier and caused some digits to be discarded.
The underlying issue was caused by an identifier being initialized and not always assigned to a value before being used. We have made sure that the identifier is now defined with a value.
The issue also came from HITS with exactly 0 kinetic energy. The MM experts decided it was best to also simply ignore these HITS as they may cause issues in the logic of the ionization simulations. These HITS so far only seem to appear in pileup jobs and the rate of such particles is very small to be negligible to the end result (about a hundred pileup HITS per 1000 events).
See ATLASSIM-5822 for more details and !52947 where it was also discussed.
Tests are currently underway to see if it solves FPE warnings in some MM L1 trigger jobs.
tagging @chchau @pscholer @rosatihttps://gitlab.cern.ch/atlas/athena/-/merge_requests/53073Unify naming of NSW simulation outputs and metadata with the rest of the muon...2022-05-10T15:42:10+02:00Tadej Novaktadej.novak@cern.chUnify naming of NSW simulation outputs and metadata with the rest of the muon subdetectorsI hope that this one will not be too intrusive, but it needs to be done before MC21 production starts. It fixes two items of the NSW naming:
- NSW HIT container names (`sTGC/MMSensitiveDetector` to `sTGC/MM_Hits` like for the other muon...I hope that this one will not be too intrusive, but it needs to be done before MC21 production starts. It fixes two items of the NSW naming:
- NSW HIT container names (`sTGC/MMSensitiveDetector` to `sTGC/MM_Hits` like for the other muon components)
- MM flag names as this is used for metadata generation (all other flags are acronyms)
While doing it I also added support to the `ISF_CollectionMerger`.
Note that this MR only keeps digi compatibility, everything else is renamed!
Keeping Draft for now to allow a bit more testing. Running ~"full-integration-tests" and ~"full-unit-tests" already (at least some references will have to be updated).
/cc @chchau @jojungge @rosati @pscholer @jchapman @stavrop @alaurier @tlarihttps://gitlab.cern.ch/atlas/athena/-/merge_requests/52509Define variable beamspot pile-up digi for MC21a2022-04-26T15:42:45+02:00Tadej Novaktadej.novak@cern.chDefine variable beamspot pile-up digi for MC21aDefine variable beamspot pile-up digitisation for MC21a:
- define proper fractions as in ATLASDP-52
- fix typo in pile-up profiles
- disable rounding of job size when running with multiple steps
- add/update ART tests
/cc @jchapman ...Define variable beamspot pile-up digitisation for MC21a:
- define proper fractions as in ATLASDP-52
- fix typo in pile-up profiles
- disable rounding of job size when running with multiple steps
- add/update ART tests
/cc @jchapman @tlarihttps://gitlab.cern.ch/atlas/athena/-/merge_requests/52376Bug fix of TGC_Digitization2022-04-20T21:43:16+02:00Junpei MaedaBug fix of TGC_Digitizationfixed two bugs in the TGC Digitization - The output will be changed.
* The starting number of TGC channel is 1, but the calculation in `TgcDigitMaker::getDistanceToAsdFromSensor(...)` assumed to be starting from 0. The last channels per...fixed two bugs in the TGC Digitization - The output will be changed.
* The starting number of TGC channel is 1, but the calculation in `TgcDigitMaker::getDistanceToAsdFromSensor(...)` assumed to be starting from 0. The last channels per ASD (i.e. 16, 32, ...) used the wrong distance of next ASDs.
* The time_offset has not been propagated to the calculation of the channel-crosstalk in `TgcDigitMaker::randomCrossTalk(...)`. The member variable `m_timeWindowOffsetSensor[TgcSensor]` keeps the timing offset per chamber. Although the timing offset for the main channel hit have been calculated by `m_timeWindowOffsetSensor[sensor] + getASDpropTimeOffset(...)`, the corresponding cross-talk had been calculated using `m_timeWindowOffsetSensor[sensor]` only, i.e. the random cross-talks were generated in the different time.
The bug fix and the reference update for the CI test are needed for the coming implementation (!52022), since the bug fix could not be isolated in the update of !52022.