|
@@ -14,6 +14,8 @@ qaUtility::qaUtility() : Nevents(-1),
|
|
|
Is_refmult(1),
|
|
|
Is_v1(1),
|
|
|
Is_v2(1),
|
|
|
+ Is_v3(1),
|
|
|
+ Is_v4(1),
|
|
|
Cut_minbias_Event_bmin(0.),
|
|
|
Cut_minbias_Event_bmax(16.),
|
|
|
Cut_minbias_Particle_ptmin(0.),
|
|
@@ -53,6 +55,10 @@ qaUtility::qaUtility() : Nevents(-1),
|
|
|
Cut_v1_Particle_ptmax_pr(1.5),
|
|
|
Cut_v1_Particle_ymin_pr(-0.25),
|
|
|
Cut_v1_Particle_ymax_pr(-0.15),
|
|
|
+ Cut_v1_Particle_ptmin_ne(1.0),
|
|
|
+ Cut_v1_Particle_ptmax_ne(1.5),
|
|
|
+ Cut_v1_Particle_ymin_ne(-0.25),
|
|
|
+ Cut_v1_Particle_ymax_ne(-0.15),
|
|
|
Cut_v2_Event_bmin(0.),
|
|
|
Cut_v2_Event_bmax(16.),
|
|
|
sCut_v2_Event_bCent(""),
|
|
@@ -76,7 +82,67 @@ qaUtility::qaUtility() : Nevents(-1),
|
|
|
Cut_v2_Particle_ptmin_pr(1.0),
|
|
|
Cut_v2_Particle_ptmax_pr(1.5),
|
|
|
Cut_v2_Particle_ymin_pr(-0.05),
|
|
|
- Cut_v2_Particle_ymax_pr(0.05)
|
|
|
+ Cut_v2_Particle_ymax_pr(0.05),
|
|
|
+ Cut_v2_Particle_ptmin_ne(1.0),
|
|
|
+ Cut_v2_Particle_ptmax_ne(1.5),
|
|
|
+ Cut_v2_Particle_ymin_ne(-0.05),
|
|
|
+ Cut_v2_Particle_ymax_ne(0.05),
|
|
|
+ Cut_v3_Event_bmin(0.),
|
|
|
+ Cut_v3_Event_bmax(16.),
|
|
|
+ sCut_v3_Event_bCent(""),
|
|
|
+ sCut_v3_Event_mCent(""),
|
|
|
+ Cut_v3_Event_bCent({}),
|
|
|
+ Cut_v3_Event_mCent({}),
|
|
|
+ Cut_v3_Particle_ptmin(1.0),
|
|
|
+ Cut_v3_Particle_ptmax(1.5),
|
|
|
+ Cut_v3_Particle_etamin(-100.),
|
|
|
+ Cut_v3_Particle_etamax(100.),
|
|
|
+ Cut_v3_Particle_ymin(-0.05),
|
|
|
+ Cut_v3_Particle_ymax(0.05),
|
|
|
+ Cut_v3_Particle_ptmin_pi(0.0),
|
|
|
+ Cut_v3_Particle_ptmax_pi(0.5),
|
|
|
+ Cut_v3_Particle_ymin_pi(-0.05),
|
|
|
+ Cut_v3_Particle_ymax_pi(0.05),
|
|
|
+ Cut_v3_Particle_ptmin_ka(0.2),
|
|
|
+ Cut_v3_Particle_ptmax_ka(0.9),
|
|
|
+ Cut_v3_Particle_ymin_ka(-0.05),
|
|
|
+ Cut_v3_Particle_ymax_ka(0.05),
|
|
|
+ Cut_v3_Particle_ptmin_pr(1.0),
|
|
|
+ Cut_v3_Particle_ptmax_pr(1.5),
|
|
|
+ Cut_v3_Particle_ymin_pr(-0.05),
|
|
|
+ Cut_v3_Particle_ymax_pr(0.05),
|
|
|
+ Cut_v3_Particle_ptmin_ne(1.0),
|
|
|
+ Cut_v3_Particle_ptmax_ne(1.5),
|
|
|
+ Cut_v3_Particle_ymin_ne(-0.05),
|
|
|
+ Cut_v3_Particle_ymax_ne(0.05),
|
|
|
+ Cut_v4_Event_bmin(0.),
|
|
|
+ Cut_v4_Event_bmax(16.),
|
|
|
+ sCut_v4_Event_bCent(""),
|
|
|
+ sCut_v4_Event_mCent(""),
|
|
|
+ Cut_v4_Event_bCent({}),
|
|
|
+ Cut_v4_Event_mCent({}),
|
|
|
+ Cut_v4_Particle_ptmin(1.0),
|
|
|
+ Cut_v4_Particle_ptmax(1.5),
|
|
|
+ Cut_v4_Particle_etamin(-100.),
|
|
|
+ Cut_v4_Particle_etamax(100.),
|
|
|
+ Cut_v4_Particle_ymin(-0.05),
|
|
|
+ Cut_v4_Particle_ymax(0.05),
|
|
|
+ Cut_v4_Particle_ptmin_pi(0.0),
|
|
|
+ Cut_v4_Particle_ptmax_pi(0.5),
|
|
|
+ Cut_v4_Particle_ymin_pi(-0.05),
|
|
|
+ Cut_v4_Particle_ymax_pi(0.05),
|
|
|
+ Cut_v4_Particle_ptmin_ka(0.2),
|
|
|
+ Cut_v4_Particle_ptmax_ka(0.9),
|
|
|
+ Cut_v4_Particle_ymin_ka(-0.05),
|
|
|
+ Cut_v4_Particle_ymax_ka(0.05),
|
|
|
+ Cut_v4_Particle_ptmin_pr(1.0),
|
|
|
+ Cut_v4_Particle_ptmax_pr(1.5),
|
|
|
+ Cut_v4_Particle_ymin_pr(-0.05),
|
|
|
+ Cut_v4_Particle_ymax_pr(0.05),
|
|
|
+ Cut_v4_Particle_ptmin_ne(1.0),
|
|
|
+ Cut_v4_Particle_ptmax_ne(1.5),
|
|
|
+ Cut_v4_Particle_ymin_ne(-0.05),
|
|
|
+ Cut_v4_Particle_ymax_ne(0.05)
|
|
|
{
|
|
|
}
|
|
|
|
|
@@ -150,6 +216,10 @@ Bool_t qaUtility::ReadConfig(const TString &configFileName)
|
|
|
Cut_v1_Particle_ptmax_pr = env.GetValue("Cut_v1_Particle_ptmax_pr", 0.);
|
|
|
Cut_v1_Particle_ymin_pr = env.GetValue("Cut_v1_Particle_ymin_pr", 0.);
|
|
|
Cut_v1_Particle_ymax_pr = env.GetValue("Cut_v1_Particle_ymax_pr", 0.);
|
|
|
+ Cut_v1_Particle_ptmin_ne = env.GetValue("Cut_v1_Particle_ptmin_ne", 0.);
|
|
|
+ Cut_v1_Particle_ptmax_ne = env.GetValue("Cut_v1_Particle_ptmax_ne", 0.);
|
|
|
+ Cut_v1_Particle_ymin_ne = env.GetValue("Cut_v1_Particle_ymin_ne", 0.);
|
|
|
+ Cut_v1_Particle_ymax_ne = env.GetValue("Cut_v1_Particle_ymax_ne", 0.);
|
|
|
|
|
|
Is_v2 = env.GetValue("Is_v2", 0);
|
|
|
Cut_v2_Event_bmin = env.GetValue("Cut_v2_Event_bmin", 0.);
|
|
@@ -175,6 +245,68 @@ Bool_t qaUtility::ReadConfig(const TString &configFileName)
|
|
|
Cut_v2_Particle_ptmax_pr = env.GetValue("Cut_v2_Particle_ptmax_pr", 0.);
|
|
|
Cut_v2_Particle_ymin_pr = env.GetValue("Cut_v2_Particle_ymin_pr", 0.);
|
|
|
Cut_v2_Particle_ymax_pr = env.GetValue("Cut_v2_Particle_ymax_pr", 0.);
|
|
|
+ Cut_v2_Particle_ptmin_ne = env.GetValue("Cut_v2_Particle_ptmin_ne", 0.);
|
|
|
+ Cut_v2_Particle_ptmax_ne = env.GetValue("Cut_v2_Particle_ptmax_ne", 0.);
|
|
|
+ Cut_v2_Particle_ymin_ne = env.GetValue("Cut_v2_Particle_ymin_ne", 0.);
|
|
|
+ Cut_v2_Particle_ymax_ne = env.GetValue("Cut_v2_Particle_ymax_ne", 0.);
|
|
|
+
|
|
|
+ Is_v3 = env.GetValue("Is_v3", 0);
|
|
|
+ Cut_v3_Event_bmin = env.GetValue("Cut_v3_Event_bmin", 0.);
|
|
|
+ Cut_v3_Event_bmax = env.GetValue("Cut_v3_Event_bmax", 0.);
|
|
|
+ sCut_v3_Event_bCent = env.GetValue("Cut_v3_Event_bCent", "");
|
|
|
+ sCut_v3_Event_mCent = env.GetValue("Cut_v3_Event_mCent", "");
|
|
|
+
|
|
|
+ Cut_v3_Particle_ptmin = env.GetValue("Cut_v3_Particle_ptmin", 0.);
|
|
|
+ Cut_v3_Particle_ptmax = env.GetValue("Cut_v3_Particle_ptmax", 0.);
|
|
|
+ Cut_v3_Particle_etamin = env.GetValue("Cut_v3_Particle_etamin", 0.);
|
|
|
+ Cut_v3_Particle_etamax = env.GetValue("Cut_v3_Particle_etamax", 0.);
|
|
|
+ Cut_v3_Particle_ymin = env.GetValue("Cut_v3_Particle_ymin", 0.);
|
|
|
+ Cut_v3_Particle_ymax = env.GetValue("Cut_v3_Particle_ymax", 0.);
|
|
|
+ Cut_v3_Particle_ptmin_pi = env.GetValue("Cut_v3_Particle_ptmin_pi", 0.);
|
|
|
+ Cut_v3_Particle_ptmax_pi = env.GetValue("Cut_v3_Particle_ptmax_pi", 0.);
|
|
|
+ Cut_v3_Particle_ymin_pi = env.GetValue("Cut_v3_Particle_ymin_pi", 0.);
|
|
|
+ Cut_v3_Particle_ymax_pi = env.GetValue("Cut_v3_Particle_ymax_pi", 0.);
|
|
|
+ Cut_v3_Particle_ptmin_ka = env.GetValue("Cut_v3_Particle_ptmin_ka", 0.);
|
|
|
+ Cut_v3_Particle_ptmax_ka = env.GetValue("Cut_v3_Particle_ptmax_ka", 0.);
|
|
|
+ Cut_v3_Particle_ymin_ka = env.GetValue("Cut_v3_Particle_ymin_ka", 0.);
|
|
|
+ Cut_v3_Particle_ymax_ka = env.GetValue("Cut_v3_Particle_ymax_ka", 0.);
|
|
|
+ Cut_v3_Particle_ptmin_pr = env.GetValue("Cut_v3_Particle_ptmin_pr", 0.);
|
|
|
+ Cut_v3_Particle_ptmax_pr = env.GetValue("Cut_v3_Particle_ptmax_pr", 0.);
|
|
|
+ Cut_v3_Particle_ymin_pr = env.GetValue("Cut_v3_Particle_ymin_pr", 0.);
|
|
|
+ Cut_v3_Particle_ymax_pr = env.GetValue("Cut_v3_Particle_ymax_pr", 0.);
|
|
|
+ Cut_v3_Particle_ptmin_ne = env.GetValue("Cut_v3_Particle_ptmin_ne", 0.);
|
|
|
+ Cut_v3_Particle_ptmax_ne = env.GetValue("Cut_v3_Particle_ptmax_ne", 0.);
|
|
|
+ Cut_v3_Particle_ymin_ne = env.GetValue("Cut_v3_Particle_ymin_ne", 0.);
|
|
|
+ Cut_v3_Particle_ymax_ne = env.GetValue("Cut_v3_Particle_ymax_ne", 0.);
|
|
|
+
|
|
|
+ Is_v4 = env.GetValue("Is_v4", 0);
|
|
|
+ Cut_v4_Event_bmin = env.GetValue("Cut_v4_Event_bmin", 0.);
|
|
|
+ Cut_v4_Event_bmax = env.GetValue("Cut_v4_Event_bmax", 0.);
|
|
|
+ sCut_v4_Event_bCent = env.GetValue("Cut_v4_Event_bCent", "");
|
|
|
+ sCut_v4_Event_mCent = env.GetValue("Cut_v4_Event_mCent", "");
|
|
|
+
|
|
|
+ Cut_v4_Particle_ptmin = env.GetValue("Cut_v4_Particle_ptmin", 0.);
|
|
|
+ Cut_v4_Particle_ptmax = env.GetValue("Cut_v4_Particle_ptmax", 0.);
|
|
|
+ Cut_v4_Particle_etamin = env.GetValue("Cut_v4_Particle_etamin", 0.);
|
|
|
+ Cut_v4_Particle_etamax = env.GetValue("Cut_v4_Particle_etamax", 0.);
|
|
|
+ Cut_v4_Particle_ymin = env.GetValue("Cut_v4_Particle_ymin", 0.);
|
|
|
+ Cut_v4_Particle_ymax = env.GetValue("Cut_v4_Particle_ymax", 0.);
|
|
|
+ Cut_v4_Particle_ptmin_pi = env.GetValue("Cut_v4_Particle_ptmin_pi", 0.);
|
|
|
+ Cut_v4_Particle_ptmax_pi = env.GetValue("Cut_v4_Particle_ptmax_pi", 0.);
|
|
|
+ Cut_v4_Particle_ymin_pi = env.GetValue("Cut_v4_Particle_ymin_pi", 0.);
|
|
|
+ Cut_v4_Particle_ymax_pi = env.GetValue("Cut_v4_Particle_ymax_pi", 0.);
|
|
|
+ Cut_v4_Particle_ptmin_ka = env.GetValue("Cut_v4_Particle_ptmin_ka", 0.);
|
|
|
+ Cut_v4_Particle_ptmax_ka = env.GetValue("Cut_v4_Particle_ptmax_ka", 0.);
|
|
|
+ Cut_v4_Particle_ymin_ka = env.GetValue("Cut_v4_Particle_ymin_ka", 0.);
|
|
|
+ Cut_v4_Particle_ymax_ka = env.GetValue("Cut_v4_Particle_ymax_ka", 0.);
|
|
|
+ Cut_v4_Particle_ptmin_pr = env.GetValue("Cut_v4_Particle_ptmin_pr", 0.);
|
|
|
+ Cut_v4_Particle_ptmax_pr = env.GetValue("Cut_v4_Particle_ptmax_pr", 0.);
|
|
|
+ Cut_v4_Particle_ymin_pr = env.GetValue("Cut_v4_Particle_ymin_pr", 0.);
|
|
|
+ Cut_v4_Particle_ymax_pr = env.GetValue("Cut_v4_Particle_ymax_pr", 0.);
|
|
|
+ Cut_v4_Particle_ptmin_ne = env.GetValue("Cut_v4_Particle_ptmin_ne", 0.);
|
|
|
+ Cut_v4_Particle_ptmax_ne = env.GetValue("Cut_v4_Particle_ptmax_ne", 0.);
|
|
|
+ Cut_v4_Particle_ymin_ne = env.GetValue("Cut_v4_Particle_ymin_ne", 0.);
|
|
|
+ Cut_v4_Particle_ymax_ne = env.GetValue("Cut_v4_Particle_ymax_ne", 0.);
|
|
|
|
|
|
if (!initCentrality())
|
|
|
return false;
|
|
@@ -212,14 +344,22 @@ Bool_t qaUtility::initCentrality()
|
|
|
{
|
|
|
Cut_v1_Event_bCent = ParseVector(sCut_v1_Event_bCent);
|
|
|
Cut_v2_Event_bCent = ParseVector(sCut_v2_Event_bCent);
|
|
|
+ Cut_v3_Event_bCent = ParseVector(sCut_v3_Event_bCent);
|
|
|
+ Cut_v4_Event_bCent = ParseVector(sCut_v4_Event_bCent);
|
|
|
|
|
|
Cut_v1_Event_mCent = ParseVector(sCut_v1_Event_mCent);
|
|
|
Cut_v2_Event_mCent = ParseVector(sCut_v2_Event_mCent);
|
|
|
+ Cut_v3_Event_mCent = ParseVector(sCut_v3_Event_mCent);
|
|
|
+ Cut_v4_Event_mCent = ParseVector(sCut_v4_Event_mCent);
|
|
|
|
|
|
if (Cut_v1_Event_bCent.size() == 0 ||
|
|
|
Cut_v2_Event_bCent.size() == 0 ||
|
|
|
+ Cut_v3_Event_bCent.size() == 0 ||
|
|
|
+ Cut_v4_Event_bCent.size() == 0 ||
|
|
|
Cut_v1_Event_mCent.size() == 0 ||
|
|
|
- Cut_v2_Event_mCent.size() == 0)
|
|
|
+ Cut_v2_Event_mCent.size() == 0 ||
|
|
|
+ Cut_v3_Event_mCent.size() == 0 ||
|
|
|
+ Cut_v4_Event_mCent.size() == 0)
|
|
|
|
|
|
{
|
|
|
return false;
|
|
@@ -268,6 +408,26 @@ Bool_t qaUtility::Cut_Event_v2(qaEvent *const &event)
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
+Bool_t qaUtility::Cut_Event_v3(qaEvent *const &event)
|
|
|
+{
|
|
|
+ if (event->GetB() < Cut_v3_Event_bmin)
|
|
|
+ return false;
|
|
|
+ if (event->GetB() > Cut_v3_Event_bmax)
|
|
|
+ return false;
|
|
|
+
|
|
|
+ return true;
|
|
|
+}
|
|
|
+
|
|
|
+Bool_t qaUtility::Cut_Event_v4(qaEvent *const &event)
|
|
|
+{
|
|
|
+ if (event->GetB() < Cut_v4_Event_bmin)
|
|
|
+ return false;
|
|
|
+ if (event->GetB() > Cut_v4_Event_bmax)
|
|
|
+ return false;
|
|
|
+
|
|
|
+ return true;
|
|
|
+}
|
|
|
+
|
|
|
Bool_t qaUtility::Cut_Particle_minbias(qaParticle *const &particle)
|
|
|
{
|
|
|
if (particle->GetPt() < Cut_minbias_Particle_ptmin)
|
|
@@ -319,7 +479,7 @@ Bool_t qaUtility::Cut_Particle_v1_acceptance(qaParticle *const &particle)
|
|
|
Double_t charge = GetCharge(particle->GetPdg());
|
|
|
if (charge == error_code)
|
|
|
return false;
|
|
|
- if (charge == 0)
|
|
|
+ if (charge == 0 && TMath::Abs(particle->GetPdg()) != 2112)
|
|
|
return false;
|
|
|
|
|
|
return true;
|
|
@@ -420,7 +580,7 @@ Bool_t qaUtility::Cut_Particle_v1_PID_pt(qaParticleLight const &particle, Int_t
|
|
|
{
|
|
|
if (_pid == -1)
|
|
|
return false;
|
|
|
- if (particle.GetPdg() != vpdg.at(_pid) && _pid != 0 && _pid != 4)
|
|
|
+ if (particle.GetPdg() != vpdg.at(_pid) && _pid != 0 && _pid != 5)
|
|
|
return false;
|
|
|
|
|
|
// PID related kinematics cut
|
|
@@ -437,28 +597,36 @@ Bool_t qaUtility::Cut_Particle_v1_PID_pt(qaParticleLight const &particle, Int_t
|
|
|
return false;
|
|
|
if (_pid == 3 && y > Cut_v1_Particle_ymax_pr)
|
|
|
return false;
|
|
|
- if (_pid == 5 && y < Cut_v1_Particle_ymin_pi)
|
|
|
+ if (_pid == 4 && y < Cut_v1_Particle_ymin_ne)
|
|
|
+ return false;
|
|
|
+ if (_pid == 4 && y > Cut_v1_Particle_ymax_ne)
|
|
|
+ return false;
|
|
|
+ if (_pid == 6 && y < Cut_v1_Particle_ymin_pi)
|
|
|
return false;
|
|
|
- if (_pid == 5 && y > Cut_v1_Particle_ymax_pi)
|
|
|
+ if (_pid == 6 && y > Cut_v1_Particle_ymax_pi)
|
|
|
return false;
|
|
|
- if (_pid == 6 && y < Cut_v1_Particle_ymin_ka)
|
|
|
+ if (_pid == 7 && y < Cut_v1_Particle_ymin_ka)
|
|
|
return false;
|
|
|
- if (_pid == 6 && y > Cut_v1_Particle_ymax_ka)
|
|
|
+ if (_pid == 7 && y > Cut_v1_Particle_ymax_ka)
|
|
|
return false;
|
|
|
- if (_pid == 7 && y < Cut_v1_Particle_ymin_pr)
|
|
|
+ if (_pid == 8 && y < Cut_v1_Particle_ymin_pr)
|
|
|
return false;
|
|
|
- if (_pid == 7 && y > Cut_v1_Particle_ymax_pr)
|
|
|
+ if (_pid == 8 && y > Cut_v1_Particle_ymax_pr)
|
|
|
+ return false;
|
|
|
+ if (_pid == 9 && y < Cut_v1_Particle_ymin_ne)
|
|
|
+ return false;
|
|
|
+ if (_pid == 9 && y > Cut_v1_Particle_ymax_ne)
|
|
|
return false;
|
|
|
|
|
|
Double_t charge = GetCharge(particle.GetPdg());
|
|
|
if (charge == error_code)
|
|
|
return false;
|
|
|
- if (charge == 0)
|
|
|
+ if (charge == 0 && TMath::Abs(particle.GetPdg()) != 2112)
|
|
|
return false;
|
|
|
|
|
|
if (_pid == 0 && charge < 0)
|
|
|
return false;
|
|
|
- if (_pid == 4 && charge > 0)
|
|
|
+ if (_pid == 5 && charge > 0)
|
|
|
return false;
|
|
|
|
|
|
return true;
|
|
@@ -468,7 +636,7 @@ Bool_t qaUtility::Cut_Particle_v1_PID_y(qaParticleLight const &particle, Int_t _
|
|
|
{
|
|
|
if (_pid == -1)
|
|
|
return false;
|
|
|
- if (particle.GetPdg() != vpdg.at(_pid) && _pid != 0 && _pid != 4)
|
|
|
+ if (particle.GetPdg() != vpdg.at(_pid) && _pid != 0 && _pid != 5)
|
|
|
return false;
|
|
|
|
|
|
// PID related kinematics cut
|
|
@@ -484,28 +652,36 @@ Bool_t qaUtility::Cut_Particle_v1_PID_y(qaParticleLight const &particle, Int_t _
|
|
|
return false;
|
|
|
if (_pid == 3 && particle.GetPt() > Cut_v1_Particle_ptmax_pr)
|
|
|
return false;
|
|
|
- if (_pid == 5 && particle.GetPt() < Cut_v1_Particle_ptmin_pi)
|
|
|
+ if (_pid == 4 && particle.GetPt() < Cut_v1_Particle_ptmin_ne)
|
|
|
+ return false;
|
|
|
+ if (_pid == 4 && particle.GetPt() > Cut_v1_Particle_ptmax_ne)
|
|
|
return false;
|
|
|
- if (_pid == 5 && particle.GetPt() > Cut_v1_Particle_ptmax_pi)
|
|
|
+ if (_pid == 6 && particle.GetPt() < Cut_v1_Particle_ptmin_pi)
|
|
|
return false;
|
|
|
- if (_pid == 6 && particle.GetPt() < Cut_v1_Particle_ptmin_ka)
|
|
|
+ if (_pid == 6 && particle.GetPt() > Cut_v1_Particle_ptmax_pi)
|
|
|
return false;
|
|
|
- if (_pid == 6 && particle.GetPt() > Cut_v1_Particle_ptmax_ka)
|
|
|
+ if (_pid == 7 && particle.GetPt() < Cut_v1_Particle_ptmin_ka)
|
|
|
return false;
|
|
|
- if (_pid == 7 && particle.GetPt() < Cut_v1_Particle_ptmin_pr)
|
|
|
+ if (_pid == 7 && particle.GetPt() > Cut_v1_Particle_ptmax_ka)
|
|
|
return false;
|
|
|
- if (_pid == 7 && particle.GetPt() > Cut_v1_Particle_ptmax_pr)
|
|
|
+ if (_pid == 8 && particle.GetPt() < Cut_v1_Particle_ptmin_pr)
|
|
|
+ return false;
|
|
|
+ if (_pid == 8 && particle.GetPt() > Cut_v1_Particle_ptmax_pr)
|
|
|
+ return false;
|
|
|
+ if (_pid == 9 && particle.GetPt() < Cut_v1_Particle_ptmin_ne)
|
|
|
+ return false;
|
|
|
+ if (_pid == 9 && particle.GetPt() > Cut_v1_Particle_ptmax_ne)
|
|
|
return false;
|
|
|
|
|
|
Double_t charge = GetCharge(particle.GetPdg());
|
|
|
if (charge == error_code)
|
|
|
return false;
|
|
|
- if (charge == 0)
|
|
|
+ if (charge == 0 && TMath::Abs(particle.GetPdg()) != 2112)
|
|
|
return false;
|
|
|
|
|
|
if (_pid == 0 && charge < 0)
|
|
|
return false;
|
|
|
- if (_pid == 4 && charge > 0)
|
|
|
+ if (_pid == 5 && charge > 0)
|
|
|
return false;
|
|
|
|
|
|
return true;
|
|
@@ -525,7 +701,7 @@ Bool_t qaUtility::Cut_Particle_v2_acceptance(qaParticle *const &particle)
|
|
|
Double_t charge = GetCharge(particle->GetPdg());
|
|
|
if (charge == error_code)
|
|
|
return false;
|
|
|
- if (charge == 0)
|
|
|
+ if (charge == 0 && TMath::Abs(particle->GetPdg()) != 2112)
|
|
|
return false;
|
|
|
|
|
|
return true;
|
|
@@ -626,7 +802,7 @@ Bool_t qaUtility::Cut_Particle_v2_PID_pt(qaParticleLight const &particle, Int_t
|
|
|
{
|
|
|
if (_pid == -1)
|
|
|
return false;
|
|
|
- if (particle.GetPdg() != vpdg.at(_pid) && _pid != 0 && _pid != 4)
|
|
|
+ if (particle.GetPdg() != vpdg.at(_pid) && _pid != 0 && _pid != 5)
|
|
|
return false;
|
|
|
|
|
|
// PID related kinematics cut
|
|
@@ -643,28 +819,36 @@ Bool_t qaUtility::Cut_Particle_v2_PID_pt(qaParticleLight const &particle, Int_t
|
|
|
return false;
|
|
|
if (_pid == 3 && y > Cut_v2_Particle_ymax_pr)
|
|
|
return false;
|
|
|
- if (_pid == 5 && y < Cut_v2_Particle_ymin_pi)
|
|
|
+ if (_pid == 5 && y < Cut_v2_Particle_ymin_ne)
|
|
|
+ return false;
|
|
|
+ if (_pid == 4 && y > Cut_v2_Particle_ymax_ne)
|
|
|
+ return false;
|
|
|
+ if (_pid == 6 && y < Cut_v2_Particle_ymin_pi)
|
|
|
+ return false;
|
|
|
+ if (_pid == 6 && y > Cut_v2_Particle_ymax_pi)
|
|
|
return false;
|
|
|
- if (_pid == 5 && y > Cut_v2_Particle_ymax_pi)
|
|
|
+ if (_pid == 7 && y < Cut_v2_Particle_ymin_ka)
|
|
|
return false;
|
|
|
- if (_pid == 6 && y < Cut_v2_Particle_ymin_ka)
|
|
|
+ if (_pid == 7 && y > Cut_v2_Particle_ymax_ka)
|
|
|
return false;
|
|
|
- if (_pid == 6 && y > Cut_v2_Particle_ymax_ka)
|
|
|
+ if (_pid == 8 && y < Cut_v2_Particle_ymin_pr)
|
|
|
return false;
|
|
|
- if (_pid == 7 && y < Cut_v2_Particle_ymin_pr)
|
|
|
+ if (_pid == 8 && y > Cut_v2_Particle_ymax_pr)
|
|
|
return false;
|
|
|
- if (_pid == 7 && y > Cut_v2_Particle_ymax_pr)
|
|
|
+ if (_pid == 9 && y < Cut_v2_Particle_ymin_ne)
|
|
|
+ return false;
|
|
|
+ if (_pid == 9 && y > Cut_v2_Particle_ymax_ne)
|
|
|
return false;
|
|
|
|
|
|
Double_t charge = GetCharge(particle.GetPdg());
|
|
|
if (charge == error_code)
|
|
|
return false;
|
|
|
- if (charge == 0)
|
|
|
+ if (charge == 0 && TMath::Abs(particle.GetPdg()) != 2112)
|
|
|
return false;
|
|
|
|
|
|
if (_pid == 0 && charge < 0)
|
|
|
return false;
|
|
|
- if (_pid == 4 && charge > 0)
|
|
|
+ if (_pid == 5 && charge > 0)
|
|
|
return false;
|
|
|
|
|
|
return true;
|
|
@@ -674,7 +858,7 @@ Bool_t qaUtility::Cut_Particle_v2_PID_y(qaParticleLight const &particle, Int_t _
|
|
|
{
|
|
|
if (_pid == -1)
|
|
|
return false;
|
|
|
- if (particle.GetPdg() != vpdg.at(_pid) && _pid != 0 && _pid != 4)
|
|
|
+ if (particle.GetPdg() != vpdg.at(_pid) && _pid != 0 && _pid != 5)
|
|
|
return false;
|
|
|
|
|
|
// PID related kinematics cut
|
|
@@ -690,28 +874,298 @@ Bool_t qaUtility::Cut_Particle_v2_PID_y(qaParticleLight const &particle, Int_t _
|
|
|
return false;
|
|
|
if (_pid == 3 && particle.GetPt() > Cut_v2_Particle_ptmax_pr)
|
|
|
return false;
|
|
|
- if (_pid == 5 && particle.GetPt() < Cut_v2_Particle_ptmin_pi)
|
|
|
+ if (_pid == 4 && particle.GetPt() < Cut_v2_Particle_ptmin_ne)
|
|
|
+ return false;
|
|
|
+ if (_pid == 4 && particle.GetPt() > Cut_v2_Particle_ptmax_ne)
|
|
|
+ return false;
|
|
|
+ if (_pid == 6 && particle.GetPt() < Cut_v2_Particle_ptmin_pi)
|
|
|
+ return false;
|
|
|
+ if (_pid == 6 && particle.GetPt() > Cut_v2_Particle_ptmax_pi)
|
|
|
+ return false;
|
|
|
+ if (_pid == 7 && particle.GetPt() < Cut_v2_Particle_ptmin_ka)
|
|
|
+ return false;
|
|
|
+ if (_pid == 7 && particle.GetPt() > Cut_v2_Particle_ptmax_ka)
|
|
|
+ return false;
|
|
|
+ if (_pid == 8 && particle.GetPt() < Cut_v2_Particle_ptmin_pr)
|
|
|
+ return false;
|
|
|
+ if (_pid == 8 && particle.GetPt() > Cut_v2_Particle_ptmax_pr)
|
|
|
+ return false;
|
|
|
+ if (_pid == 9 && particle.GetPt() < Cut_v2_Particle_ptmin_ne)
|
|
|
+ return false;
|
|
|
+ if (_pid == 9 && particle.GetPt() > Cut_v2_Particle_ptmax_ne)
|
|
|
+ return false;
|
|
|
+
|
|
|
+ Double_t charge = GetCharge(particle.GetPdg());
|
|
|
+ if (charge == error_code)
|
|
|
+ return false;
|
|
|
+ if (charge == 0 && TMath::Abs(particle.GetPdg()) != 2112)
|
|
|
+ return false;
|
|
|
+
|
|
|
+ if (_pid == 0 && charge < 0)
|
|
|
+ return false;
|
|
|
+ if (_pid == 5 && charge > 0)
|
|
|
+ return false;
|
|
|
+
|
|
|
+ return true;
|
|
|
+}
|
|
|
+
|
|
|
+Bool_t qaUtility::Cut_Particle_v3_acceptance(qaParticle *const &particle)
|
|
|
+{
|
|
|
+ if (particle->GetEta() < Cut_v3_Particle_etamin)
|
|
|
+ return false;
|
|
|
+ if (particle->GetEta() > Cut_v3_Particle_etamax)
|
|
|
+ return false;
|
|
|
+ if (particle->GetPt() < Cut_v3_Particle_ptmin)
|
|
|
+ return false;
|
|
|
+ if (particle->GetPt() > Cut_v3_Particle_ptmax)
|
|
|
+ return false;
|
|
|
+
|
|
|
+ Double_t charge = GetCharge(particle->GetPdg());
|
|
|
+ if (charge == error_code)
|
|
|
+ return false;
|
|
|
+ if (charge == 0 && TMath::Abs(particle->GetPdg()) != 2112)
|
|
|
+ return false;
|
|
|
+
|
|
|
+ return true;
|
|
|
+}
|
|
|
+
|
|
|
+Bool_t qaUtility::Cut_Particle_v3_PID_pt(qaParticleLight const &particle, Int_t _pid)
|
|
|
+{
|
|
|
+ if (_pid == -1)
|
|
|
+ return false;
|
|
|
+ if (particle.GetPdg() != vpdg.at(_pid) && _pid != 0 && _pid != 5)
|
|
|
+ return false;
|
|
|
+
|
|
|
+ // PID related kinematics cut
|
|
|
+ Double_t y = 0.5 * TMath::Log((particle.GetEnergy() + particle.GetPz()) / (particle.GetEnergy() - particle.GetPz()));
|
|
|
+ if (_pid == 1 && y < Cut_v3_Particle_ymin_pi)
|
|
|
+ return false;
|
|
|
+ if (_pid == 1 && y > Cut_v3_Particle_ymax_pi)
|
|
|
+ return false;
|
|
|
+ if (_pid == 2 && y < Cut_v3_Particle_ymin_ka)
|
|
|
+ return false;
|
|
|
+ if (_pid == 2 && y > Cut_v3_Particle_ymax_ka)
|
|
|
+ return false;
|
|
|
+ if (_pid == 3 && y < Cut_v3_Particle_ymin_pr)
|
|
|
+ return false;
|
|
|
+ if (_pid == 3 && y > Cut_v3_Particle_ymax_pr)
|
|
|
+ return false;
|
|
|
+ if (_pid == 5 && y < Cut_v3_Particle_ymin_ne)
|
|
|
+ return false;
|
|
|
+ if (_pid == 4 && y > Cut_v3_Particle_ymax_ne)
|
|
|
+ return false;
|
|
|
+ if (_pid == 6 && y < Cut_v3_Particle_ymin_pi)
|
|
|
+ return false;
|
|
|
+ if (_pid == 6 && y > Cut_v3_Particle_ymax_pi)
|
|
|
+ return false;
|
|
|
+ if (_pid == 7 && y < Cut_v3_Particle_ymin_ka)
|
|
|
+ return false;
|
|
|
+ if (_pid == 7 && y > Cut_v3_Particle_ymax_ka)
|
|
|
+ return false;
|
|
|
+ if (_pid == 8 && y < Cut_v3_Particle_ymin_pr)
|
|
|
+ return false;
|
|
|
+ if (_pid == 8 && y > Cut_v3_Particle_ymax_pr)
|
|
|
+ return false;
|
|
|
+ if (_pid == 9 && y < Cut_v3_Particle_ymin_ne)
|
|
|
+ return false;
|
|
|
+ if (_pid == 9 && y > Cut_v3_Particle_ymax_ne)
|
|
|
+ return false;
|
|
|
+
|
|
|
+ Double_t charge = GetCharge(particle.GetPdg());
|
|
|
+ if (charge == error_code)
|
|
|
+ return false;
|
|
|
+ if (charge == 0 && TMath::Abs(particle.GetPdg()) != 2112)
|
|
|
+ return false;
|
|
|
+
|
|
|
+ if (_pid == 0 && charge < 0)
|
|
|
+ return false;
|
|
|
+ if (_pid == 5 && charge > 0)
|
|
|
+ return false;
|
|
|
+
|
|
|
+ return true;
|
|
|
+}
|
|
|
+
|
|
|
+Bool_t qaUtility::Cut_Particle_v3_PID_y(qaParticleLight const &particle, Int_t _pid)
|
|
|
+{
|
|
|
+ if (_pid == -1)
|
|
|
+ return false;
|
|
|
+ if (particle.GetPdg() != vpdg.at(_pid) && _pid != 0 && _pid != 5)
|
|
|
+ return false;
|
|
|
+
|
|
|
+ // PID related kinematics cut
|
|
|
+ if (_pid == 1 && particle.GetPt() < Cut_v3_Particle_ptmin_pi)
|
|
|
+ return false;
|
|
|
+ if (_pid == 1 && particle.GetPt() > Cut_v3_Particle_ptmax_pi)
|
|
|
+ return false;
|
|
|
+ if (_pid == 2 && particle.GetPt() < Cut_v3_Particle_ptmin_ka)
|
|
|
+ return false;
|
|
|
+ if (_pid == 2 && particle.GetPt() > Cut_v3_Particle_ptmax_ka)
|
|
|
+ return false;
|
|
|
+ if (_pid == 3 && particle.GetPt() < Cut_v3_Particle_ptmin_pr)
|
|
|
+ return false;
|
|
|
+ if (_pid == 3 && particle.GetPt() > Cut_v3_Particle_ptmax_pr)
|
|
|
+ return false;
|
|
|
+ if (_pid == 4 && particle.GetPt() < Cut_v3_Particle_ptmin_ne)
|
|
|
+ return false;
|
|
|
+ if (_pid == 4 && particle.GetPt() > Cut_v3_Particle_ptmax_ne)
|
|
|
+ return false;
|
|
|
+ if (_pid == 6 && particle.GetPt() < Cut_v3_Particle_ptmin_pi)
|
|
|
+ return false;
|
|
|
+ if (_pid == 6 && particle.GetPt() > Cut_v3_Particle_ptmax_pi)
|
|
|
+ return false;
|
|
|
+ if (_pid == 7 && particle.GetPt() < Cut_v3_Particle_ptmin_ka)
|
|
|
+ return false;
|
|
|
+ if (_pid == 7 && particle.GetPt() > Cut_v3_Particle_ptmax_ka)
|
|
|
+ return false;
|
|
|
+ if (_pid == 8 && particle.GetPt() < Cut_v3_Particle_ptmin_pr)
|
|
|
+ return false;
|
|
|
+ if (_pid == 8 && particle.GetPt() > Cut_v3_Particle_ptmax_pr)
|
|
|
+ return false;
|
|
|
+ if (_pid == 9 && particle.GetPt() < Cut_v3_Particle_ptmin_ne)
|
|
|
+ return false;
|
|
|
+ if (_pid == 9 && particle.GetPt() > Cut_v3_Particle_ptmax_ne)
|
|
|
+ return false;
|
|
|
+
|
|
|
+ Double_t charge = GetCharge(particle.GetPdg());
|
|
|
+ if (charge == error_code)
|
|
|
+ return false;
|
|
|
+ if (charge == 0 && TMath::Abs(particle.GetPdg()) != 2112)
|
|
|
+ return false;
|
|
|
+
|
|
|
+ if (_pid == 0 && charge < 0)
|
|
|
+ return false;
|
|
|
+ if (_pid == 5 && charge > 0)
|
|
|
+ return false;
|
|
|
+
|
|
|
+ return true;
|
|
|
+}
|
|
|
+
|
|
|
+Bool_t qaUtility::Cut_Particle_v4_acceptance(qaParticle *const &particle)
|
|
|
+{
|
|
|
+ if (particle->GetEta() < Cut_v4_Particle_etamin)
|
|
|
+ return false;
|
|
|
+ if (particle->GetEta() > Cut_v4_Particle_etamax)
|
|
|
+ return false;
|
|
|
+ if (particle->GetPt() < Cut_v4_Particle_ptmin)
|
|
|
+ return false;
|
|
|
+ if (particle->GetPt() > Cut_v4_Particle_ptmax)
|
|
|
+ return false;
|
|
|
+
|
|
|
+ Double_t charge = GetCharge(particle->GetPdg());
|
|
|
+ if (charge == error_code)
|
|
|
+ return false;
|
|
|
+ if (charge == 0 && TMath::Abs(particle->GetPdg()) != 2112)
|
|
|
+ return false;
|
|
|
+
|
|
|
+ return true;
|
|
|
+}
|
|
|
+
|
|
|
+Bool_t qaUtility::Cut_Particle_v4_PID_pt(qaParticleLight const &particle, Int_t _pid)
|
|
|
+{
|
|
|
+ if (_pid == -1)
|
|
|
+ return false;
|
|
|
+ if (particle.GetPdg() != vpdg.at(_pid) && _pid != 0 && _pid != 5)
|
|
|
+ return false;
|
|
|
+
|
|
|
+ // PID related kinematics cut
|
|
|
+ Double_t y = 0.5 * TMath::Log((particle.GetEnergy() + particle.GetPz()) / (particle.GetEnergy() - particle.GetPz()));
|
|
|
+ if (_pid == 1 && y < Cut_v4_Particle_ymin_pi)
|
|
|
+ return false;
|
|
|
+ if (_pid == 1 && y > Cut_v4_Particle_ymax_pi)
|
|
|
+ return false;
|
|
|
+ if (_pid == 2 && y < Cut_v4_Particle_ymin_ka)
|
|
|
+ return false;
|
|
|
+ if (_pid == 2 && y > Cut_v4_Particle_ymax_ka)
|
|
|
+ return false;
|
|
|
+ if (_pid == 3 && y < Cut_v4_Particle_ymin_pr)
|
|
|
+ return false;
|
|
|
+ if (_pid == 3 && y > Cut_v4_Particle_ymax_pr)
|
|
|
+ return false;
|
|
|
+ if (_pid == 5 && y < Cut_v4_Particle_ymin_ne)
|
|
|
+ return false;
|
|
|
+ if (_pid == 4 && y > Cut_v4_Particle_ymax_ne)
|
|
|
+ return false;
|
|
|
+ if (_pid == 6 && y < Cut_v4_Particle_ymin_pi)
|
|
|
+ return false;
|
|
|
+ if (_pid == 6 && y > Cut_v4_Particle_ymax_pi)
|
|
|
+ return false;
|
|
|
+ if (_pid == 7 && y < Cut_v4_Particle_ymin_ka)
|
|
|
+ return false;
|
|
|
+ if (_pid == 7 && y > Cut_v4_Particle_ymax_ka)
|
|
|
+ return false;
|
|
|
+ if (_pid == 8 && y < Cut_v4_Particle_ymin_pr)
|
|
|
+ return false;
|
|
|
+ if (_pid == 8 && y > Cut_v4_Particle_ymax_pr)
|
|
|
+ return false;
|
|
|
+ if (_pid == 9 && y < Cut_v4_Particle_ymin_ne)
|
|
|
+ return false;
|
|
|
+ if (_pid == 9 && y > Cut_v4_Particle_ymax_ne)
|
|
|
+ return false;
|
|
|
+
|
|
|
+ Double_t charge = GetCharge(particle.GetPdg());
|
|
|
+ if (charge == error_code)
|
|
|
+ return false;
|
|
|
+ if (charge == 0 && TMath::Abs(particle.GetPdg()) != 2112)
|
|
|
+ return false;
|
|
|
+
|
|
|
+ if (_pid == 0 && charge < 0)
|
|
|
+ return false;
|
|
|
+ if (_pid == 5 && charge > 0)
|
|
|
+ return false;
|
|
|
+
|
|
|
+ return true;
|
|
|
+}
|
|
|
+
|
|
|
+Bool_t qaUtility::Cut_Particle_v4_PID_y(qaParticleLight const &particle, Int_t _pid)
|
|
|
+{
|
|
|
+ if (_pid == -1)
|
|
|
+ return false;
|
|
|
+ if (particle.GetPdg() != vpdg.at(_pid) && _pid != 0 && _pid != 5)
|
|
|
+ return false;
|
|
|
+
|
|
|
+ // PID related kinematics cut
|
|
|
+ if (_pid == 1 && particle.GetPt() < Cut_v4_Particle_ptmin_pi)
|
|
|
+ return false;
|
|
|
+ if (_pid == 1 && particle.GetPt() > Cut_v4_Particle_ptmax_pi)
|
|
|
+ return false;
|
|
|
+ if (_pid == 2 && particle.GetPt() < Cut_v4_Particle_ptmin_ka)
|
|
|
+ return false;
|
|
|
+ if (_pid == 2 && particle.GetPt() > Cut_v4_Particle_ptmax_ka)
|
|
|
+ return false;
|
|
|
+ if (_pid == 3 && particle.GetPt() < Cut_v4_Particle_ptmin_pr)
|
|
|
+ return false;
|
|
|
+ if (_pid == 3 && particle.GetPt() > Cut_v4_Particle_ptmax_pr)
|
|
|
+ return false;
|
|
|
+ if (_pid == 4 && particle.GetPt() < Cut_v4_Particle_ptmin_ne)
|
|
|
+ return false;
|
|
|
+ if (_pid == 4 && particle.GetPt() > Cut_v4_Particle_ptmax_ne)
|
|
|
+ return false;
|
|
|
+ if (_pid == 6 && particle.GetPt() < Cut_v4_Particle_ptmin_pi)
|
|
|
+ return false;
|
|
|
+ if (_pid == 6 && particle.GetPt() > Cut_v4_Particle_ptmax_pi)
|
|
|
+ return false;
|
|
|
+ if (_pid == 7 && particle.GetPt() < Cut_v4_Particle_ptmin_ka)
|
|
|
return false;
|
|
|
- if (_pid == 5 && particle.GetPt() > Cut_v2_Particle_ptmax_pi)
|
|
|
+ if (_pid == 7 && particle.GetPt() > Cut_v4_Particle_ptmax_ka)
|
|
|
return false;
|
|
|
- if (_pid == 6 && particle.GetPt() < Cut_v2_Particle_ptmin_ka)
|
|
|
+ if (_pid == 8 && particle.GetPt() < Cut_v4_Particle_ptmin_pr)
|
|
|
return false;
|
|
|
- if (_pid == 6 && particle.GetPt() > Cut_v2_Particle_ptmax_ka)
|
|
|
+ if (_pid == 8 && particle.GetPt() > Cut_v4_Particle_ptmax_pr)
|
|
|
return false;
|
|
|
- if (_pid == 7 && particle.GetPt() < Cut_v2_Particle_ptmin_pr)
|
|
|
+ if (_pid == 9 && particle.GetPt() < Cut_v4_Particle_ptmin_ne)
|
|
|
return false;
|
|
|
- if (_pid == 7 && particle.GetPt() > Cut_v2_Particle_ptmax_pr)
|
|
|
+ if (_pid == 9 && particle.GetPt() > Cut_v4_Particle_ptmax_ne)
|
|
|
return false;
|
|
|
|
|
|
Double_t charge = GetCharge(particle.GetPdg());
|
|
|
if (charge == error_code)
|
|
|
return false;
|
|
|
- if (charge == 0)
|
|
|
+ if (charge == 0 && TMath::Abs(particle.GetPdg()) != 2112)
|
|
|
return false;
|
|
|
|
|
|
if (_pid == 0 && charge < 0)
|
|
|
return false;
|
|
|
- if (_pid == 4 && charge > 0)
|
|
|
+ if (_pid == 5 && charge > 0)
|
|
|
return false;
|
|
|
|
|
|
return true;
|
|
@@ -733,12 +1187,16 @@ Int_t qaUtility::GetPdgId(Int_t pdg)
|
|
|
return 2;
|
|
|
if (pdg == vpdg.at(3))
|
|
|
return 3;
|
|
|
- if (pdg == vpdg.at(5))
|
|
|
- return 5;
|
|
|
+ if (pdg == vpdg.at(4))
|
|
|
+ return 4;
|
|
|
if (pdg == vpdg.at(6))
|
|
|
return 6;
|
|
|
if (pdg == vpdg.at(7))
|
|
|
return 7;
|
|
|
+ if (pdg == vpdg.at(8))
|
|
|
+ return 8;
|
|
|
+ if (pdg == vpdg.at(9))
|
|
|
+ return 9;
|
|
|
return -1;
|
|
|
}
|
|
|
|