Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
148 commits
Select commit Hold shift + click to select a range
156478a
added new histos
May 27, 2025
6464a42
clang format
May 27, 2025
2bf878f
clang format
May 27, 2025
744057c
[PWGHF] addition of task: single muon as a function of multiplicity (…
mislam17 May 27, 2025
9c1d2d6
[ALICE3] A3: add qa tasks (#11377)
njacazio May 27, 2025
ae8b3f6
[Trigger,PWGCF] Fix histogram filling/naming (#11366)
ariedel-cern May 27, 2025
7ef0793
[PWGEM/Dilepton] update associateMCinfoDilepton.cxx (#11386)
dsekihat May 28, 2025
0644e5e
[PWGDQ] Including a histogram for low mass polarization in Production…
KangkanGoswami May 28, 2025
fe82b8a
[Common] check if input scalers are available (#11391)
ekryshen May 28, 2025
a379992
[PWGLF] Investigating efficiencies with phi (#11394)
scannito May 28, 2025
dfd33d0
[PWGLF] Lambda local polarization induced by jet in pp collision 13.6…
15071832337 May 28, 2025
37934ce
[PWGCF] Update lambdaR2Correlation.cxx (#11393)
yashpatley May 28, 2025
643397c
[PWGCF] fix filter declaration (#11396)
Luzhiyongg May 28, 2025
8953aa7
[PWGLF] Add non-prompt info for MC gen loop (#11374)
fmazzasc May 29, 2025
1a0433f
[ALICE3] Updates to decay finder for integration with DDbar correlati…
fcolamar May 29, 2025
ec5a176
[PWGHF] AddedTHnSparse for isolate electron study (#11334)
sashingo May 29, 2025
fbba3e1
[PWGEM] phosElId dispersion calculation fix (#11372)
yhambard May 29, 2025
fa5cc14
[PWGLF] Lambda local polarization induced by jet in pp collision 13.6…
15071832337 May 29, 2025
1b88ef5
[PWGHF] Fix vector error in candidateSelectorOmegac0ToOmegaPi.cxx (#1…
FDUEnrich May 30, 2025
42add54
[PWGLF] Lambda local polarization induced by jet in pp collision 13.6…
15071832337 May 30, 2025
18655f9
[PWGCF] add configurable mult cut (#11379)
EmilGorm May 30, 2025
2cb875b
[PWGJE] Include What You Use (#11358)
vkucera May 30, 2025
75f09f8
[PWGJE] trackEfficiency: weights in eff. plots, ptHat cuts (#11220)
aimeric-landou May 30, 2025
5de923e
[PWGJE] update dijetFinderQA.cxx (#11302)
DonggukKim0 May 30, 2025
60c6c6f
[PWGLF] mass and bethe bloch calculation (#11385)
mherzer28 May 30, 2025
c7186a4
[PWGDQ] Small updated of the DQ filter dielectron cuts (#11389)
iarsene May 30, 2025
66d7d21
[PWGJE] Modify cuts for mother hadrons and decay photons (#11116)
pestratm May 30, 2025
e6c43fb
[PWGDQ] Updated CutsLibrery.cxx macro (#11397)
Debadatta3337 May 30, 2025
1d5a87d
[PWGUD] Adding correlation study (#11333)
JosueMtzGar May 30, 2025
e719804
[Infrastructure] Adding Omar Vazquez as code owner for PWGLF PAG-GEP …
gbencedi May 30, 2025
2aa0ae3
[PWGUD] Task update for potential memory leak (#11407)
akhatun May 30, 2025
6bc7a6f
[PWGLF] Store also secondaries for MC generated particles (#11408)
fmazzasc May 30, 2025
e3882b4
[PWGEM/Dilepton] update createResolutionMap.cxx (#11409)
dsekihat May 30, 2025
b001028
[PWGHF] Include What You Use: Make headers self-contained (#11357)
vkucera May 30, 2025
0d34464
[PWGLF] Add qa for mother track reconstruction (#11416)
wang-yuanzhe May 30, 2025
35b554c
[Infrastructure] Bump pre-commit hooks (#11399)
vkucera May 30, 2025
d94d618
O2 linter: Improve search patterns (#11398)
vkucera May 30, 2025
49db61a
[PWGJE] Adding track outlier QA histogram (#11411)
dajones2 May 30, 2025
6d89b70
[PWGCF] Added a check on MC Rec collisions corresponding to MC Gen co…
JStaa May 30, 2025
8e93cde
[PWGCF] Update lambdaR2Correlation.cxx (#11419)
yashpatley May 30, 2025
4338236
[PWGHF] treeCreatorOmegacSt: Add new decay channel (Omega Kaon) and M…
chengtt0406 May 30, 2025
57b8560
[PWGLF] Add new histogram and selection for mixed event (#11422)
skundu692 May 31, 2025
efe48c2
[PWGLF] angularCorrelationsInJets.cxx: added comments and UE correlat…
ljoergen Jun 1, 2025
3d0f1c4
[PWGLF] Remove outdated code (antidLambdaEbye.cxx and ebyeMult.cxx) (…
maciacco Jun 1, 2025
a0e117c
[PWGLF] reset previous configurable name for compatibility with workf…
maciacco Jun 1, 2025
0d54768
[PWGHF] refine and add a new simple table for DD pairs (#11424)
zhangbiao-phy Jun 1, 2025
54fcc65
[PWGCF] Splitted RD same-sign correlations into postive and negative …
JStaa Jun 1, 2025
8a25f88
[PWGLF] Additional histograms to calculate ZP over ZN v3 (#11430)
omvazque Jun 1, 2025
6f8e609
[PWGLF] Additional cuts were added (#11429)
PaolaVT Jun 2, 2025
7d6d842
[PWGLF] add isPhysiscalPrimary option (#11432)
rspijkers Jun 2, 2025
85556ed
[ALICE3] Further refinements to decay finder code (#11413)
fcolamar Jun 2, 2025
7286b15
[PWGJE,EMCAL-734] Add some QA histograms to correction task (#11415)
mhemmer-cern Jun 2, 2025
2d003a0
[PWGJE] Adding outlier cut histograms for triggers (#11423)
dajones2 Jun 2, 2025
a049065
[PWGLF] PID updated (#11403)
mhartung71 Jun 2, 2025
09eeb4f
[PWGJE,EMCAL-1154] emcalCorrectionTask: fix include headers (#11440)
mhemmer-cern Jun 2, 2025
4b615aa
[PWGCF] Changed order evSel enum (#11442)
cnkoster Jun 2, 2025
bfdb4dc
[ALICE3] Modularise multi-charm task (#11441)
jesgum Jun 2, 2025
2f5306a
[PWGLF] feat: Add nuclei pair table to data model (#11444)
mpuccio Jun 2, 2025
c35d371
[PWGCF] add eta-pt-Vz efficiency (#11436)
Luzhiyongg Jun 2, 2025
dcd0bf4
Add QA histogram for non-prompt nuclei (#11437)
fmazzasc Jun 2, 2025
0b620f6
[PWGUD] Updated the Event Selection (#11443)
ananthapadmanabhan18 Jun 3, 2025
ab13027
[PWGLF] Adds extra pt cutoff for the moments (#11450)
omvazque Jun 3, 2025
cb95bbf
[ALICE3] Completing separation of topological distribution for S and …
fcolamar Jun 3, 2025
5266d28
[PWGDQ] add new set of electron cuts for e-mu and fix the tableMaker_…
MaolinZH Jun 3, 2025
b21ef8d
[PWGHF] tuned histogram bins etc (#11439)
sashingo Jun 3, 2025
ae51c26
[PWGHF] Refactor of charm resonances derived data creator (#11447)
Luca610 Jun 3, 2025
f67e433
[PWGHF] Add ML selection for Xic0ToXiPiKf (#11388)
Tao-Fang Jun 3, 2025
0c77132
[PWGLF] Fix bit flags for preselecting V0s and cascades (#11462)
romainschotter Jun 3, 2025
66031df
[Common] Adding muonQA task (#11438)
ppoava Jun 4, 2025
7f1b79b
[PWGDQ] Small fix for computing the TPC nSigmas when running the tabl…
iarsene Jun 4, 2025
66ae300
[PWGCF,PWGEM,PWGLF] Replace expression columns with dynamic columns i…
romainschotter Jun 4, 2025
a86db29
[ALICE3] A3: update protection of DetLayer (#11381)
njacazio Jun 4, 2025
02f28d6
[PWGJE] V0 Jet Finder: use V0 signal flags (#11190)
GijsvWeelden Jun 4, 2025
e047e1a
[PWGJE] separation of process functions for MCD and Data tables for T…
Archita-Dash Jun 4, 2025
f255502
[PWGJE] Adding track level outlier cut (#11449)
dajones2 Jun 4, 2025
a00a0d2
[PWGEM] LMee: adjusted q/pT binning and fixed DCA1vsDCA2 hist filling…
jjungIKF Jun 4, 2025
aa2c455
[PWGEM/Dilepton] reduce memory consumption in createResolutionMap.cxx…
dsekihat Jun 4, 2025
23ad3f0
[PWGLF] feat(kinkBuilder): use aod::BCs instead of aod::BCsWithTimest…
mpuccio Jun 4, 2025
cfc87f5
[PWGLF] multiplicity and centrality (#11406)
lietava Jun 4, 2025
8f0317f
[PWGHF,PWGJE] Unify and extend MC flags in candidate tables (3-prong,…
vkucera Jun 4, 2025
6fb8bd0
[PWGDQ] Update HistogramLibrery (#11456)
Debadatta3337 Jun 4, 2025
b168d4d
[PWGLF] Change in hStrangeCorrelation (#11466)
lhusova Jun 4, 2025
60a132b
[PWGCF] Update lambdaR2Correlation.cxx (#11465)
yashpatley Jun 5, 2025
21707de
[PWGCF] produce and apply Efficiency correction (#11469)
Luzhiyongg Jun 5, 2025
65c5113
[PWGLF] Full process function autoconfigure for strangeness builder s…
ddobrigk Jun 5, 2025
03f4856
[PWGLF] Fix MC information for primaries and secondaries (#11452)
fmazzasc Jun 5, 2025
ec39703
[PWGDQ] Fixing the initialization of histograms of reconstructed dimu…
lmattei01 Jun 5, 2025
0eae1b3
[PWGLF] feat(nonPromptCascade): Introduce configurable triggers of in…
mpuccio Jun 5, 2025
94750e1
[PWGUD] Improving correlation for gap sides (#11435)
JosueMtzGar Jun 5, 2025
584c358
[PWGCF] Made a change to the RD method cuts (#11471)
JStaa Jun 5, 2025
7c4ca7f
[PWGDQ] Update VarManager.h to correct the cos theta definition in PP…
KangkanGoswami Jun 5, 2025
15c9efb
[PWGDQ] Add loading of geometry to dilepton-track task (#11478)
kaareendrup Jun 5, 2025
afe4171
[PWGLF] Lambda local polarization induced by jet in pp collision 13.6…
15071832337 Jun 5, 2025
eb73d12
[PWGCF] minor change in regard to MFT selection (#11479)
Thorkj Jun 5, 2025
6b4eeb1
[PWGCF] add MC process (#11482)
Luzhiyongg Jun 5, 2025
a310e57
[PWGHF] fix missing assignment of Lc gen pt (#11483)
Mingyu3360715 Jun 6, 2025
d366926
[PWGDQ] Fill vertexing chi2PCA for triplets (#11472)
sigurdnese Jun 6, 2025
653443a
[DPG] Adding ITS task for impact parameter studies (#11401)
scattaru Jun 6, 2025
1f7b19d
[PWGHF] taskXic: Remove PID track tables. Fix magic numbers. (#11458)
cterrevo Jun 6, 2025
75db076
[PWGHF] Add interaction rate selection to HF PID task (#11474)
fchinu Jun 6, 2025
a9ad060
[PWGLF] PWGLF Change in hStrangeCorrelation.cxx (#11488)
lhusova Jun 6, 2025
9e683c4
[PWGJE] Changing outlier rejection on response to the event level (#…
dajones2 Jun 6, 2025
ccd423c
[Common,ALICE3,PWGLF,PWGUD,DPG,Tutorial] Import system libraries usin…
singiamtel Jun 6, 2025
b8918b2
[PWGLF] Add new expression for angular correlation (#11497)
skundu692 Jun 6, 2025
72354e9
[PWGHF] created a duplicate task to correlate Lc and Sc with hadrons …
singhra1994 Jun 6, 2025
7f4498f
[PWGCF] add on-the-fly process (#11494)
Luzhiyongg Jun 6, 2025
cdd7177
[PWGCF] Update PiDeuteronFemto.cxx (#11496)
blacwovie Jun 6, 2025
0e30ce3
[PWGCF] FemtoUniverse -- Add helicity angle analysis in lambda decay.…
a-m-andrushko Jun 6, 2025
8123770
[PWGLF] Implement MC processes in cascade selector (#11484)
rspijkers Jun 6, 2025
5e90fb8
[PWGCF] FemtoUniverse: Adding Configurables for event mixing in mult …
prchakra Jun 7, 2025
415a0a0
[PWGLF] Add mother decay radius and remove track tuner (#11499)
fmazzasc Jun 7, 2025
e410fee
[PWGHF] Add Centrality for Xic0ToXiPiKf and Omegac0ToOmegapiKf (#11470)
Tao-Fang Jun 7, 2025
945e5c9
[PWGEM/Dilepton] reduce memory consumption in createResolutionMap.cxx…
dsekihat Jun 7, 2025
d82d83a
[PWGCF] Added histograms for Monte Carlo (#11486)
nidamalikk Jun 7, 2025
63b7fb1
[ALICE3] Adding decay channel check for D efficiency evaluation in de…
fcolamar Jun 7, 2025
1894459
[PWGLF] Initial commit of lstaranalysis task (#11506)
hkoley Jun 8, 2025
014beb0
[PWGLF] added RCT flag in kstar flow and phi production task (#11501)
sarjeetagami Jun 8, 2025
aeb7859
[PWGCF] try to fix on-the-fly process (#11508)
Luzhiyongg Jun 8, 2025
cd54af5
[PWGHF] reset decayChannel=1 (#11511)
chengtt0406 Jun 8, 2025
f0366cb
[Common] Setting processRun2 to true by default (#11514)
ekryshen Jun 9, 2025
90198fd
[PWGCF] FemtoUniverse - Adding centrality for MC cascades and a PDG h…
basiach Jun 9, 2025
08a6fb7
[Common] modified aod::TracksQA_002 to aod::TracksQAVersion (#11485)
rahulverma012 Jun 9, 2025
5f2d141
[PWGCF] FemtoUniverse: Fine binning the helicity angle distribution (…
prchakra Jun 9, 2025
7859461
[PWGLF] Improve variable selection in mixed event (#11522)
skundu692 Jun 9, 2025
584b078
[PWGLF] fix event selection hist (#11524)
sarjeetagami Jun 9, 2025
aa9cfd5
[PWGLF] use material LUT in fit and propagation (#11513)
maciacco Jun 9, 2025
5f1422a
[PWGLF] added second option for mass calculation (#11459)
mherzer28 Jun 9, 2025
c828273
[PWGEM/Dilepton] update dimuon analyses (#11526)
dsekihat Jun 9, 2025
124f8cf
[PWGLF] Phi cut was added (#11527)
PaolaVT Jun 10, 2025
5693fe8
[PWGUD] Added the bc selection cuts for the new pass5 and renamed his…
ananthapadmanabhan18 Jun 10, 2025
14fd14f
[PWGHF] Selection of prompt and non-prompt scores within a defined ra…
Simple-Shyam Jun 10, 2025
4f81de4
[PWGLF] Lambda local polarization induced by jet in pp collision 13.6…
15071832337 Jun 10, 2025
6bb60d5
[Infrastructure] Configure clang-format to sort and group includes (#…
vkucera Jun 10, 2025
fdc08f1
[PWGHF] Enable ML selection in KF-based LcToPKPi reconstruction (#11489)
lubynets Jun 10, 2025
834ff27
[PWGCF] update on ese (#11530)
zhengqi-w Jun 10, 2025
bfd58b6
[PWGLF] Add new process function to run over strangeness dervide data…
skundu692 Jun 10, 2025
1cd3358
[PWGEM/Dilepton] update in DimuonCut (#11536)
dsekihat Jun 10, 2025
5df5d12
[PWGHF] Add Xic0 flow task and fix previous O2 linter issues (#11533)
Rrantu Jun 10, 2025
6c9f9d2
[ALICE3] do not include internal ITS code (#11539)
f3sch Jun 11, 2025
c81e980
[Common] Common - add trackdcacov table producer for Run2 converted d…
aimeric-landou Jun 11, 2025
75935ce
[PWGUD] : Fixing the runtime overhead (#11532)
JosueMtzGar Jun 11, 2025
3ced229
[Trigger] Add macro to inspect trigger menu per run (#11544)
mpuccio Jun 11, 2025
0996d9c
[PWGUD] Updated macro for JIT session error Cannot allocate memory is…
sdudi123 Jun 11, 2025
05669ee
[Trigger,PWGCF] Fix order of enums (#11545)
ariedel-cern Jun 11, 2025
025cbfe
[PWGLF] do not include ITS internal code (#11540)
f3sch Jun 11, 2025
f07e805
added ccdb objects
Jun 11, 2025
d6123e3
fixed whitespace
Jun 11, 2025
be5bfc2
Please consider the following formatting changes
alibuild Jun 11, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 54 additions & 1 deletion .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,60 @@ PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 200
SortIncludes: false
SortIncludes: CaseSensitive
IncludeBlocks: Regroup
IncludeCategories:
# O2Physics, PWG
- Regex: ^(<|")PWG[A-Z]{2}/.*\.h
Priority: 2
CaseSensitive: true
# O2Physics, non-PWG
- Regex: ^(<|")(Common|ALICE3|DPG|EventFiltering|Tools|Tutorials)/.*\.h
Priority: 3
CaseSensitive: true
# O2
- Regex: ^(<|")(Algorithm|CCDB|Common[A-Z]|DataFormats|DCAFitter|Detectors|EMCAL|Field|Framework|FT0|FV0|GlobalTracking|ITS|MathUtils|MFT|MCH|MID|PHOS|PID|ReconstructionDataFormats|SimulationDataFormat|TOF|TPC|ZDC).*/.*\.h
Priority: 4
CaseSensitive: true
# ROOT
- Regex: ^(<|")(T[A-Z]|Math/|Roo[A-Z])[[:alnum:]/]+\.h
Priority: 5
CaseSensitive: true
# known third-party: KFParticle
- Regex: ^(<|")KF[A-Z][[:alnum:]]+\.h
Priority: 6
CaseSensitive: true
# known third-party: FastJet
- Regex: ^(<|")fastjet/
Priority: 6
CaseSensitive: true
# known third-party: ONNX runtime
- Regex: ^(<|")onnxruntime
Priority: 6
CaseSensitive: true
# incomplete path to DataModel
- Regex: ^(<|").*DataModel/
Priority: 1
CaseSensitive: true
# other third-party
- Regex: ^(<|")([[:alnum:]_]+/)+[[:alnum:]_]+\.h
Priority: 6
CaseSensitive: true
# other local-looking file
- Regex: ^".*\.
Priority: 1
CaseSensitive: true
# C system
- Regex: ^(<|")[[:lower:]_]+\.h(>|")
Priority: 102
CaseSensitive: true
# C++ system
- Regex: ^(<|")[[:lower:]_/]+(>|")
Priority: 101
CaseSensitive: true
# rest
- Regex: .*
Priority: 100
SpaceBeforeAssignmentOperators: true
SpaceBeforeParens: ControlStatements
SpaceInEmptyParentheses: false
Expand Down
4 changes: 2 additions & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ repos:
- id: trailing-whitespace
- id: end-of-file-fixer
- repo: https://github.com/pre-commit/mirrors-clang-format
rev: v18.1.3 # clang-format version
rev: v20.1.5 # clang-format version
hooks:
- id: clang-format
- repo: https://github.com/cpplint/cpplint
rev: 2.0.0
rev: 2.0.2
hooks:
- id: cpplint
93 changes: 82 additions & 11 deletions ALICE3/Core/DelphesO2LutWriter.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -19,19 +19,22 @@
/// @email: preghenella@bo.infn.it
///

#include <cstdio>
#include "ALICE3/Core/DelphesO2LutWriter.h"

#include "ALICE3/Core/DelphesO2TrackSmearer.h"
#include "ALICE3/Core/DelphesO2LutWriter.h"
#include "iostream"
#include "TMatrixD.h"
#include "TVectorD.h"
#include "TMatrixDSymEigen.h"
#include "TDatabasePDG.h"
#include "TLorentzVector.h"
#include "ALICE3/Core/FastTracker.h"
#include "ALICE3/Core/TrackUtilities.h"

#include "TAxis.h"
#include "TDatabasePDG.h"

Check failure on line 29 in ALICE3/Core/DelphesO2LutWriter.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[pdg/database]

Do not use TDatabasePDG directly. Use o2::constants::physics::Mass... or Service<o2::framework::O2DatabasePDG> instead.
#include "TLorentzVector.h"

Check failure on line 30 in ALICE3/Core/DelphesO2LutWriter.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[root/lorentz-vector]

Do not use the TLorentzVector legacy class. Use std::array with RecoDecay methods or the ROOT::Math::LorentzVector template instead.
#include "TMatrixD.h"
#include "TMatrixDSymEigen.h"
#include "TVectorD.h"

#include <cstdio>
#include <iostream>

Check failure on line 36 in ALICE3/Core/DelphesO2LutWriter.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[include-iostream]

Do not include iostream. Use O2 logging instead.

// #define USE_FWD_PARAM
#ifdef USE_FWD_PARAM
#include "fwdRes.C"
Expand All @@ -55,17 +58,18 @@
const float mass,
int itof,
int otof,
int q)
int q,
const float nch)
{
lutEntry.valid = false;

static TLorentzVector tlv;

Check failure on line 66 in ALICE3/Core/DelphesO2LutWriter.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[root/lorentz-vector]

Do not use the TLorentzVector legacy class. Use std::array with RecoDecay methods or the ROOT::Math::LorentzVector template instead.
tlv.SetPtEtaPhiM(pt, eta, 0., mass);
o2::track::TrackParCov trkIn;
o2::upgrade::convertTLorentzVectorToO2Track(q, tlv, {0., 0., 0.}, trkIn);

Check failure on line 69 in ALICE3/Core/DelphesO2LutWriter.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[root/lorentz-vector]

Do not use the TLorentzVector legacy class. Use std::array with RecoDecay methods or the ROOT::Math::LorentzVector template instead.

o2::track::TrackParCov trkOut;
if (fat.FastTrack(trkIn, trkOut, 1) < 0) {
const int status = fat.FastTrack(trkIn, trkOut, nch);
if (status <= 0) {
Printf(" --- fatSolve: FastTrack failed --- \n");
tlv.Print();
return false;
Expand Down Expand Up @@ -142,7 +146,7 @@
const double dcaz_ms = sigma_alpha * r0 * std::cosh(eta);
const double dcaz2 = dca_pos * dca_pos + dcaz_ms * dcaz_ms;

const float Leta = 2.8 / sinh(eta) - 0.01 * r0; // m

Check failure on line 149 in ALICE3/Core/DelphesO2LutWriter.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[std-prefix]

Use std:: prefix for names from the std namespace.
const double relmomres_pos = 10e-6 * pt / 0.3 / Bfield / Leta / Leta * std::sqrt(720. / 15.);

const float relmomres_barrel = std::sqrt(covmbarrel[14]) * pt;
Expand All @@ -152,7 +156,7 @@

// interpolate MS contrib (rel resolution 0.4 at eta = 4)
const float relmomres_MS_eta4 = 0.4 / beta * 0.5 / Bfield;
const float relmomres_MS = relmomres_MS_eta4 * pow(relmomres_MS_eta4 / relmomres_MS_barrel, (std::fabs(eta) - 4.) / (4. - etaMaxBarrel));

Check failure on line 159 in ALICE3/Core/DelphesO2LutWriter.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[std-prefix]

Use std:: prefix for names from the std namespace.
const float momres_tot = pt * std::sqrt(relmomres_pos * relmomres_pos + relmomres_MS * relmomres_MS); // total absolute mom reso

// Fill cov matrix diag
Expand Down Expand Up @@ -234,6 +238,9 @@
lutEntry_t lutEntry;

// write entries
int nCalls = 0;
int successfullCalls = 0;
int failedCalls = 0;
for (int inch = 0; inch < nnch; ++inch) {
Printf(" --- writing nch = %d/%d", inch, nnch);
auto nch = lutHeader.nchmap.eval(inch);
Expand All @@ -242,6 +249,7 @@
for (int irad = 0; irad < nrad; ++irad) {
Printf(" --- writing irad = %d/%d", irad, nrad);
for (int ieta = 0; ieta < neta; ++ieta) {
nCalls++;
Printf(" --- writing ieta = %d/%d", ieta, neta);
auto eta = lutHeader.etamap.eval(ieta);
lutEntry.eta = lutHeader.etamap.eval(ieta);
Expand All @@ -252,6 +260,7 @@
if (std::fabs(eta) <= etaMaxBarrel) { // full lever arm ends at etaMaxBarrel
Printf("Solving in the barrel");
// printf(" --- fatSolve: pt = %f, eta = %f, mass = %f, field=%f \n", lutEntry.pt, lutEntry.eta, lutHeader.mass, lutHeader.field);
successfullCalls++;
if (!fatSolve(lutEntry, lutEntry.pt, lutEntry.eta, lutHeader.mass, itof, otof, q)) {
// printf(" --- fatSolve: error \n");
lutEntry.valid = false;
Expand All @@ -260,13 +269,16 @@
for (int i = 0; i < 15; ++i) {
lutEntry.covm[i] = 0.;
}
successfullCalls--;
failedCalls++;
}
} else {
Printf("Solving outside the barrel");
// printf(" --- fwdSolve: pt = %f, eta = %f, mass = %f, field=%f \n", lutEntry.pt, lutEntry.eta, lutHeader.mass, lutHeader.field);
lutEntry.eff = 1.;
lutEntry.eff2 = 1.;
bool retval = true;
successfullCalls++;
if (useFlatDipole) { // Using the parametrization at the border of the barrel
retval = fatSolve(lutEntry, lutEntry.pt, etaMaxBarrel, lutHeader.mass, itof, otof, q);
} else if (usePara) {
Expand All @@ -288,6 +300,8 @@
for (int i = 0; i < 15; ++i) {
lutEntry.covm[i] = 0.;
}
successfullCalls--;
failedCalls++;
}
}
Printf("Diagonalizing");
Expand All @@ -298,6 +312,8 @@
}
}
}
Printf(" --- finished writing LUT file %s", filename);
Printf(" --- successfull calls: %d/%d, failed calls: %d/%d", successfullCalls, nCalls, failedCalls, nCalls);
lutFile.close();
}

Expand Down Expand Up @@ -331,10 +347,13 @@

TGraph* DelphesO2LutWriter::lutRead(const char* filename, int pdg, int what, int vs, float nch, float radius, float eta, float pt)
{
Printf(" --- reading LUT file %s", filename);
// vs
static const int kNch = 0;
static const int kEta = 1;
static const int kPt = 2;

// what
static const int kEfficiency = 0;
static const int kEfficiency2 = 1;
static const int kEfficiencyInnerTOF = 2;
Expand All @@ -360,6 +379,58 @@
}
auto nbins = lutMap.nbins;
auto g = new TGraph();
g->SetName(Form("lut_%s_%d_vs_%d_what_%d", filename, pdg, vs, what));
g->SetTitle(Form("LUT for %s, pdg %d, vs %d, what %d", filename, pdg, vs, what));
switch (vs) {
case kNch:
Printf(" --- vs = kNch");
g->GetXaxis()->SetTitle("Nch");
break;
case kEta:
Printf(" --- vs = kEta");
g->GetXaxis()->SetTitle("#eta");
break;
case kPt:
Printf(" --- vs = kPt");
g->GetXaxis()->SetTitle("p_{T} (GeV/c)");
break;
default:
Printf(" --- error: unknown vs %d", vs);
return nullptr;
}
switch (what) {
case kEfficiency:
Printf(" --- what = kEfficiency");
g->GetYaxis()->SetTitle("Efficiency (%)");
break;
case kEfficiency2:
Printf(" --- what = kEfficiency2");
g->GetYaxis()->SetTitle("Efficiency2 (%)");
break;
case kEfficiencyInnerTOF:
Printf(" --- what = kEfficiencyInnerTOF");
g->GetYaxis()->SetTitle("Inner TOF Efficiency (%)");
break;
case kEfficiencyOuterTOF:
Printf(" --- what = kEfficiencyOuterTOF");
g->GetYaxis()->SetTitle("Outer TOF Efficiency (%)");
break;
case kPtResolution:
Printf(" --- what = kPtResolution");
g->GetYaxis()->SetTitle("p_{T} Resolution (%)");
break;
case kRPhiResolution:
Printf(" --- what = kRPhiResolution");
g->GetYaxis()->SetTitle("R#phi Resolution (#mum)");
break;
case kZResolution:
Printf(" --- what = kZResolution");
g->GetYaxis()->SetTitle("Z Resolution (#mum)");
break;
default:
Printf(" --- error: unknown what %d", what);
return nullptr;
}

bool canBeInvalid = true;
for (int i = 0; i < nbins; ++i) {
Expand Down Expand Up @@ -411,13 +482,13 @@
val = lutEntry->otof * 100.; // efficiency (%)
break;
case kPtResolution:
val = sqrt(lutEntry->covm[14]) * lutEntry->pt * 100.; // pt resolution (%)

Check failure on line 485 in ALICE3/Core/DelphesO2LutWriter.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[std-prefix]

Use std:: prefix for names from the std namespace.
break;
case kRPhiResolution:
val = sqrt(lutEntry->covm[0]) * 1.e4; // rphi resolution (um)

Check failure on line 488 in ALICE3/Core/DelphesO2LutWriter.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[std-prefix]

Use std:: prefix for names from the std namespace.
break;
case kZResolution:
val = sqrt(lutEntry->covm[1]) * 1.e4; // z resolution (um)

Check failure on line 491 in ALICE3/Core/DelphesO2LutWriter.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[std-prefix]

Use std:: prefix for names from the std namespace.
break;
default:
Printf(" --- error: unknown what %d", what);
Expand Down
3 changes: 2 additions & 1 deletion ALICE3/Core/DelphesO2LutWriter.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,8 @@ class DelphesO2LutWriter
const float mass = 0.13957000,
int itof = 0,
int otof = 0,
int q = 1);
int q = 1,
const float nch = 1);
bool fwdSolve(float* covm, float pt = 0.1, float eta = 0.0, float mass = 0.13957000);
bool fwdPara(lutEntry_t& lutEntry, float pt = 0.1, float eta = 0.0, float mass = 0.13957000, float Bfield = 0.5);
void lutWrite(const char* filename = "lutCovm.dat", int pdg = 211, float field = 0.2, int itof = 0, int otof = 0);
Expand Down
72 changes: 72 additions & 0 deletions ALICE3/Core/DetLayer.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,75 @@
///

#include "DetLayer.h"

#include <string>
#include <vector>

namespace o2::fastsim
{

// Parametric constructor
DetLayer::DetLayer(const TString& name_,
float r_,
float z_,
float x0_,
float xrho_,
float resRPhi_,
float resZ_,
float eff_,
int type_)
: name(name_),
r(r_),
z(z_),
x0(x0_),
xrho(xrho_),
resRPhi(resRPhi_),
resZ(resZ_),
eff(eff_),
type(type_)
{
}

DetLayer::DetLayer(const DetLayer& other)
: name(other.name), r(other.r), z(other.z), x0(other.x0), xrho(other.xrho), resRPhi(other.resRPhi), resZ(other.resZ), eff(other.eff), type(other.type)
{
}

std::string DetLayer::toString() const
{
std::string out = "";
out.append("DetLayer: ");
out.append(name.Data());
out.append(" | r: ");
out.append(std::to_string(r));
out.append(" cm | z: ");
out.append(std::to_string(z));
out.append(" cm | x0: ");
out.append(std::to_string(x0));
out.append(" cm | xrho: ");
out.append(std::to_string(xrho));
out.append(" g/cm^3 | resRPhi: ");
out.append(std::to_string(resRPhi));
out.append(" cm | resZ: ");
out.append(std::to_string(resZ));
out.append(" cm | eff: ");
out.append(std::to_string(eff));
out.append(" | type: ");
switch (type) {
case layerInert:
out.append("Inert");
break;
case layerSilicon:
out.append("Silicon");
break;
case layerGas:
out.append("Gas/TPC");
break;
default:
out.append("Unknown");
break;
}
return out;
}

} // namespace o2::fastsim
Loading
Loading