Skip to content

Commit b8b12c8

Browse files
authored
Update DelphesO2LutWriter.h
1 parent 04cbec3 commit b8b12c8

File tree

1 file changed

+40
-15
lines changed

1 file changed

+40
-15
lines changed

ALICE3/Core/DelphesO2LutWriter.h

Lines changed: 40 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,11 @@
2424

2525
#include "ALICE3/Core/DelphesO2TrackSmearer.h"
2626
#include "ALICE3/Core/FastTracker.h"
27+
2728
#include "TGraph.h"
2829

30+
#include <string>
31+
2932
namespace o2::fastsim
3033
{
3134
class DelphesO2LutWriter
@@ -34,34 +37,56 @@ class DelphesO2LutWriter
3437
DelphesO2LutWriter() = default;
3538
virtual ~DelphesO2LutWriter() = default;
3639

37-
o2::fastsim::FastTracker fat;
38-
void diagonalise(lutEntry_t& lutEntry);
39-
float etaMaxBarrel = 1.75f;
40-
bool usePara = true; // use fwd parameterisation
41-
bool useDipole = false; // use dipole i.e. flat parametrization for efficiency and momentum resolution
42-
bool useFlatDipole = false; // use dipole i.e. flat parametrization outside of the barrel
43-
44-
int mAtLeastHits = 4;
45-
int mAtLeastCorr = 4;
46-
int mAtLeastFake = 0;
40+
// Setters
41+
void setBinningNch(bool log, int nbins, float min, float max) { mNchBinning = {log, nbins, min, max}; }
42+
void setBinningRadius(bool log, int nbins, float min, float max) { mRadiusBinning = {log, nbins, min, max}; }
43+
void setBinningEta(bool log, int nbins, float min, float max) { mEtaBinning = {log, nbins, min, max}; }
44+
void setBinningPt(bool log, int nbins, float min, float max) { mPtBinning = {log, nbins, min, max}; }
45+
void setEtaMaxBarrel(float eta) { etaMaxBarrel = eta; }
4746
void SetAtLeastHits(int n) { mAtLeastHits = n; }
4847
void SetAtLeastCorr(int n) { mAtLeastCorr = n; }
4948
void SetAtLeastFake(int n) { mAtLeastFake = n; }
50-
51-
void printLutWriterConfiguration();
5249
bool fatSolve(lutEntry_t& lutEntry,
5350
float pt = 0.1,
5451
float eta = 0.0,
5552
const float mass = 0.13957000,
56-
int itof = 0,
57-
int otof = 0,
53+
size_t itof = 0,
54+
size_t otof = 0,
5855
int q = 1,
5956
const float nch = 1);
57+
58+
void Print() const;
6059
bool fwdSolve(float* covm, float pt = 0.1, float eta = 0.0, float mass = 0.13957000);
6160
bool fwdPara(lutEntry_t& lutEntry, float pt = 0.1, float eta = 0.0, float mass = 0.13957000, float Bfield = 0.5);
62-
void lutWrite(const char* filename = "lutCovm.dat", int pdg = 211, float field = 0.2, int itof = 0, int otof = 0);
61+
void lutWrite(const char* filename = "lutCovm.dat", int pdg = 211, float field = 0.2, size_t itof = 0, size_t otof = 0);
6362
TGraph* lutRead(const char* filename, int pdg, int what, int vs, float nch = 0., float radius = 0., float eta = 0., float pt = 0.);
6463

64+
o2::fastsim::FastTracker fat;
65+
66+
private:
67+
void diagonalise(lutEntry_t& lutEntry);
68+
float etaMaxBarrel = 1.75f;
69+
bool usePara = true; // use fwd parameterisation
70+
bool useDipole = false; // use dipole i.e. flat parametrization for efficiency and momentum resolution
71+
bool useFlatDipole = false; // use dipole i.e. flat parametrization outside of the barrel
72+
73+
int mAtLeastHits = 4;
74+
int mAtLeastCorr = 4;
75+
int mAtLeastFake = 0;
76+
77+
// Binning of the LUT to make
78+
struct LutBinning {
79+
bool log;
80+
int nbins;
81+
float min;
82+
float max;
83+
std::string toString() const;
84+
};
85+
LutBinning mNchBinning = {true, 20, 0.5f, 3.5f};
86+
LutBinning mRadiusBinning = {false, 1, 0.0f, 100.0f};
87+
LutBinning mEtaBinning = {false, 80, -4.0f, 4.0f};
88+
LutBinning mPtBinning = {true, 200, -2.0f, 2.0f};
89+
6590
ClassDef(DelphesO2LutWriter, 1);
6691
};
6792
} // namespace o2::fastsim

0 commit comments

Comments
 (0)