Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:22:33

0001 #include "RecoTracker/MkFitCore/src/MaterialEffects.h"
0002 
0003 namespace mkfit {
0004 
0005   namespace Config {
0006     // derivation documented in https://indico.cern.ch/event/924564/contributions/3885164/attachments/2097314/
0007     // radiation length array
0008     constexpr float Rl[136] = {
0009         0.018, 0.031, 0.017, 0.023, 0.018, 0.028, 0.021, 0.040, 0.066, 0.039, 0.069, 0.040, 0.103, 0.098, 0.028, 0.038,
0010         0.025, 0.034, 0.037, 0.078, 0.048, 0.064, 0.168, 0.085, 0.144, 0.033, 0.157, 0.078, 0.014, 0.032, 0.052, 0.012,
0011         0.026, 0.038, 0.015, 0.035, 0.061, 0.015, 0.035, 0.043, 0.015, 0.036, 0.033, 0.010, 0.021, 0.022, 0.093, 0.084,
0012         0.100, 0.194, 0.093, 0.108, 0.200, 0.093, 0.084, 0.100, 0.194, 0.093, 0.108, 0.200, 0.038, 0.075, 0.038, 0.075,
0013         0.038, 0.075, 0.038, 0.075, 0.038, 0.075, 0.038, 0.075, 0.039, 0.078, 0.039, 0.078, 0.039, 0.078, 0.039, 0.078,
0014         0.039, 0.078, 0.039, 0.078, 0.046, 0.023, 0.046, 0.023, 0.046, 0.046, 0.023, 0.046, 0.023, 0.046, 0.048, 0.024,
0015         0.048, 0.024, 0.048, 0.048, 0.024, 0.048, 0.024, 0.048, 0.055, 0.027, 0.055, 0.027, 0.055, 0.055, 0.027, 0.055,
0016         0.027, 0.055, 0.043, 0.021, 0.043, 0.043, 0.043, 0.021, 0.043, 0.043, 0.040, 0.020, 0.040, 0.040, 0.040, 0.020,
0017         0.040, 0.040, 0.014, 0.028, 0.028, 0.014, 0.028, 0.028};
0018 
0019     constexpr float Xi[136] = {
0020         0.039e-03, 0.062e-03, 0.029e-03, 0.037e-03, 0.032e-03, 0.049e-03, 0.044e-03, 0.080e-03, 0.147e-03, 0.086e-03,
0021         0.162e-03, 0.092e-03, 0.214e-03, 0.207e-03, 0.062e-03, 0.081e-03, 0.051e-03, 0.068e-03, 0.078e-03, 0.155e-03,
0022         0.110e-03, 0.138e-03, 0.321e-03, 0.166e-03, 0.311e-03, 0.077e-03, 0.371e-03, 0.185e-03, 0.035e-03, 0.069e-03,
0023         0.104e-03, 0.025e-03, 0.051e-03, 0.072e-03, 0.033e-03, 0.069e-03, 0.114e-03, 0.033e-03, 0.071e-03, 0.083e-03,
0024         0.033e-03, 0.073e-03, 0.064e-03, 0.021e-03, 0.043e-03, 0.043e-03, 0.216e-03, 0.209e-03, 0.185e-03, 0.309e-03,
0025         0.216e-03, 0.255e-03, 0.369e-03, 0.216e-03, 0.209e-03, 0.185e-03, 0.309e-03, 0.216e-03, 0.255e-03, 0.369e-03,
0026         0.083e-03, 0.166e-03, 0.083e-03, 0.166e-03, 0.083e-03, 0.166e-03, 0.083e-03, 0.166e-03, 0.083e-03, 0.166e-03,
0027         0.083e-03, 0.166e-03, 0.088e-03, 0.175e-03, 0.088e-03, 0.175e-03, 0.088e-03, 0.175e-03, 0.088e-03, 0.175e-03,
0028         0.088e-03, 0.175e-03, 0.088e-03, 0.175e-03, 0.104e-03, 0.052e-03, 0.104e-03, 0.052e-03, 0.104e-03, 0.104e-03,
0029         0.052e-03, 0.104e-03, 0.052e-03, 0.104e-03, 0.110e-03, 0.055e-03, 0.110e-03, 0.055e-03, 0.110e-03, 0.110e-03,
0030         0.055e-03, 0.110e-03, 0.055e-03, 0.110e-03, 0.130e-03, 0.065e-03, 0.130e-03, 0.065e-03, 0.130e-03, 0.130e-03,
0031         0.065e-03, 0.130e-03, 0.065e-03, 0.130e-03, 0.097e-03, 0.048e-03, 0.097e-03, 0.097e-03, 0.097e-03, 0.048e-03,
0032         0.097e-03, 0.097e-03, 0.089e-03, 0.045e-03, 0.089e-03, 0.089e-03, 0.089e-03, 0.045e-03, 0.089e-03, 0.089e-03,
0033         0.030e-03, 0.061e-03, 0.061e-03, 0.030e-03, 0.061e-03, 0.061e-03};
0034   }  // namespace Config
0035 
0036   MaterialEffects::MaterialEffects() {
0037     for (int zb = 0; zb < Config::nBinsZME; zb++) {
0038       const float zbf = (zb * Config::rangeZME) / Config::nBinsZME;
0039       for (int rb = 0; rb < Config::nBinsRME; rb++) {
0040         const float rbf = (rb * Config::rangeRME) / Config::nBinsRME;
0041         const int detid = getDetId(zbf, rbf);
0042         mRlgridME[zb][rb] = (detid >= 0 ? Config::Rl[detid] : 0.f);
0043         mXigridME[zb][rb] = (detid >= 0 ? Config::Xi[detid] : 0.f);
0044       }
0045     }
0046   }
0047 
0048   namespace Config {
0049     const MaterialEffects materialEff;
0050   }
0051 }  // namespace mkfit