Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2024-09-27 07:02:36

0001 //////////////////////////
0002 // Common Particle Functions
0003 // M. Scott 05/2021
0004 //////////////////////////
0005 
0006 #include <cctype>
0007 #include "TH1.h"
0008 
0009 // Returns particle pdgID and mass in [GeV]
0010 std::tuple <int, double> extract_particle_parameters(std::string particle_name) {
0011     if (particle_name == "electron") return std::make_tuple(11,    0.51099895e-3);
0012     if (particle_name == "photon")   return std::make_tuple(22,    0.0);
0013     if (particle_name == "positron") return std::make_tuple(-11,   0.51099895e-3);
0014     if (particle_name == "proton")   return std::make_tuple(2212,  0.938272);
0015     if (particle_name == "muon")     return std::make_tuple(13,    0.1056583745);
0016     if (particle_name == "pi0")      return std::make_tuple(111,   0.1349768);
0017     if (particle_name == "piplus")   return std::make_tuple(211,   0.13957039);
0018     if (particle_name == "piminus")  return std::make_tuple(-211,  0.13957039);
0019 
0020     std::cout << "wrong particle name" << std::endl;
0021     abort();
0022 }
0023 
0024 // Returns Environment Variables
0025 std::string getEnvVar( std::string const & key ){
0026     char * val = getenv( key.c_str() );
0027     return val == NULL ? std::string("") : std::string(val);
0028 }
0029 // Added detetcor name to title
0030 void addDetectorName(std::string name, TH1 * inhist){
0031   std::string newName = inhist -> GetTitle();
0032   for (auto& x : name){
0033     x = toupper(x);
0034   }
0035   inhist -> SetTitle((name + " " + newName).c_str());
0036 }