12 #include <TDatabasePDG.h>
13 #include <TLorentzVector.h>
60 bool charged = fabs(pdg->Charge()) > 0.;
81 for (
unsigned i(0); i <
mZones.size(); i++) {
82 if (
mZones.at(i).Contains(prt)) {
97 : mFormula(
"CustomCutFormula",
"0")
101 , Min(-TMath::Infinity())
102 , Max(TMath::Infinity()) {
118 : mFormula(
"CustomCutFormula",
"0")
128 "ERROR! Custom acceptance is not a function of E, p, theta, phi"
131 if (1 ==
dim || 2 ==
dim) {
132 mFormula = TFormula(
"CustomCutFormula", s);
135 "ERROR! Provided custom acceptance is not of dimension 1 or 2."
139 std::cout <<
"Added custom cut " << formula << std::endl;
149 double z = mFormula.Eval(x, y);
150 return z >= Min && z < Max;
161 double phMin,
double phMax,
162 double eMin,
double eMax,
163 double pMin,
double pMax,
164 double ptmin,
double ptmax,
165 double pzmin,
double pzmax)
181 CustomCuts.push_back(cut);
188 if (theta < thetaMin || theta > thetaMax) {
190 }
else if (phi < phiMin || phi > phiMax) {
192 }
else if (prt.
GetE() < EMin || prt.
GetE() > EMax) {
194 }
else if (prt.
GetP() < PMin || prt.
GetP() > PMax) {
196 }
else if (prt.
GetPz() < pZMin || prt.
GetPz() > pZMax) {
198 }
else if (prt.
GetPt() < pTMin || prt.
GetPt() > pTMax) {
203 for (
unsigned j(0); j < CustomCuts.size(); ++j) {
204 if (!CustomCuts.at(j).Contains(prt)) {