Skip to content

Commit 244b9e2

Browse files
committed
update in MIDdetector class
1 parent 32dde1a commit 244b9e2

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

src/MIDdetector.cc

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#include "TDatime.h"
1212
#include "TFile.h"
1313
#include "TVector3.h"
14+
#include "TMath.h"
1415

1516
namespace o2 {
1617
namespace delphes {
@@ -38,6 +39,8 @@ namespace o2 {
3839
printf("Object %s not found, quitting\n",Form("mAccEffMuonPID_%s",partLabel[iPart]));
3940
return kFALSE;
4041
}
42+
mMomMin[iPart] = TMath::Max(1.2, mAccEffMuonPID[iPart]->GetAxis(1)->GetXmin());
43+
mMomMax[iPart] = mAccEffMuonPID[iPart]->GetAxis(1)->GetXmax();
4144
}
4245

4346
printf("Setup of MIDdetector successfully completed\n");
@@ -49,8 +52,10 @@ namespace o2 {
4952

5053
bool MIDdetector::hasMID(const Track &track) {
5154

55+
auto pdg = std::abs(track.PID);
56+
auto part = pidmap[pdg];
5257
TVector3 v(track.XOuter, track.YOuter, track.ZOuter);
53-
return (TMath::Abs(v.Eta()) < mEtaMax);
58+
return ((TMath::Abs(v.Eta()) < mEtaMax) && (track.P > mMomMin[part]));
5459

5560
}
5661

@@ -64,7 +69,9 @@ namespace o2 {
6469

6570
auto particle = (GenParticle*) track.Particle.GetObject();
6671

67-
Double_t var[4] = {track.P, track.Eta, particle->Z, double(multiplicity)};
72+
Double_t mom = TMath::Min(track.P, mMomMax[part]);
73+
74+
Double_t var[4] = {track.Eta, mom, particle->Z, double(multiplicity)};
6875
Double_t probMuonPID = mAccEffMuonPID[part]->GetBinContent(mAccEffMuonPID[part]->GetBin(var));
6976
return (gRandom->Uniform() < probMuonPID);
7077

src/MIDdetector.hh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ namespace o2 {
3434
TFile *mFileAccEffMuonPID;
3535
THnSparse *mAccEffMuonPID[kNPart];
3636
const double mEtaMax = 1.6;
37+
double mMomMin[kNPart];
38+
double mMomMax[kNPart];
3739
const char *partLabel[kNPart] = {"electron","muon","pion","kaon","proton"};
3840
std::map<int, int> pidmap = { {11, kElectron}, {13, kMuon}, {211, kPion}, {321, kKaon}, {2212, kProton} };
3941

0 commit comments

Comments
 (0)