LHCb merge requestshttps://gitlab.cern.ch/lhcb/LHCb/-/merge_requests2020-05-18T13:34:30+02:00https://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/2565WIP: clean-up DataType and add Last back2020-05-18T13:34:30+02:00Carla Marin Benitocarla.marin.benito@cern.chWIP: clean-up DataType and add Last backThis MR is needed for my WIP attempt to resurrect TupleToolCaloHypo:
- add Last DataType to facilitate a loop over all DataType variables
- change `enum class` to `enum` so DataType objects can be directly compared to int in the loop
I...This MR is needed for my WIP attempt to resurrect TupleToolCaloHypo:
- add Last DataType to facilitate a loop over all DataType variables
- change `enum class` to `enum` so DataType objects can be directly compared to int in the loop
I am afraid these changes are a step back in the optimisation of DataType and would happy to receive suggestions on how to loop over all the DataType variables in a different way that don't requires them.
Since I was there I've also cleaned-up the SPD/PS related variables.https://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/2267WIP: Add Area accessor for calorimeter parts2020-09-07T15:40:21+02:00Konrad KlimaszewskiWIP: Add Area accessor for calorimeter partsThis MR is a preparation to alter CaloFutureTrackMatch algorithm from Rec.
A new method `Area` is introduced to `DeCalorimeter` that returns identifier of calorimeter area (Inner, Middle, Outer) that a 3D point is inside. Currently fo...This MR is a preparation to alter CaloFutureTrackMatch algorithm from Rec.
A new method `Area` is introduced to `DeCalorimeter` that returns identifier of calorimeter area (Inner, Middle, Outer) that a 3D point is inside. Currently for this case the `Cell_` method is used: first a cell is extracted and then the area is determined from the cell. This relies on the costly `IGeometryInfo::isInside` method.
The `Area` relies only on `IGeometryInfo::toLocal` which AFAIU should take into account alignment, and on the X and Y size stored in the ConDB and accessible by `DeSubSubCalorimeter::xSize` and `DeSubSubCalorimeter::ySize`. In my profile tests it is ~5-6 times faster compared to calling `Cell_`.
It also relies on the order in which SubSubCalorimeter instances are stored in SubCalorimeter - Inner first, Outer last. There is also change in treatment of the beam hole - it is now part of Inner area.
As a byproduct I reduced usage of `isInside` in the `Cell_` method and there should be slight speedup from first considering the Inner part as I assume more tracks are to be expected closer to the beam - I did not check this assumption very thoroughly though.
There is an additional possible speedup (in my back of the envelope calculations its ~25%) if the X/Y sizes of A and C sides and the whole calorimeter would be available through `DeCalorimeter` and `DeSubCalorimeter` classes as in the `DeSubSubCalorimeter` one. This code is currently commented out and marked as TODO. How would I go about it? Make a MR for lhcb-conddb project with altered relevant structure.xml files??
Needed for https://gitlab.cern.ch/lhcb/Rec/merge_requests/1842Konrad KlimaszewskiKonrad Klimaszewskihttps://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/2583WIP: New strutures required for match(..) method2021-01-12T07:21:50+01:00Mateusz Jakub BalaWIP: New strutures required for match(..) methodNew structures required for not approved yet new algorithm in the CaloFuture::TrackMatchAlg ( Rec project).New structures required for not approved yet new algorithm in the CaloFuture::TrackMatchAlg ( Rec project).https://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/3364Draft: New calo reconstruction algorithm2022-01-11T10:14:58+01:00Nuria Valls CanudasDraft: New calo reconstruction algorithmThis is a modification needed to execute the proposed calorimeter reconstruction algorithm from Rec!2661.
The proposed modification for the CaloDigits_v2.h file is a workarround solution in order to have a sorted list of Digits in desce...This is a modification needed to execute the proposed calorimeter reconstruction algorithm from Rec!2661.
The proposed modification for the CaloDigits_v2.h file is a workarround solution in order to have a sorted list of Digits in descending energy value. A new public variable has been added in order to do so without modifying the actual data from the Digits.
This is still a work in progress.Nuria Valls CanudasNuria Valls Canudashttps://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/2905Draft: TrackMatchAlg - files migration from CaloFuture/CaloFutureInterfaces t...2022-01-19T19:02:06+01:00Mateusz Jakub BalaDraft: TrackMatchAlg - files migration from CaloFuture/CaloFutureInterfaces to CaloFuture/CaloFuturePIDsThe following files are transferred to CaloFuture/CaloFuturePIDs (Rec)
* CaloFutureMatch2D.h,
* CaloFutureMatch3D.h,
* ICaloFutureTrackMatch.h
Goes together with https://gitlab.cern.ch/lhcb/Rec/-/merge_requests/2331The following files are transferred to CaloFuture/CaloFuturePIDs (Rec)
* CaloFutureMatch2D.h,
* CaloFutureMatch3D.h,
* ICaloFutureTrackMatch.h
Goes together with https://gitlab.cern.ch/lhcb/Rec/-/merge_requests/2331Mateusz Jakub BalaMateusz Jakub Balahttps://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/3489Draft: Avoid null ptr dereference when CALO param histo file not found2022-04-12T19:58:52+02:00Christopher Rob Jonesjonesc@hep.phy.cam.ac.ukDraft: Avoid null ptr dereference when CALO param histo file not foundAvoids a seg fault due to a null pointer derefence when the param histo file is not found
```
Error in <TFile::TFile>: file /usera/jonesc/LHCbCMake/Feature/PARAM/ParamFiles/v8r999/data/CaloPID/DLLs_parametrization_histograms.root does n...Avoids a seg fault due to a null pointer derefence when the param histo file is not found
```
Error in <TFile::TFile>: file /usera/jonesc/LHCbCMake/Feature/PARAM/ParamFiles/v8r999/data/CaloPID/DLLs_parametrization_histograms.root does not exist
*** Break *** segmentation violation
```
instead the application shuts down more gracefully via an exception
```
Error in <TFile::TFile>: file /usera/jonesc/LHCbCMake/Feature/PARAM/ParamFiles/v8r999/data/CaloPID/DLLs_parametrization_histograms.root does not exist
CaloChargedPIDsAlg_Long FATAL Exception with tag=HistoStore is caught
CaloChargedPIDsAlg_Long ERROR HistoStore ParamFile '${PARAMFILESROOT}/data/CaloPID/DLLs_parametrization_histograms.root' not found StatusCode=FAILURE
HiveDataBrokerSvc FATAL in sysInitialize(): exception with tag=instantiateAndInitializeAlgorithms is caught
HiveDataBrokerSvc ERROR instantiateAndInitializeAlgorithms Failed to initialize CaloChargedPIDsAlg/CaloChargedPIDsAlg_Long StatusCode=FAILURE
ServiceManager ERROR Unable to initialize service "HiveDataBrokerSvc"
HLTControlFlowMgr FATAL Error retrieving HiveDataBrokerSvc
ServiceManager ERROR Unable to initialize Service: HLTControlFlowMgr
ApplicationMgr ERROR Application Manager Terminated with error code 1
```https://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/3349Draft: Add getFEBindex function, used in Allen2022-05-11T16:05:28+02:00Jean-Francois MarchandDraft: Add getFEBindex function, used in AllenThe new decoding has new FEBs indexing (before, the FEB number was also the FEB index in the FEB vector, it's not the case anymore)
The getFEBindex function allows to access the FEB index. Needed in https://gitlab.cern.ch/lhcb/Allen/-/me...The new decoding has new FEBs indexing (before, the FEB number was also the FEB index in the FEB vector, it's not the case anymore)
The getFEBindex function allows to access the FEB index. Needed in https://gitlab.cern.ch/lhcb/Allen/-/merge_requests/691https://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/3790Draft: Change path of Ecal and Hcal in DeCalorimeter.h for DD4HEP2022-11-07T16:45:41+01:00Chenjia ZhangDraft: Change path of Ecal and Hcal in DeCalorimeter.h for DD4HEPChange path of Ecal and Hcal in DeCalorimeter.h for DD4HEPChange path of Ecal and Hcal in DeCalorimeter.h for DD4HEPhttps://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/3307Draft: Create a container for neutral objects2023-01-10T13:50:19+01:00Miguel Ramos PernasDraft: Create a container for neutral objectsImplements #104. Due to the requirements of the (several) calorimeter reconstruction tools, it is preferred to avoid having a SIMD-type based container for neutral objects. We rely on the use of the zip machinery together with the constr...Implements #104. Due to the requirements of the (several) calorimeter reconstruction tools, it is preferred to avoid having a SIMD-type based container for neutral objects. We rely on the use of the zip machinery together with the construction of SIMD-type objects on the fly from the information of the underlying objects.
Used on lhcb/Rec!2639 and lhcb/Moore!1200
(related also to lhcb/Phys!1024)
:warning: This MR has been superseded by Rec!3247 Analysis!942 :warning:Miguel Ramos PernasMiguel Ramos Pernashttps://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/2101Update CaloHypo v22023-03-28T08:40:37+02:00Zehua XuUpdate CaloHypo v2Version2 of CaloHypo in namespace v2.
Initialize by moving.
Reserve memory space before adding member.
Remove the SmartRef & keyed container.
Try to avoid vector allocation.
Thanks to the comments from Gerhard Raven.Version2 of CaloHypo in namespace v2.
Initialize by moving.
Reserve memory space before adding member.
Remove the SmartRef & keyed container.
Try to avoid vector allocation.
Thanks to the comments from Gerhard Raven.Liming ZhangZehua XuLiming Zhanghttps://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/4268Fix unsafe comparison operators in Calo2023-09-18T12:45:12+02:00Jean-Francois MarchandFix unsafe comparison operators in CaloFix issues mentioned in https://gitlab.cern.ch/lhcb/LHCb/-/issues/326Fix issues mentioned in https://gitlab.cern.ch/lhcb/LHCb/-/issues/326https://gitlab.cern.ch/lhcb/LHCb/-/merge_requests/3940Draft: Adding track-based calo cluster persistency2024-02-06T09:38:09+01:00Maarten Van VeghelDraft: Adding track-based calo cluster persistencyGoes with https://gitlab.cern.ch/lhcb/Rec/-/merge_requests/3288 and https://gitlab.cern.ch/lhcb/Moore/-/merge_requests/2021Goes with https://gitlab.cern.ch/lhcb/Rec/-/merge_requests/3288 and https://gitlab.cern.ch/lhcb/Moore/-/merge_requests/2021