12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- #include <Utility.h>
- #include <TDatabasePDG.h>
- #include <TParticlePDG.h>
- ClassImp(qaUtility);
- qaUtility *qaUtility::fUtility = nullptr;
- ;
- qaUtility::qaUtility() : Nevents(-1),
- debug(0),
- format("mctree")
- {
- }
- qaUtility::~qaUtility()
- {
- }
- qaUtility *qaUtility::GetInstance()
- {
- if (fUtility == nullptr)
- {
- fUtility = new qaUtility();
- }
- return fUtility;
- }
- TChain *qaUtility::initChain(const TString &inputFileName, const char *chainName)
- {
- TChain *chain = new TChain(chainName);
- std::ifstream file(inputFileName.Data());
- std::string line;
- while (std::getline(file, line))
- {
- chain->Add(line.c_str());
- }
- return chain;
- }
- std::vector<Float_t> qaUtility::ParseVector(std::string _input)
- {
- std::vector<Float_t> vB;
- std::istringstream iss(_input);
- std::copy(std::istream_iterator<Float_t>(iss),
- std::istream_iterator<Float_t>(),
- std::back_inserter(vB));
- return vB;
- }
- Double_t qaUtility::GetCharge(Int_t pdg)
- {
- auto particle = (TParticlePDG *)TDatabasePDG::Instance()->GetParticle(pdg);
- if (!particle)
- return error_code;
- return particle->Charge() / 3.;
- }
- Int_t qaUtility::GetPdgId(Int_t pdg)
- {
- if (pdg == vpdg.at(1))
- return 1;
- if (pdg == vpdg.at(2))
- return 2;
- if (pdg == vpdg.at(3))
- return 3;
- 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;
- }
|