Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-11-04 09:11:23

0001 #pragma once
0002 
0003 #include <iostream>
0004 #include <fstream>
0005 #include <string>
0006 #include <TH1D.h>
0007 #include <TH2D.h>
0008 #include <TFile.h>
0009 class Setup{
0010 public:
0011   Setup();
0012   ~Setup();
0013   void HistoInit();
0014   //void Setup(const char* irtRICH, const char* inFile, const char* outFile);
0015   // Setters
0016   void set_irtRICH(const char* det)   { m_IrtRICH =  det;    }
0017   void set_inFile (const char* input) { m_InFile  =  input;  }
0018   void set_outFile(const char* output){ m_OutFile =  output; }
0019   // Getters
0020   const std::string& get_irtRICH() const { return m_IrtRICH; }
0021   const std::string& get_inFile()  const { return m_InFile;  }
0022   const std::string& get_outFile() const { return m_OutFile; }
0023   
0024 private:
0025   std::string m_IrtRICH;
0026   std::string m_InFile;
0027   std::string m_OutFile;
0028 protected:
0029   //////Histogramming
0030   //Vars
0031   std::string m_histName;
0032   std::string m_histTitle;
0033   ///PFRICH (mom & eta)
0034   double m_PLowerPFRICH;
0035   double m_PUpperPFRICH;
0036   double m_ELowerPFRICH;
0037   double m_EUpperPFRICH;
0038   int m_nBinsMomPFRICH;
0039   int m_nBinsEtaPFRICH;
0040   // (Angle and Hits)
0041   int m_nBinsThetaPFRICH;
0042   double m_ThetaLowerPFRICH;
0043   double m_ThetaUpperPFRICH;
0044   double m_nBinsNpePFRICH;
0045   double m_NpeLowerPFRICH;
0046   double m_NpeUpperPFRICH;
0047   ///DRICH (mom & eta)
0048   int m_nBinsMomDRICH;
0049   double m_PLowerDRICH;
0050   double m_PUpperDRICH;
0051   double m_nBinsEtaDRICH;
0052   double m_ELowerDRICH;
0053   double m_EUpperDRICH;
0054   // (Angle and Hits)
0055   int m_nBinsThetaDRICH;
0056   double m_ThetaLowerGasDRICH;
0057   double m_ThetaUpperGasDRICH;
0058   double m_ThetaLowerAerogelDRICH;
0059   double m_ThetaUpperAerogelDRICH;
0060   int m_nBinsNpeDRICH;
0061   double m_NpeLowerDRICH;
0062   double m_NpeUpperDRICH;
0063   //TH1Ds IRT-Parts
0064   std::unique_ptr<TH1D> m_IrtPDG;
0065   std::unique_ptr<TH1D> m_IrtNpe;
0066   std::unique_ptr<TH1D> m_IrtHits;
0067 
0068   //Tracks
0069   std::unique_ptr<TH1D> m_RICH_Mom;
0070   std::unique_ptr<TH1D> m_RICH_Eta;
0071   
0072   //Radiator (Vector of NRadaitors)
0073   std::vector<std::unique_ptr<TH1D>> m_Rad_Theta;
0074   std::vector<std::unique_ptr<TH1D>> m_Rad_Npe;
0075   std::vector<std::unique_ptr<TH1D>> m_Rad_NHits;
0076   //Radiator-Track
0077   std::vector<std::unique_ptr<TH2D>> m_Theta_Mom;
0078   
0079   //OutFile;
0080   std::unique_ptr<TFile> m_OutRootFile;
0081 };