File indexing completed on 2024-04-06 12:27:10
0001
0002 #include "MuonSeeddPhiScale.h"
0003
0004
0005 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0006
0007 #include "TFile.h"
0008 #include "TVector3.h"
0009
0010 #include <iostream>
0011 #include <fstream>
0012 #include <map>
0013 #include <utility>
0014 #include <string>
0015 #include <stdio.h>
0016 #include <algorithm>
0017
0018 using namespace std;
0019 using namespace edm;
0020
0021
0022 MuonSeeddPhiScale::MuonSeeddPhiScale(const ParameterSet& pset) {
0023
0024 CSC01_1 = pset.getParameter<std::vector<double> >("CSC_01_1_scale");
0025 CSC12_1 = pset.getParameter<std::vector<double> >("CSC_12_1_scale");
0026 CSC12_2 = pset.getParameter<std::vector<double> >("CSC_12_2_scale");
0027 CSC12_3 = pset.getParameter<std::vector<double> >("CSC_12_3_scale");
0028 CSC13_2 = pset.getParameter<std::vector<double> >("CSC_13_2_scale");
0029 CSC13_3 = pset.getParameter<std::vector<double> >("CSC_13_3_scale");
0030 CSC14_3 = pset.getParameter<std::vector<double> >("CSC_14_3_scale");
0031 CSC23_1 = pset.getParameter<std::vector<double> >("CSC_23_1_scale");
0032 CSC23_2 = pset.getParameter<std::vector<double> >("CSC_23_2_scale");
0033 CSC24_1 = pset.getParameter<std::vector<double> >("CSC_24_1_scale");
0034 CSC34_1 = pset.getParameter<std::vector<double> >("CSC_34_1_scale");
0035
0036 DT12_1 = pset.getParameter<std::vector<double> >("DT_12_1_scale");
0037 DT12_2 = pset.getParameter<std::vector<double> >("DT_12_2_scale");
0038 DT13_1 = pset.getParameter<std::vector<double> >("DT_13_1_scale");
0039 DT13_2 = pset.getParameter<std::vector<double> >("DT_13_2_scale");
0040 DT14_1 = pset.getParameter<std::vector<double> >("DT_14_1_scale");
0041 DT14_2 = pset.getParameter<std::vector<double> >("DT_14_2_scale");
0042 DT23_1 = pset.getParameter<std::vector<double> >("DT_23_1_scale");
0043 DT23_2 = pset.getParameter<std::vector<double> >("DT_23_2_scale");
0044 DT24_1 = pset.getParameter<std::vector<double> >("DT_24_1_scale");
0045 DT24_2 = pset.getParameter<std::vector<double> >("DT_24_2_scale");
0046 DT34_1 = pset.getParameter<std::vector<double> >("DT_34_1_scale");
0047 DT34_2 = pset.getParameter<std::vector<double> >("DT_34_2_scale");
0048
0049 OL1213 = pset.getParameter<std::vector<double> >("OL_1213_0_scale");
0050 OL1222 = pset.getParameter<std::vector<double> >("OL_1222_0_scale");
0051 OL1232 = pset.getParameter<std::vector<double> >("OL_1232_0_scale");
0052 OL2213 = pset.getParameter<std::vector<double> >("OL_2213_0_scale");
0053 OL2222 = pset.getParameter<std::vector<double> >("OL_2222_0_scale");
0054
0055 SMB_10S = pset.getParameter<std::vector<double> >("SMB_10_0_scale");
0056 SMB_11S = pset.getParameter<std::vector<double> >("SMB_11_0_scale");
0057 SMB_12S = pset.getParameter<std::vector<double> >("SMB_12_0_scale");
0058 SMB_20S = pset.getParameter<std::vector<double> >("SMB_20_0_scale");
0059 SMB_21S = pset.getParameter<std::vector<double> >("SMB_21_0_scale");
0060 SMB_22S = pset.getParameter<std::vector<double> >("SMB_22_0_scale");
0061 SMB_30S = pset.getParameter<std::vector<double> >("SMB_30_0_scale");
0062 SMB_31S = pset.getParameter<std::vector<double> >("SMB_31_0_scale");
0063 SMB_32S = pset.getParameter<std::vector<double> >("SMB_32_0_scale");
0064
0065 SME_11S = pset.getParameter<std::vector<double> >("SME_11_0_scale");
0066 SME_12S = pset.getParameter<std::vector<double> >("SME_12_0_scale");
0067 SME_13S = pset.getParameter<std::vector<double> >("SME_13_0_scale");
0068 SME_21S = pset.getParameter<std::vector<double> >("SME_21_0_scale");
0069 SME_22S = pset.getParameter<std::vector<double> >("SME_22_0_scale");
0070 }
0071
0072
0073 MuonSeeddPhiScale::~MuonSeeddPhiScale() {}
0074
0075 void MuonSeeddPhiScale::ScaleCSCdPhi(double dPhiP1[2][5][5], double EtaP1[2][5]) {
0076
0077 if (dPhiP1[1][0][1] != 99.0) {
0078 double oPh = 1. / dPhiP1[0][0][1];
0079 double oPhi = 1. / dPhiP1[1][0][1];
0080 dPhiP1[0][0][1] = dPhiP1[0][0][1] / (1. + (CSC01_1[3] / fabs(oPh + 10.)));
0081 dPhiP1[1][0][1] = dPhiP1[1][0][1] / (1. + (CSC01_1[3] / fabs(oPhi + 10.)));
0082 }
0083
0084 if (dPhiP1[1][0][2] != 99.0 && fabs(EtaP1[1][0]) > 1.6) {
0085 double oPh = 1. / dPhiP1[0][0][2];
0086 double oPhi = 1. / dPhiP1[1][0][2];
0087 dPhiP1[0][0][2] = dPhiP1[0][0][2] / (1. + (CSC12_3[3] / fabs(oPh + 10.)));
0088 dPhiP1[1][0][2] = dPhiP1[1][0][2] / (1. + (CSC12_3[3] / fabs(oPhi + 10.)));
0089 }
0090 if (dPhiP1[1][1][2] != 99.0 && fabs(EtaP1[1][1]) <= 1.6 && fabs(EtaP1[1][0]) > 1.2) {
0091 double oPh = 1. / dPhiP1[0][1][2];
0092 double oPhi = 1. / dPhiP1[1][1][2];
0093 dPhiP1[0][1][2] = dPhiP1[0][1][2] / (1. + (CSC12_2[3] / fabs(oPh + 10.)));
0094 dPhiP1[1][1][2] = dPhiP1[1][1][2] / (1. + (CSC12_2[3] / fabs(oPhi + 10.)));
0095 }
0096 if (dPhiP1[1][1][2] != 99.0 && fabs(EtaP1[1][1]) <= 1.2) {
0097 double oPh = 1. / dPhiP1[0][1][2];
0098 double oPhi = 1. / dPhiP1[1][1][2];
0099 dPhiP1[0][1][2] = dPhiP1[0][1][2] / (1. + (CSC12_1[3] / fabs(oPh + 10.)));
0100 dPhiP1[1][1][2] = dPhiP1[1][1][2] / (1. + (CSC12_1[3] / fabs(oPhi + 10.)));
0101 }
0102
0103 if (dPhiP1[1][0][3] != 99.0) {
0104 double oPh = 1. / dPhiP1[0][0][3];
0105 double oPhi = 1. / dPhiP1[1][0][3];
0106 dPhiP1[0][0][3] = dPhiP1[0][0][3] / (1. + (CSC13_3[3] / fabs(oPh + 10.)));
0107 dPhiP1[1][0][3] = dPhiP1[1][0][3] / (1. + (CSC13_3[3] / fabs(oPhi + 10.)));
0108 }
0109 if (dPhiP1[1][1][3] != 99.0) {
0110 double oPh = 1. / dPhiP1[0][1][3];
0111 double oPhi = 1. / dPhiP1[1][1][3];
0112 dPhiP1[0][1][3] = dPhiP1[0][1][3] / (1. + (CSC13_2[3] / fabs(oPh + 10.)));
0113 dPhiP1[1][1][3] = dPhiP1[1][1][3] / (1. + (CSC13_2[3] / fabs(oPhi + 10.)));
0114 }
0115
0116 if (dPhiP1[1][0][4] != 99.0) {
0117 double oPh = 1. / dPhiP1[0][0][4];
0118 double oPhi = 1. / dPhiP1[1][0][4];
0119 dPhiP1[0][0][4] = dPhiP1[0][0][4] / (1. + (CSC14_3[3] / fabs(oPh + 10.)));
0120 dPhiP1[1][0][4] = dPhiP1[1][0][4] / (1. + (CSC14_3[3] / fabs(oPhi + 10.)));
0121 }
0122 if (dPhiP1[1][1][4] != 99.0) {
0123 double oPh = 1. / dPhiP1[0][1][4];
0124 double oPhi = 1. / dPhiP1[1][1][4];
0125 dPhiP1[0][1][4] = dPhiP1[0][1][4] / (1. + (CSC14_3[3] / fabs(oPh + 10.)));
0126 dPhiP1[1][1][4] = dPhiP1[1][1][4] / (1. + (CSC14_3[3] / fabs(oPhi + 10.)));
0127 }
0128
0129 if (dPhiP1[1][2][3] != 99.0 && fabs(EtaP1[1][2]) > 1.7) {
0130 double oPh = 1. / dPhiP1[0][2][3];
0131 double oPhi = 1. / dPhiP1[1][2][3];
0132 dPhiP1[0][2][3] = dPhiP1[0][2][3] / (1. + (CSC23_2[3] / fabs(oPh + 10.)));
0133 dPhiP1[1][2][3] = dPhiP1[1][2][3] / (1. + (CSC23_2[3] / fabs(oPhi + 10.)));
0134 }
0135 if (dPhiP1[1][2][3] != 99.0 && fabs(EtaP1[1][2]) <= 1.7) {
0136 double oPh = 1. / dPhiP1[0][2][3];
0137 double oPhi = 1. / dPhiP1[1][2][3];
0138 dPhiP1[0][2][3] = dPhiP1[0][2][3] / (1. + (CSC23_1[3] / fabs(oPh + 10.)));
0139 dPhiP1[1][2][3] = dPhiP1[1][2][3] / (1. + (CSC23_1[3] / fabs(oPhi + 10.)));
0140 }
0141
0142 if (dPhiP1[1][2][4] != 99.0) {
0143 double oPh = 1. / dPhiP1[0][2][4];
0144 double oPhi = 1. / dPhiP1[1][2][4];
0145 dPhiP1[0][2][4] = dPhiP1[0][2][4] / (1. + (CSC24_1[3] / fabs(oPh + 10.)));
0146 dPhiP1[1][2][4] = dPhiP1[1][2][4] / (1. + (CSC24_1[3] / fabs(oPhi + 10.)));
0147 }
0148 if (dPhiP1[1][3][4] != 99.0) {
0149 double oPh = 1. / dPhiP1[0][3][4];
0150 double oPhi = 1. / dPhiP1[1][3][4];
0151 dPhiP1[0][3][4] = dPhiP1[0][3][4] / (1. + (CSC34_1[3] / fabs(oPh + 10.)));
0152 dPhiP1[1][3][4] = dPhiP1[1][3][4] / (1. + (CSC34_1[3] / fabs(oPhi + 10.)));
0153 }
0154 }
0155
0156 void MuonSeeddPhiScale::ScaleDTdPhi(double dPhiP3[2][5][5], double EtaP3[2][5]) {
0157
0158
0159 if (dPhiP3[1][1][2] != 99.0 && fabs(EtaP3[1][1]) <= 0.7) {
0160 double oPh = 1. / dPhiP3[0][1][2];
0161 double oPhi = 1. / dPhiP3[1][1][2];
0162 dPhiP3[0][1][2] = dPhiP3[0][1][2] / (1. + (DT12_1[3] / fabs(oPh + 10.)));
0163 dPhiP3[1][1][2] = dPhiP3[1][1][2] / (1. + (DT12_1[3] / fabs(oPhi + 10.)));
0164 }
0165 if (dPhiP3[1][1][2] != 99.0 && fabs(EtaP3[1][1]) > 0.7) {
0166 double oPh = 1. / dPhiP3[0][1][2];
0167 double oPhi = 1. / dPhiP3[1][1][2];
0168 dPhiP3[0][1][2] = dPhiP3[0][1][2] / (1. + (DT12_2[3] / fabs(oPh + 10.)));
0169 dPhiP3[1][1][2] = dPhiP3[1][1][2] / (1. + (DT12_2[3] / fabs(oPhi + 10.)));
0170 }
0171
0172 if (dPhiP3[1][1][3] != 99.0 && fabs(EtaP3[1][1]) <= 0.6) {
0173 double oPh = 1. / dPhiP3[0][1][3];
0174 double oPhi = 1. / dPhiP3[1][1][3];
0175 dPhiP3[0][1][3] = dPhiP3[0][1][3] / (1. + (DT13_1[3] / fabs(oPh + 10.)));
0176 dPhiP3[1][1][3] = dPhiP3[1][1][3] / (1. + (DT13_1[3] / fabs(oPhi + 10.)));
0177 }
0178 if (dPhiP3[1][1][3] != 99.0 && fabs(EtaP3[1][1]) > 0.6) {
0179 double oPh = 1. / dPhiP3[0][1][3];
0180 double oPhi = 1. / dPhiP3[1][1][3];
0181 dPhiP3[0][1][3] = dPhiP3[0][1][3] / (1. + (DT13_2[3] / fabs(oPh + 10.)));
0182 dPhiP3[1][1][3] = dPhiP3[1][1][3] / (1. + (DT13_2[3] / fabs(oPhi + 10.)));
0183 }
0184
0185 if (dPhiP3[1][1][4] != 99.0 && fabs(EtaP3[1][1]) <= 0.52) {
0186 double oPh = 1. / dPhiP3[0][1][4];
0187 double oPhi = 1. / dPhiP3[1][1][4];
0188 dPhiP3[0][1][4] = dPhiP3[0][1][4] / (1. + (DT14_1[3] / fabs(oPh + 10.)));
0189 dPhiP3[1][1][4] = dPhiP3[1][1][4] / (1. + (DT14_1[3] / fabs(oPhi + 10.)));
0190 }
0191 if (dPhiP3[1][1][4] != 99.0 && fabs(EtaP3[1][1]) > 0.52) {
0192 double oPh = 1. / dPhiP3[0][1][4];
0193 double oPhi = 1. / dPhiP3[1][1][4];
0194 dPhiP3[0][1][4] = dPhiP3[0][1][4] / (1. + (DT14_2[3] / fabs(oPh + 10.)));
0195 dPhiP3[1][1][4] = dPhiP3[1][1][4] / (1. + (DT14_2[3] / fabs(oPhi + 10.)));
0196 }
0197
0198 if (dPhiP3[1][2][3] != 99.0 && fabs(EtaP3[1][2]) <= 0.6) {
0199 double oPh = 1. / dPhiP3[0][2][3];
0200 double oPhi = 1. / dPhiP3[1][2][3];
0201 dPhiP3[0][2][3] = dPhiP3[0][2][3] / (1. + (DT23_1[3] / fabs(oPh + 10.)));
0202 dPhiP3[1][2][3] = dPhiP3[1][2][3] / (1. + (DT23_1[3] / fabs(oPhi + 10.)));
0203 }
0204 if (dPhiP3[1][2][3] != 99.0 && fabs(EtaP3[1][2]) > 0.6) {
0205 double oPh = 1. / dPhiP3[0][2][3];
0206 double oPhi = 1. / dPhiP3[1][2][3];
0207 dPhiP3[0][2][3] = dPhiP3[0][2][3] / (1. + (DT23_2[3] / fabs(oPh + 10.)));
0208 dPhiP3[1][2][3] = dPhiP3[1][2][3] / (1. + (DT23_2[3] / fabs(oPhi + 10.)));
0209 }
0210
0211 if (dPhiP3[1][2][4] != 99.0 && fabs(EtaP3[1][2]) <= 0.52) {
0212 double oPh = 1. / dPhiP3[0][2][4];
0213 double oPhi = 1. / dPhiP3[1][2][4];
0214 dPhiP3[0][2][4] = dPhiP3[0][2][4] / (1. + (DT24_1[3] / fabs(oPh + 10.)));
0215 dPhiP3[1][2][4] = dPhiP3[1][2][4] / (1. + (DT24_1[3] / fabs(oPhi + 10.)));
0216 }
0217 if (dPhiP3[1][2][4] != 99.0 && fabs(EtaP3[1][2]) > 0.52) {
0218 double oPh = 1. / dPhiP3[0][2][4];
0219 double oPhi = 1. / dPhiP3[1][2][4];
0220 dPhiP3[0][2][4] = dPhiP3[0][2][4] / (1. + (DT24_2[3] / fabs(oPh + 10.)));
0221 dPhiP3[1][2][4] = dPhiP3[1][2][4] / (1. + (DT24_2[3] / fabs(oPhi + 10.)));
0222 }
0223
0224 if (dPhiP3[1][3][4] != 99.0 && fabs(EtaP3[1][3]) <= 0.51) {
0225 double oPh = 1. / dPhiP3[0][3][4];
0226 double oPhi = 1. / dPhiP3[1][3][4];
0227 dPhiP3[0][3][4] = dPhiP3[0][3][4] / (1. + (DT34_1[3] / fabs(oPh + 10.)));
0228 dPhiP3[1][3][4] = dPhiP3[1][3][4] / (1. + (DT34_1[3] / fabs(oPhi + 10.)));
0229 }
0230 if (dPhiP3[1][3][4] != 99.0 && fabs(EtaP3[1][3]) > 0.51) {
0231 double oPh = 1. / dPhiP3[0][3][4];
0232 double oPhi = 1. / dPhiP3[1][3][4];
0233 dPhiP3[0][3][4] = dPhiP3[0][3][4] / (1. + (DT34_2[3] / fabs(oPh + 10.)));
0234 dPhiP3[1][3][4] = dPhiP3[1][3][4] / (1. + (DT34_2[3] / fabs(oPhi + 10.)));
0235 }
0236 }
0237
0238 void MuonSeeddPhiScale::ScaleOLdPhi(double dPhiP2[2][5][5], bool MBPath[2][5][3], bool MEPath[2][5][4]) {
0239 if (MBPath[1][1][2] && MEPath[1][1][3]) {
0240 double oPh = 1. / dPhiP2[0][1][1];
0241 double oPhi = 1. / dPhiP2[1][1][1];
0242 dPhiP2[0][1][1] = dPhiP2[0][1][1] / (1. + (OL1213[3] / fabs(oPh + 10.)));
0243 dPhiP2[1][1][1] = dPhiP2[1][1][1] / (1. + (OL1213[3] / fabs(oPhi + 10.)));
0244 }
0245 if (MBPath[1][1][2] && MEPath[1][2][2]) {
0246 double oPh = 1. / dPhiP2[0][1][2];
0247 double oPhi = 1. / dPhiP2[1][1][2];
0248 dPhiP2[0][1][2] = dPhiP2[0][1][2] / (1. + (OL1222[3] / fabs(oPh + 10.)));
0249 dPhiP2[1][1][2] = dPhiP2[1][1][2] / (1. + (OL1222[3] / fabs(oPhi + 10.)));
0250 }
0251 if (MBPath[1][1][2] && MEPath[1][3][2]) {
0252 double oPh = 1. / dPhiP2[0][1][3];
0253 double oPhi = 1. / dPhiP2[1][1][3];
0254 dPhiP2[0][1][3] = dPhiP2[0][1][3] / (1. + (OL1232[3] / fabs(oPh + 10.)));
0255 dPhiP2[1][1][3] = dPhiP2[1][1][3] / (1. + (OL1232[3] / fabs(oPhi + 10.)));
0256 }
0257 if (MBPath[1][2][2] && MEPath[1][1][3]) {
0258 double oPh = 1. / dPhiP2[0][2][1];
0259 double oPhi = 1. / dPhiP2[1][2][1];
0260 dPhiP2[0][2][1] = dPhiP2[0][2][1] / (1. + (OL2213[3] / fabs(oPh + 10.)));
0261 dPhiP2[1][2][1] = dPhiP2[1][2][1] / (1. + (OL2213[3] / fabs(oPhi + 10.)));
0262 }
0263 if (MBPath[1][2][2] && MEPath[1][2][2]) {
0264 double oPh = 1. / dPhiP2[0][2][2];
0265 double oPhi = 1. / dPhiP2[1][2][2];
0266 dPhiP2[0][2][2] = dPhiP2[0][2][2] / (1. + (OL2222[3] / fabs(oPh + 10.)));
0267 dPhiP2[1][2][2] = dPhiP2[1][2][1] / (1. + (OL2222[3] / fabs(oPhi + 10.)));
0268 }
0269 }
0270
0271 void MuonSeeddPhiScale::ScaleMESingle(double ME_phi[2][5][4], bool MEPath[2][5][4]) {
0272 if (MEPath[1][0][1] && MEPath[0][0][1]) {
0273 double oPh = 1. / ME_phi[0][0][1];
0274 double oPhi = 1. / ME_phi[1][0][1];
0275 ME_phi[0][0][1] = ME_phi[0][0][1] / (1. + (SME_11S[3] / fabs(oPh + 10.)));
0276 ME_phi[1][0][1] = ME_phi[1][0][1] / (1. + (SME_11S[3] / fabs(oPhi + 10.)));
0277 }
0278 if (MEPath[1][1][2] && MEPath[0][1][2]) {
0279 double oPh = 1. / ME_phi[0][1][2];
0280 double oPhi = 1. / ME_phi[1][1][2];
0281 ME_phi[0][1][2] = ME_phi[0][1][2] / (1. + (SME_12S[3] / fabs(oPh + 10.)));
0282 ME_phi[1][1][2] = ME_phi[1][1][2] / (1. + (SME_12S[3] / fabs(oPhi + 10.)));
0283 }
0284 if (MEPath[1][1][3] && MEPath[0][1][3]) {
0285 double oPh = 1. / ME_phi[0][1][3];
0286 double oPhi = 1. / ME_phi[1][1][3];
0287 ME_phi[0][1][3] = ME_phi[0][1][3] / (1. + (SME_13S[3] / fabs(oPh + 10.)));
0288 ME_phi[1][1][3] = ME_phi[1][1][3] / (1. + (SME_13S[3] / fabs(oPhi + 10.)));
0289 }
0290 if (MEPath[1][2][1] && MEPath[0][2][1]) {
0291 double oPh = 1. / ME_phi[0][2][1];
0292 double oPhi = 1. / ME_phi[1][2][1];
0293 ME_phi[0][2][1] = ME_phi[0][2][1] / (1. + (SME_21S[3] / fabs(oPh + 10.)));
0294 ME_phi[1][2][1] = ME_phi[1][2][1] / (1. + (SME_21S[3] / fabs(oPhi + 10.)));
0295 }
0296 if (MEPath[1][2][2] && MEPath[0][2][2]) {
0297 double oPh = 1. / ME_phi[0][2][2];
0298 double oPhi = 1. / ME_phi[1][2][2];
0299 ME_phi[0][2][2] = ME_phi[0][2][2] / (1. + (SME_22S[3] / fabs(oPh + 10.)));
0300 ME_phi[1][2][2] = ME_phi[1][2][2] / (1. + (SME_22S[3] / fabs(oPhi + 10.)));
0301 }
0302 }
0303
0304 void MuonSeeddPhiScale::ScaleMBSingle(double MB_phi[2][5][3], bool MBPath[2][5][3]) {
0305 if (MBPath[1][1][0] && MBPath[0][1][0]) {
0306 double oPh = 1. / MB_phi[0][1][0];
0307 double oPhi = 1. / MB_phi[1][1][0];
0308 MB_phi[0][1][0] = MB_phi[0][1][0] / (1. + (SMB_10S[3] / fabs(oPh + 10.)));
0309 MB_phi[1][1][0] = MB_phi[1][1][0] / (1. + (SMB_10S[3] / fabs(oPhi + 10.)));
0310 }
0311 if (MBPath[1][1][1] && MBPath[0][1][1]) {
0312 double oPh = 1. / MB_phi[0][1][1];
0313 double oPhi = 1. / MB_phi[1][1][1];
0314 MB_phi[0][1][1] = MB_phi[0][1][1] / (1. + (SMB_11S[3] / fabs(oPh + 10.)));
0315 MB_phi[1][1][1] = MB_phi[1][1][1] / (1. + (SMB_11S[3] / fabs(oPhi + 10.)));
0316 }
0317 if (MBPath[1][1][2] && MBPath[0][1][2]) {
0318 double oPh = 1. / MB_phi[0][1][2];
0319 double oPhi = 1. / MB_phi[1][1][2];
0320 MB_phi[0][1][2] = MB_phi[0][1][2] / (1. + (SMB_12S[3] / fabs(oPh + 10.)));
0321 MB_phi[1][1][2] = MB_phi[1][1][2] / (1. + (SMB_12S[3] / fabs(oPhi + 10.)));
0322 }
0323 if (MBPath[1][2][0] && MBPath[0][2][0]) {
0324 double oPh = 1. / MB_phi[0][2][0];
0325 double oPhi = 1. / MB_phi[1][2][0];
0326 MB_phi[0][2][0] = MB_phi[0][2][0] / (1. + (SMB_20S[3] / fabs(oPh + 10.)));
0327 MB_phi[1][2][0] = MB_phi[1][2][0] / (1. + (SMB_20S[3] / fabs(oPhi + 10.)));
0328 }
0329 if (MBPath[1][2][1] && MBPath[0][2][1]) {
0330 double oPh = 1. / MB_phi[0][2][1];
0331 double oPhi = 1. / MB_phi[1][2][1];
0332 MB_phi[0][2][1] = MB_phi[0][2][1] / (1. + (SMB_21S[3] / fabs(oPh + 10.)));
0333 MB_phi[1][2][1] = MB_phi[1][2][1] / (1. + (SMB_21S[3] / fabs(oPhi + 10.)));
0334 }
0335 if (MBPath[1][2][2] && MBPath[0][2][2]) {
0336 double oPh = 1. / MB_phi[0][2][2];
0337 double oPhi = 1. / MB_phi[1][2][2];
0338 MB_phi[0][2][2] = MB_phi[0][2][2] / (1. + (SMB_22S[3] / fabs(oPh + 10.)));
0339 MB_phi[1][2][2] = MB_phi[1][2][2] / (1. + (SMB_22S[3] / fabs(oPhi + 10.)));
0340 }
0341 if (MBPath[1][3][0] && MBPath[0][3][0]) {
0342 double oPh = 1. / MB_phi[0][3][0];
0343 double oPhi = 1. / MB_phi[1][3][0];
0344 MB_phi[0][3][0] = MB_phi[0][3][0] / (1. + (SMB_30S[3] / fabs(oPh + 10.)));
0345 MB_phi[1][3][0] = MB_phi[1][3][0] / (1. + (SMB_30S[3] / fabs(oPhi + 10.)));
0346 }
0347 if (MBPath[1][3][1] && MBPath[0][3][1]) {
0348 double oPh = 1. / MB_phi[0][3][1];
0349 double oPhi = 1. / MB_phi[1][3][1];
0350 MB_phi[0][3][1] = MB_phi[0][3][1] / (1. + (SMB_31S[3] / fabs(oPh + 10.)));
0351 MB_phi[1][3][1] = MB_phi[1][3][1] / (1. + (SMB_31S[3] / fabs(oPhi + 10.)));
0352 }
0353 if (MBPath[1][3][2] && MBPath[0][3][2]) {
0354 double oPh = 1. / MB_phi[0][3][2];
0355 double oPhi = 1. / MB_phi[1][3][2];
0356 MB_phi[0][3][2] = MB_phi[0][3][2] / (1. + (SMB_32S[3] / fabs(oPh + 10.)));
0357 MB_phi[1][3][2] = MB_phi[1][3][2] / (1. + (SMB_32S[3] / fabs(oPhi + 10.)));
0358 }
0359 }