3 #ifndef STJETATODETECTORETA_H
4 #define STJETATODETECTORETA_H
12 : _BEMCy(BEMCy), _EEMCz(EEMCz) { }
15 double operator()(
double eta,
double z)
18 if(fabs(eta) < 1e-5) {
19 if(fabs(z) < 1e-5)
return 0.0;
20 thetaD = atan2(_BEMCy, z);
22 double tanTh =tan(2*atan(exp(-eta)));
23 if(tanTh > 0 && tanTh*(_EEMCz - z) < _BEMCy) {
24 thetaD = atan2(tanTh*(_EEMCz - z), _EEMCz);
26 thetaD = atan2(_BEMCy, (z + _BEMCy/tanTh));
29 double deta = -log(fabs(tan(thetaD/2)));
30 return (thetaD > 0) ? deta : -deta;
40 #endif // STJETATODETECTORETA_H