ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ECCEmRICHFastPIDMap.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file ECCEmRICHFastPIDMap.h
1 // $Id: $
2 
11 #ifndef ECCEmRICHFastPIDMap_H_
12 #define ECCEmRICHFastPIDMap_H_
13 
14 #include "ECCEFastPIDMap.h"
15 
16 #include <string>
17 
18 class TH2F;
19 class TF1;
20 
26 public:
27  // Detectors.push_back( new mRICH(0.00175, 1, 3, mom) ); // 20 psec @ 100 cm
28  ECCEmRICHFastPIDMap(double trackResolution = 0.00175,
29  double incidentAngle = 0.0, double pixS = 3);
30  virtual ~ECCEmRICHFastPIDMap();
31 
33  getFastSmearLogLikelihood(int truth_pid, const double momentum,
34  const double theta) const override;
35 
36  void setThetaAcceptanceMinMax(double min, double max) {
39  }
40 
41 private:
42  double m_acceptanceThetaMin = 2.658; // eta = -1.4;
43  double m_acceptanceThetaMax = 3.04; // eta = -3
44 
45  double getAng(double mass, double mom) const;
46  double getdAng(double mass, double mom) const;
47  double getdAngTrk(double mass, double mom) const;
48  double getNgamma(double t, double mass, double mom) const;
49  double T_Aer(double t, double lam) const;
50  double T_QE(double lam) const;
51 
52  // Physical constants (should come from elsewhere!)
53  double mElectron; // GeV/c^2
54  double mPion; // GeV/c^2
55  double mKaon; // GeV/c^2
56  double mProton; // GeV/c^2
57  double c; // cm/picosecond;
58  double n;
59  double f; // mm
60  double a; // mm
61  double N_gam;
62  double pi;
63  double alpha;
64  double L;
65  double th0;
66 
68 
69  double pLow;
70  double pHigh;
71 };
72 
73 #endif /* ECCEmRICHFastPIDMap_H_ */