7 bool does_file_exist(
const char *fileName)
12 return static_cast<bool>(std::ifstream(fileName));
20 int GetVolumneId(
int ixx,
int iyy,
int ixx_MAX)
22 return ixx + (iyy - 1) * ixx_MAX;
30 std::vector<int> GetPPtFromVolumeId(
int volumeID,
int ixx_MAX,
bool debug =
false)
32 int ipt = (int)volumeID/(
int)ixx_MAX + 1;
33 int ipp = volumeID % ixx_MAX;
41 if (debug ==
true) cerr<<
"Verify (ipp, ipt) = "<<ipp<<
", "<<ipt<<endl;
43 std::vector<int> ipp_ipt = {ipp, ipt};
52 void printVector(
const vector<int> &v)
56 std::cout << x <<
", ";
66 bool IsInRange(
const double &p,
const double &v1,
const double &v2)
78 bool IsCleanDeuteronCandidate(
const double &momentum,
const double &pT,
const double &massSQ,
const double &dEdx)
83 if (momentum >= 12.0 || momentum <= 4.0)
86 const double massSQD = 3.52;
87 const double massSQD_min = 0.95*massSQD;
88 const double massSQD_max = 1.05*massSQD;
89 if (massSQ >= massSQD_max || massSQ <= massSQD_min)
92 const double massD = 1.8756;
93 double dEdx_deuteronBB = BetheBlochAntoniMod(momentum/massD);
94 double dEdx_deuteronBB_min = 0.95*dEdx_deuteronBB;
95 double dEdx_deuteronBB_max = 1.05*dEdx_deuteronBB;
96 if (dEdx >= dEdx_deuteronBB_max || dEdx <= dEdx_deuteronBB_min)