14 std::string
fname =
"FastSimulation/ParamL3MuonProducer/data/efficiencyGL_TK.data";
15 std::string
path(getenv(
"CMSSW_SEARCH_PATH"));
19 std::cout <<
"File efficiencyGL_TK.data not found in " << path << std::endl;
20 throw Genexception(
" efficiency list not found for FMGLfromTKEfficiencyHandler.");
24 std::ifstream & listfile = *
f1();
30 std::cout <<
" *** ERROR -> FMGLfromTKEfficiencyHandler : nEta bins " << nent <<
" instead of " <<
nEtaBins << std::endl;
54 double myEffEta=0. , myEffPt=0. , myCorrection=1. , myEff;
59 int iEtaBin = (int) ( (eta/2.40) *
nEtaBins);
66 if (pt>40.) myEffPt = 0.9583 - pt*5.82726e-05;
68 else if (pt>4.0) myEffPt = 0.952*(1.-
sqrt(
exp(-(pt-3.2))));
73 if (pt>173.) myEffPt = 0.991 - pt*3.46562e-05;
75 else if (pt>3.0) myEffPt = 0.985*(1.-
sqrt(
exp(-(pt-2.4))));
80 if (pt>26.) myEffPt = 0.9221 - pt*7.75139e-05;
81 else if (pt>3.00) myEffPt = 0.927*(1.-
exp(-
sqrt(pt-1.617)));
131 myEff = myEffEta*myEffPt*myCorrection;
134 return (myEff > prob) ;
FMGLfromTKEfficiencyHandler(const RandomEngine *engine)
Exp< T >::type exp(const T &t)
bool kill(const SimTrack &)
float Effic_Eta[nEtaBins]
static const int nEtaBins
~FMGLfromTKEfficiencyHandler()
const RandomEngine * random
double flatShoot(double xmin=0.0, double xmax=1.0) const
const String & name() const
return full name
const math::XYZTLorentzVectorD & momentum() const
particle info...